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 18-Jan 21 | Mon | No Class: MLK | |
Tue |
Introduction, Course Administration
Data and Operations |
syllabus
Ch. 1.1-1.3 |
|
Wed | The Object-Oriented Paradigm |
Ch. 1.4 (but not yet 1.4.4) |
|
Fri |
Hands-on: Computer Accounts
Introduction of cs1graphics Brief mention of inheritance |
Ch. 3.1, 3.2 Ch. 1.4.4 |
|
Jan 24-Jan 28 | Mon |
More with cs1graphics.
depths, reference points, layers |
Ch. 3.2-3.6 |
Tue |
Hands on day: cs1graphics
Can you draw this? (here is my attempt) |
||
Wed |
Introduction to Python's built-in types
(list, str, int, float) Focus on list |
Ch. 2.1-2.2 | |
Fri |
Python's str class
Type conversions |
Ch. 2.3-2.5 | |
Jan 31-Feb 4 | Mon | Functions, Modules, Expressions | Ch. 2.6-2.9 |
Tue | No Class: Inclement Weather | ||
Wed | |||
Fri | Hands-on Day: Using Python's built-in types | ||
Feb 7-Feb 11 | Mon | For Loops | Ch. 4.1 |
Tue | Nested Loops; case studies | Ch. 4.2, 4.3 | |
Wed | Hands-on Day: Loops and Graphics | ||
Fri |
Conditional Statements
if, elif, else |
Ch. 4.4 | |
Feb 14-Feb 18 | Mon |
Boolean Operators
conditional "gotchas" |
Ch. 2.8, 4.4 |
Tue |
List Comprehensions
additional practice |
Ch. 4.5 | |
Wed |
While Loops
Case-study: Guess a number from 1 to 100 |
Ch. 5.1 | |
Fri | Review Day (hw03 solutions) | ||
Feb 21-Feb 25 | Mon | First Exam (includes material through Feb 14 - info ) | |
Tue | Hands-on Day (work on hw04) | ||
Wed | Hands-on Day (work on hw04) | ||
Fri |
User-defined functions
Avoiding Duplicated Code |
Ch. 5.2-5.3 | |
Feb 28-Mar 4 | Mon |
Case Study: computing square roots
Error Checking and Exceptions |
Ch. 5.4, 5.5 |
Tue | Error Checking and Exceptions | Ch. 5.5 | |
Wed | Case Study: Chain under gravity | Ch. 5.6 | |
Fri |
Introduction to user-defined classes
Simple version of Point class |
Ch. 6.1 | |
Mar 7-Mar 11 | Mon | Robust version of Point class | Ch. 6.2 |
Tue | Design of a Television class | Ch. 6.3 | |
Wed |
Completion of Television class (supporting jumpPrevChannel)
Brief summary of Fraction class |
Ch. 6.3, 6.4 | |
Fri | Hands-on Day (modeling the motion of a ball) | ||
Mar 14-Mar 18 | Mon | No Class: Spring Break | |
Tue | |||
Wed | |||
Fri | |||
Mar 21-Mar 25 | Mon | Good Software Practices | Ch. 7.1, 7.2, 7.3 |
Tue | Naming Conventions, Documentation, Encapsulation | Ch. 7.4, 7.5, 7.6 | |
Wed | Modules and Unit Testing | Ch. 7.7 | |
Fri | Mastermind completion; Graphical Output | Ch. 7.8, 7.9, 7.10 | |
Mar 28-Apr 1 | Mon |
Standard Input and Output
Formatted Strings |
Ch. 8.1, 8.2 |
Tue | Working with Files | Ch. 8.3, 8.4 | |
Wed | Case Study: Frequency counts | Ch. 8.5 | |
Fri | review | ||
Apr 4-Apr 8 | Mon | Second Exam (includes material through Mar 30 - info ) | |
Tue | Discussion of spell-checker (prog06) | ||
Wed |
Introduction to Inheritance
Implentation of DeluxeTV Design of SortedSet |
Ch. 9.1 | |
Fri |
Inheritance
Overriding methods |
Ch. 9.2, 9.3 | |
Apr 11-Apr 15 | Mon |
Inheritance and cs1graphics
Case Study: Mailbox class |
Ch. 9.4, 9.6 |
Tue | Understanding Objects and References | Ch. 10.1 | |
Wed | Objects that Reference Other Objects | Ch. 10.2 | |
Fri | Copying Object | Ch. 10.2 | |
Apr 18-Apr 22 | Mon |
Objects in the Context of a Function
Introduction to Recursion: Bullseye |
Ch. 10.3
Ch. 11.1 |
Tue |
Bullseye implementation
Activity: simulating a recursive list |
Ch. 11.1
Ch. 11.2 |
|
Wed |
Activity: simulating a recursive list
OurList class implementation |
Ch. 11.2 | |
Fri | No Class: Easter Break | ||
Apr 25-Apr 29 | Mon | ||
Tue |
Functional Recursion
Factorials Introduction to Binary Search |
Ch. 11.3
Ch. 11.4.1 |
|
Wed |
Binary Search Implementation
Case Study: Anagrams |
Ch. 11.4
Ch. 11.5 |
|
Fri | Case Study: Anagrams | Ch. 11.5 | |
May 2-May 6 | Mon | Python's Container Classes | intro to Ch. 12; Ch. 12.1 |
Tue | Introduction to Dictionaries | Ch. 12.2 | |
Wed | Case Study: Movie Database | (Ch. 12.3) | |
Fri | Python's internal use of dictionaries | Ch. 12.6 | |
May 9 | Mon | Review | |
May 11 | Wed | Final Exam (8:00-9:50) - info |