Session 3 Preparation
1. Videos/Reading with Quizzes in Moodle

Do all the items on this Preparation page BEFORE this session's scheduled class time.

  1. Coding to a Specification: Video [4:23]
  2. Functions with Parameters and Returned Values: Reading
    • Read this important explanation carefully!
    • It reinforces what you saw previously in a video on functions.
    • BRING your QUESTIONS about it to class.
  3. Scope and Namespaces: Reading
    • Don't worry if some of its ideas are confusing to you. The NEXT item (a video) should clear up your confusion.
  4. Thinking Like a Computer: Namespaces, Parameters, and Returns: Video [5:22]
    • Developed and narrated by Valerie Galluzzi.
    • Code (from the video, for your reference)
    • The contents of this video are critical to your success in this course. Be sure that all of this video is crystal clear to you, and if not, ** BRING YOUR QUESTIONS ABOUT IT TO CLASS. **
  5. Counted Loops (using FOR loops with RANGE expressions): Reading
    • Read this important explanation carefully!
    • Study the examples in it. BRING your QUESTIONS about it to class.
  6. The Accumulator Pattern: Summing: Video [7:32]
  7. What is Unit Testing?: Reading
    • The Moodle quiz on this item also covers the next item. So just continue to the next item to continue that Moodle quiz when you get to questions that you think the next video will address.
    • This excellent explanation is taken from Unit Testing chapter of Software Testing Fundamentals.
  8. Why Do Unit Testing?: Reading.
    • The Moodle quiz on this item is combined with the Moodle quiz on the previous item. That is, the Moodle quiz covers both the previous item (What is Unit Testing?) and this item (Why Do Unit Testing?).
    • This reading is from a question on StackOverflow.
    • Stack Overflow is a TERRIFIC resource for all sorts of questions about software development and more. You can almost always trust its answers, or at least let them point you the right direction.
  9. Test-First Programming: Reading
    • Follow the above link to read the page at the link, but you do not have to follow the links on that page to other pages.
    • OPTIONAL reading: Test-First Programming was first popularized as part of Extreme Programming, from which the above is taken.
    • OPTIONAL reading: Test-First Programming (a subset of Test-Driven Programming, TDD) is widely used in Agile Software Development Processes, as described at length in this optional Agile 101 article.
2. Preparation-Summary Quiz

AFTER doing all the Videos / Reading to the left, along with their associated quizzes in Moodle:

3. Get the starting code

Clone the following into PyCharm, using the standard instructions for getting the Starting Code.