Session 3 Preparation: Videos/Reading, Start-the-Session Quiz, and Start-the-Session Follow-Me
Videos / Reading

BEFORE this session's scheduled class time, for each of the following videos or reading:

  • Step 1:   Watch the video (or read the reading).
  • Step 2:   As you do so, do the associated quiz in Moodle.
  • Step 3:   Get help on anything that is not clear to you.

Videos / Reading:

  1. Preparation from Session 2:
  2. Coding to a Specification: Video [4:23]
    • You will apply the ideas of this video in all subsequent exercises in this class (and beyond).
  3. 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.
  4. 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.
  5. 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. **
  6. 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.
  7. The Accumulator Pattern: Summing: Video [7:32 minutes]
  8. 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.
  9. 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.
  10. 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.
Start-the-Session Quiz

AFTER completing the Preparation to the left:

  • Step 1:   Do this Start-the-Session Quiz.
    • You do not have to print the quiz (unless you want to).
    • Just hand-write your answers on paper or type your answers into a file, whichever is easier for you.
  • Step 2:   Check your own answers by watching the videos listed below.
    • Of course, do the quiz BEFORE checking its answers!
    • Check your answers carefully!
  • Step 3:   Turn in your answers to the Before-the-Session Quiz in the usual way, on Moodle, via the item named Turn in your Before-the-Session Quiz here.
  • Step 4:   Get help on anything that is not clear to you.

Videos with solutions to the Start-the-Session Quiz:

  1. Solutions to the Start-the-Session Quiz: Video [30:25]

For your reference, here is a written Answer Key to the above Start-the-Session Quiz.

Start-the-Session Follow-Me

AFTER completing the Start-the-Session Quiz to the left:

  • Step 1:   Use this link to your Session 3 assignment on GitHub Classroom, following the same instructions that you used to get the Session 2 project into PyCharm, but using the above link instead of the one to Session 2 project.
  • Step 2:   Watch the Follow-Me videos listed below, and as you watch each one:
  • Step 3:   Do the coding in PyCharm, following what you see on the video.
    • You can do the coding as the video does it or by reviewing the video afterwards (your choice).
    • The key is to UNDERSTAND what you are coding, not merely type what the video shows.

Follow-Me videos:

  1. For module m2r_using_rosegraphics: Video [14:01]
    • You can do this Follow-Me before class or during class -- your choice.
      • If you choose to do it before class: When you get ready to do the m8_using_objects exercise during class, review this video briefly so that this video's material is fresh in your mind when you do the m8_using_objects exercise.
  2. For module m3r_unit_testing: Video [10:24]
    • You can do this Follow-Me before class or during class -- your choice.
      • If you choose to do it before class: When you get ready to do the m4_calling_functions_returning_values exercise during class, review this video briefly so that this video's material is fresh in your mind when you do the m4_calling_functions_returning_values exercise.