SCHEDULE OVERVIEW

The schedule for this class closely follows the structure of the required textbook, "Starting Out with Python." We'll start with a high-level discussion of how computers work, then begin digging into a range of programming concepts. Most classes will combine lecture-style instruction with hands-on class exercises when you'll "learn by doing". Therefore, be sure to bring your laptop to class each day.

Below you'll find a TENTATIVE schedule for the semester. Please note that all topics/dates/etc. are subject to change at any time. I fully expect to make adjustments multiple times over the course of the semester.

Most course readings are from the required textbook "Starting Out With Python", which is referenced as SOWP throughout the schedule. TENTATIVE schedule for the semester. Please note that all topics/dates/etc. are subject to change at any time. I fully expect to make adjustments multiple times over the course of the semester.

Attention:

The schedule includes readings and exercises that are assigned as preparation for each class. These assignments (shown with a thick gray bar in the schedule) should be completed PRIOR to the start of the corresponding class.

While ungraded, this preparation is essential for your success in this course. It will provide you with a foundation that we will build upon in class through both lectures and hands-on exercises, both of which are designed with the assumption that you will have completed the assigned preparation tasks. In addition, it will help you gain the knowledge and skills you need to complete your programming assignments. Finally, the material covered in these pre-class assignments will be potential topics for exam questions.

 

DETAILED SCHEDULE

January
11Lecture 1Course Overview
Envirionment Setup
•Watch "What Most Schools Don't Teach" from Code.org
•Read "Why Coding Is Still The Most Important Job Skill Of The Future" from Fast Company
•Watch "Libraries Ready to Code" from the ALA
A1 Assigned: Hello, World
16Lecture 2Introduction to Computers and Programming
•Read SOWP Chapter 1
•Watch "How computer memory works" from the TED Ed series
•Exercises 3-5 from SOWP Chapter 1)
18Lecture 3Types, Variables, and Operators
•Read SOWP Chapter 2: Sections 2.1-2.9
•Algorithm Workbench Problems 2, 4, 8, 10 from SOWP Chapter 2
A1 Due
23Lecture 4Decision Structures
•Read SOWP Chapter 3: Sections 3.1-3.6
•Algorithm Workbench Problems 2-4 from SOWP Chapter 3

A2 Assigned: Compound Interest
25Lecture 5Repetition with Loops
•Read SOWP Chapter 4: Sections 4.1-4.4
•Algorithm Workbench Problems 3-4 from SOWP Chapter 4
30Lecture 6Repetition with Loops Part 2
•Read SOWP Chapter 4: Sections 4.5-4.7
•Algorithm Workbench Problems 6, 8 from SOWP Chapter 4
A2 Due
A3 Assigned: Square Roots
February
1Lecture 7Functions Part 1
•Read SOWP Chapter 5: Sections 5.1-5.6
•Algorithm Workbench Problems 1, 2, 3, 4 from SOWP Chapter 5
6Lecture 8Functions Part 2
•Read SOWP Chapter 5: Sections 5.7-5.10
•Algorithm Workbench Problems 8, 9, 10 from SOWP Chapter 5
A3 Due
A4 Assigned: Blackjack
8Lecture 9Abstraction and Decomposition: Problem Sovling By "Breaking it Down"
•Read Decomposition on Wikipedia
•Read How to Solve It on Wikipedia
13ReviewReview Checkpoint One: Come prepared with your questions!
15Lecture 10Working with Files
•Read SOWP Chapter 6: Sections 6.1-6.3
•Algorithm Workbench Problem 1 from SOWP Chapter
20Lecture 11Catching and Handling Exceptions
•Read SOWP Chapter 6: Section 6.4
•Algorithm Workbench Problems 9, 10 from SOWP Chapter 6
A4 Due
A5 Assigned: Assigning Grades
22Lecture 12Lists
•Read SOWP Chapter 7: Sections 7.1-7.4
•Short Answer Problems 1-5 from SOWP Chapter 7
27Lecture 13Lists Part 2
•Read SOWP Chapter 7: Sections 7.5-7.7
•Algorithm Workbench Problem 4 from SOWP Chapter 7
March
1Lecture 14Lists Part 3, Tuples
•Read SOWP Chapter 7: Sections 7.8-7.9
•Algorithm Workbench Problem 8 from SOWP Chapter 7
6ReviewReview Checkpoint Two: Come prepared with your questions!
At the end of this class, I will distribute an ungraded take-home "midterm" exam. Completing the exam is worth 10% of your class participation grade, regardless of how accurately you answer the questions.
A5 Due
E1 Assigned: Take-Home "Midterm" Exam
8Lecture 15Strings
•Read SOWP Chapter 8
•Short Answer Problems 1-5 from SOWP Chapter 8
E1 Due
13Spring Break
15Spring Break
20Lecture 16Dictionaries
•Read SOWP Chapter 9: Section 9.1
•Short Answer Problems 1-6 from SOWP Chapter 9
A6 Assigned: Managing Collections
22Lecture 17More Dictionaries; Sets
•Read SOWP Chapter 9: Section 9.2
•Short Answer Problems 13-17 from SOWP Chapter 9
27Lecture 18Introduction to the Object-Oriented Paradigm (OOP)
•Read SOWP Chapter 10: Section 10.1
•Watch 'What Is Object-Oriented Language?' from Lynda
29Lecture 19Classes and Instances in Python: Part 1
•Read SOWP Chapter 10: Sections 10.2-10.4
•Short Answer Problems 1-4 from SOWP Chapter 10
April
3Lecture 20Classes and Instances in Python: Part 2
•Short Answer Problems 5-7 from SOWP Chapter 10
5Lecture 21OOP Review and In-Class Design Problem: Battleship
•Read Description of the Battleship Game on Wikipedia
•Watch How to Play: Battleship from Triple S Games
•Try playing a free online version of the game.
A6 Due
A7 Assigned: Battleship
10ReviewReview Checkpoint Three: Come prepared with your questions!
12Lecture 22Inheritance
•Read SOWP Chapter 11
•Short Answer Problems 1-3 from SOWP Chapter 11
17Lecture 23Recursion Part 1
•Read SOWP Chapter 12
•Algorithm Workbench Problems 2-3 from SOWP Chapter 12
19Lecture 24Recursion Review and In-Class Design Problem: Quicksort
•Watch Quicksort video from CS50
24Lecture 25Web Programming
•Read CherryPy Overview, Introduction, and Tutorials 1-4
A7 Due
26Lecture 26VCS, Wrap-Up and Review
•Watch "What is VCS? Git Basics #1" from GitHub
•Watch "What is Git? Git Basics #2" from GitHub
•Watch "GitHub Integration Features in JetBrains IDEs" from JetBrains
May
4Final ExamFinal exam begins at 8:00 am.