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
8Class 1Course Overview
Envirionment Setup
A1 Assigned: Hello, World
13Class 2Introduction to Computers and Programming
•Read SOWP Chapter 1
•Exercises 3-5 from SOWP Chapter 1 Pages 28-29)
15Class 3Types, Variables, and Operators
•Read SOWP Chapter 2
•Algorithm Workbench Problems 2, 4, 8, 10 from SOWP Chapter 2 (Pages 76-77)
A1 Due
20Class 4Decision Structures
•Read SOWP Chapter 3
•Algorithm Workbench Problems 2-4 from SOWP Chapter 3 (Pages 114-115)

A2 Assigned: Compound Interest
22Class 5Repetition with Loops
•Read SOWP Chapter 4: Sections 4.1-4.4
•Algorithm Workbench Problems 3-4 from SOWP Chapter 4 (Pages 161)
27Class 6Repetition with Loops Part 2
•Read SOWP Chapter 4: Sections 4.5-4.7
•Algorithm Workbench Problems 6, 8 from SOWP Chapter 4 (Pages 161)
A2 Due
A3 Assigned: Square Roots
29Class 7Functions Part 1
•Read SOWP Chapter 5: Sections 5.1-5.6
•Algorithm Workbench Problems 1, 2, 3, 4 from SOWP Chapter 5 (Pages 228)
February
3Class 8Functions Part 2
•Read SOWP Chapter 5: Sections 5.7-5.10
•Algorithm Workbench Problems 8, 9, 10 from SOWP Chapter 5 (Pages 229)
A3 Due
A4 Assigned: Blackjack
5Class 9Abstraction and Decomposition: Problem Sovling By "Breaking it Down"
•Read Decomposition on Wikipedia
•Read How to Solve It on Wikipedia
10Class 10Working with Files
•Read SOWP Chapter 6: Sections 6.1-6.3
•Algorithm Workbench Problem 1 from SOWP Chapter (Pages 288)
12Class 11Catching and Handling Exceptions
•Read SOWP Chapter 6: Section 6.4
•Algorithm Workbench Problems 9, 10 from SOWP Chapter 6 (Pages 288)
A4 Due
A5 Assigned: Assigning Grades
17Class 12Snow Day!
19Class 13Lists
•Read SOWP Chapter 7: Sections 7.1-7.4
•Short Answer Problems 1-5 from SOWP Chapter 7 (Pages 333)
24Class 14Lists Part 2
•Read SOWP Chapter 7: Sections 7.5-7.7
•Algorithm Workbench Problem 4 from SOWP Chapter 7 (Pages 334)
26Class 15Snow Day!A5 Due (with 24 hour extension
to Friday @ 12:30)
March
3Class 16Lists Part 3, Tuples
•Read SOWP Chapter 7: Sections 7.8-7.9
•Algorithm Workbench Problem 8 from SOWP Chapter 7 (Pages 334)
5Class 17Midterm Exam
10Spring Break
12Spring Break
17Class 18Dictionaries
•Read SOWP Chapter 9: Section 9.1
•Short Answer Problems 1-6 from SOWP Chapter 9 (Pages 413)
A6 Assigned: Managing Collections
19Class 19More Dictionaries; Sets
•Read SOWP Chapter 9: Section 9.2
•Short Answer Problems 13-17 from SOWP Chapter 9 (Pages 413-414)
24Class 20Strings
•Read SOWP Chapter 8
•Short Answer Problems 1-5 from SOWP Chapter 8 (Pages 364-365)
26Class 21Introduction to the Object-Oriented Paradigm (OOP)
•Read SOWP Chapter 10: Section 10.1
•Watch 'What Is Object-Oriented Language?' on YouTube
31Class 22Classes and Instances in Python: Part 1
•Read SOWP Chapter 10: Sections 10.2-10.4
•Short Answer Problems 1-4 from SOWP Chapter 10 (Page 475)
April
2Class 23Classes and Instances in Python: Part 2
•Short Answer Problems 5-7 from SOWP Chapter 10 (Page 475)
A6 Due
A7 Assigned: Battleship
7Class 24OOP Review and In-Class Design Problem: Battleship
•Read Description of the Battleship Game on Wikipedia
•Watch Battleship Board Game on YouTube
•Try playing a free online version of the game.
9Class 25Inheritance
•Read SOWP Chapter 11
•Short Answer Problems 1-3 from SOWP Chapter 11 (Page 503)
14Class 26Recursion Part 1
•Read SOWP Chapter 12
•Algorithm Workbench Problems 2-3 from SOWP Chapter 12 (Page 524)
16Class 27Recursion Review and In-Class Design Problem: Quicksort
21Class 28Web Programming
•Read CherryPy Overview, Introduction, and Tutorials 1-4
23Class 29Wrap-Up and ReviewA7 Due
May
1Final ExamFinal exam begins at 12:00 noon on Friday May 1.