Saint Louis University |
Computer Science 150
|
Dept. of Math & Computer Science |
Also note: For each lecture, we denote both a topic as well as the associated reading in the textbook. The live link on the 'topic' leads to a page of my personal notes for that lecture. Those personal notes are not nearly as complete or polished as the associated readings from the text. In truth, they exist mostly to provide a brief outline of the day's lecture. Students are expected to read the associated sections of the text. In cases where my notes include material which is not explicitly in the text, I will add the word "notes" to the explicit reading list.
Week | Day | Topic | Reading |
---|---|---|---|
Jan 11-Jan 15 | Mon |
Introduction, Course Administration
Data and Operations |
syllabus
Ch. 1.1-1.3 |
Tue | The Object-Oriented Paradigm |
Ch. 1.4 (but not yet 1.4.4) |
|
Wed | Inheritance | Ch. 1.4.4 | |
Fri |
Quiz 1
Getting Started with Graphics |
Ch. 2.1, Ch. 3.1-3.3 | |
Jan 18-Jan 22 | Mon | No Class: MLK | |
Tue |
Hands-on Day: cs1graphics
(try exercises 3.1, 3.2, 3.8, 3.10, 3.14) |
||
Wed |
The Layer class
other "bells and whistles" |
Ch. 3.6-3.9 | |
Fri |
Quiz 2
Python's built-in types (list, str, int, float) |
Ch. 2.1-2.4 | |
Jan 25-Jan 29 | Mon | Python's built-in types | Ch. 2.5-2.10 |
Tue | Hands-on Day: Using Python's built-in types | ||
Wed | For Loops | Ch. 4.1 | |
Fri |
Quiz 3
Loops and Graphics (picket fence code) |
||
Feb 1-Feb 5 | Mon |
Nested Loops
Intro to Conditionals |
Ch. 4.2
Ch. 4.4 (and review 2.8.2) |
Tue | Hands-on Day: Loops and Graphics | Ch. 4.3 | |
Wed |
Conditional Statements
if, elif, else short-circuiting |
Ch. 4.4 | |
Fri |
Quiz 4
Examples with loops and conditionals (sample data) |
||
Feb 8-Feb 12 | Mon | List Comprehension | Ch. 4.5 |
Tue | Hands-on Day: Control Structures | ||
Wed | While Loops (examples) | Ch. 5.1 | |
Fri |
Quiz 5
While Loops (continued) |
Ch. 5.1 | |
Feb 15-Feb 19 | Mon | User-defined Functions | Ch. 5.2 |
Tue | Hands-on Day: Work on prog04 | ||
Wed | More functions | Ch. 5.2 | |
Fri |
Quiz 6
Case Study: The Gateway Arch |
Ch. 5.6 | |
Feb 22-Feb 26 | Mon |
More about functions
(call stack, local scope) |
|
Tue | Hands-on Day: Programming Contest Revisited | ||
Wed | Error-Checking and Exceptions | Ch. 5.5 | |
Fri |
Quiz 7
Solutions to "hands-on" problems (code) |
||
Mar 1-Mar 5 | Mon | Formatted Strings | Ch. 8.2 |
Tue | Hands-on Day: Challenges | ||
Wed | Working with Files, Handling Newline Characters | Ch. 8.3, 8.4 | |
Fri | Midterm Exam (includes material through Feb 26 - info ) | ||
Mar 8-Mar 12 | Mon | No Class: Spring Break | |
Tue | |||
Wed | |||
Fri | |||
Mar 15-Mar 19 | Mon |
Introduction to Classes
overview, simple Point class |
Ch. 6.1 |
Tue | Robust Point class | Ch. 6.2 | |
Wed | Television class | Ch. 6.3 | |
Fri |
Quiz 8
immutable Fraction class |
Ch. 6.4 | |
Mar 22-Mar 26 | Mon | Good Software Practices | Ch. 7 |
Tue |
Naming Conventions, Documentation
Python style guide Python docstring conventions |
Ch. 7.4, 7.5 | |
Wed | Modules and Unit Testing | Ch. 7.7 | |
Fri |
Quiz 9
Case Study: TallySheet class |
Ch. 8.5.3 | |
Mar 29-Apr 2 | Mon | Introduction to Inheritance | Ch. 9.1, 9.2 |
Tue | Alternatives to inheritance | Ch. 9.3 | |
Wed |
Inheritance and cs1graphics
Case Study: Mailbox class |
Ch. 9.4, 9.6 | |
Fri | No Class: Easter Break | ||
Apr 5-Apr 9 | Mon | ||
Tue | Understanding Objects and References | Ch. 10.1 | |
Wed | Objects that Reference Other Objects | Ch. 10.2 | |
Fri |
Quiz 10
Copying Objects Objects in the Context of a Function |
Ch. 10.2 Ch. 10.3 |
|
Apr 12-Apr 16 | Mon | Introduction to Recursion: Bullseye | Ch. 11.1 |
Tue | Activity: simulating a recursive list | Ch. 11.2 | |
Wed | OurList class Implementation | Ch. 11.2 | |
Fri |
Quiz 11
OurList class Implementation (continued) |
Ch. 11.2 | |
Apr 19-Apr 23 | Mon |
Functional Recursion
Binary Search |
Ch. 11.3
Ch. 11.4 |
Tue |
Binary Search (continued)
Partial Matches |
Ch. 11.4 | |
Wed | Case Study: Anagrams | Ch. 11.5 | |
Fri |
Quiz 12
Overview of Python's containers Modeling Multidimensional Tables |
Ch. 12 intro
Ch. 12.1 Ch. 12.3.1 |
|
Apr 26-Apr 30 | Mon | Introduction to Dictionaries | Ch. 12.2 |
Tue | Hands-on Demo of Dictionaries | ||
Wed | Case Study: Creating a reverse dictionary for movies/actors | ||
Fri |
Quiz 13
Python's internal use of dictionaries |
||
May 3 | Mon | Review | |
May 5 | Wed | Final Exam (8:00-9:50) - info | |