GCTAA Logo

Governor's Career & Technical Academy Arlington

Introduction to Computer Science: Week 7


Overview

We will start Tuesday with a check-in on your progress toward mastering the basic TDD process, including looking at the exercises in your git repo. The rest of Tuesday including homework will be spent on that.

On Thursday we will apply what we learned and use TDD to begin creating a Python class to represent polynomials.

Thursday, February 20th

Classwork / Homework

Our task is to write some user stories about a software module we want to create to represent and perform mathematical operations on polynomials of a single indeterminate.

We will start today by watching a video presentation by Uncle Bob that is part of his Clean Code series. After watching the video, you can use the remaining 30 minutes of class to begin on your homework, which is work with your partner to do the following:

  1. Research the term agile software development in some depth.
  2. Research the term user story as it relates to software development.
  3. Research and define the term polynomial of a single indeterminate.
  4. Think about how a Python module that did math on polynomials should work. How will polynomials be represented (both as input and as output)? How would the user (a programmer using the library) make use of them?
  5. Prepare a 10 to 15 minute presentation for Monday's class that presents the results of your investigation.

Evaluation

You will be evaluated based on the quality and completeness of your presentation.

Tuesday, February 18th

Classwork / Homework

We will confirm that you have a link in your csc200 repository to your shared tddexperiments repo, and that you have been using the unittest module to write tests.

Then we will have class time and homework time to complete the exercises from last week.

Evaluation

You will be evaluated on your git repo, which should show a clear TDD progression, with tests added first to the test file and then code being added to the python module to make the tests pass. You should be using the unittest module to write your tests.