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 14-Jan 18 | Mon |
Introduction, Course Administration
Introduction to cs1graphics |
syllabus
Ch. 3.1, 3.2 |
Tue |
Hands-on day: accounts, cs1graphics,
saving .py scripts
Can you draw this? (here is my attempt with cs1graphics) (and if things go very wrong...) |
||
Wed | cs1graphics: colors, depths, transformations | Ch. 3.3-3.5 | |
Fri |
Quiz 1
cs1graphics: layers |
Ch. 3.6 | |
Jan 21-Jan 25 | Mon | No Class: MLK | |
Tue | Object-oriented programming and terminology |
Ch. 1.1-1.4.1
(brief summary) |
|
Wed |
Object-oriented design
Television case study |
Ch. 1.4.2, 1.4.3, 1.5 | |
Fri |
Quiz 2
Introduction to Python's built-in types (list, str, int, float) Focus on list |
Ch. 2.1-2.2 | |
Jan 28-Feb 1 | Mon |
Python's str class
Type conversions |
Ch. 2.3-2.5
(brief summary) |
Tue |
String split/join raw_input/print Functions, Modules, Expressions |
Ch. 2.6-2.9 | |
Wed | Hands-on Day: Using Python's built-in types | ||
Fri |
Quiz 3
Art Show Introduction to For Loops |
Ch. 4.1 |
|
Feb 4-Feb 8 | Mon | For loops, index-based loops, nested loops | Ch. 4.1 |
Tue | Case study: Drawing a Pyramid | Ch. 4.3 | |
Wed | Hands-on Day: Loops and Graphics | ||
Fri |
Quiz 4
Introduction to Conditional Statements Boolean Expressions |
Ch. 4.4 Ch. 2.8 |
|
Feb 11-Feb 15 | Mon |
Conditional Statements
if, elif, else |
Ch. 4.4
(exercises) |
Tue | Hands-on Day: Loops and Conditionals | ||
Wed | List Comprehensions | Ch. 4.5 | |
Fri |
Quiz 5
Introduction to While Loops |
Ch. 5.1 | |
Feb 18-Feb 22 | Mon |
While Loops
Case-study: Guess a number from 1 to 100 |
|
Tue | Hands-on Day: prog04 practice problem | ||
Wed |
User-defined Functions
Avoiding Duplicate Code |
Ch. 5.2, 5.3 | |
Fri |
Quiz 6
Case Study: Computing square roots |
Ch. 5.4 |
|
Feb 25-Mar 1 | Mon | Case Study: Chain under gravity | Ch. 5.6 |
Tue | Error Checking and Exceptions | Ch. 5.5 | |
Wed |
Error Checking and Exceptions
scaleData example from book Color.setByValue example from cs1graphics Hands-on Day: practice problems |
Ch. 5.5 | |
Fri |
Quiz 7
Hands-on Day: prog05 |
||
Mar 4-Mar 8 | Mon |
Standard Input and Output
Formatted Strings |
Ch. 8.1, 8.2
str.format method |
Tue | Working with Files | Ch. 8.3, 8.4, 8.5.1, 8.5.2 | |
Wed | Review day | ||
Fri | First Exam (includes material through Mar 1 - info ) | ||
Mar 11-Mar 15 | Mon | No Class: Spring Break | |
Tue | |||
Wed | |||
Fri | |||
Mar 18-Mar 22 | Mon | Object-oriented Programming | Ch. 1.4, 1.5 |
Tue |
Introduction to user-defined classes
Point class (simple and robust versions) |
Ch. 6.1, 6.2 | |
Wed | Design of a Television class | Ch. 6.3 | |
Fri |
Quiz 8
Fraction class |
Ch. 6.4 | |
Mar 25-Mar 29 | Mon | Good Software Practices, Mastermind | Ch. 7.1, 7.2, 7.3 |
Tue | Naming Conventions, Documentation, Encapsulation | Ch. 7.4, 7.5, 7.6 | |
Wed | Modules and Unit Testing, Mastermind completion | Ch. 7.7, 7.8, 7.9 | |
Fri | No Class: Easter Break | ||
Apr 1-Apr 5 | Mon | ||
Tue |
Introduction to Inheritance
Implentation of DeluxeTV Intro to SortedSet |
Ch. 9.1 | |
Wed |
SortedSet implementations
When not to use inheritance |
Ch. 9.2, 9.3 | |
Fri |
Quiz 9
In-class work on LanguageHelper (prog07) |
||
Apr 8-Apr 12 | Mon | Inheritance and cs1graphics | Ch. 9.4 |
Tue | Case Study: Mailbox class | Ch. 9.6 | |
Wed | Understanding Objects and References | Ch. 10.1 | |
Fri |
Quiz 10
Objects that Reference Other Objects |
Ch. 10.2 | |
Apr 15-Apr 19 | Mon | More Python Containers | Ch. 12.1 |
Tue |
Dictionaries
Case Study: IMDB (see /Public/goldwasser/150/movies) |
Ch. 12.2, 12.3 | |
Wed |
Case Study: a Simple Search Engine
(see /Public/goldwasser/150/engine) |
Ch. 12.7 | |
Fri |
Quiz 11
Python's Internal Use of Dictionaries |
Ch. 12.6 | |
Apr 22-Apr 26 | 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 12
Functional Recursion, Factorials Binary Search |
Ch. 11.3
Ch. 11.4 |
|
Apr 29-May 3 | Mon |
Prefix Search
Case Study: Anagrams |
Ch. 11.4.4
Ch. 11.5 |
Tue | Case Study: Anagrams | Ch. 11.5 | |
Wed | Bonus Topic: Network Programming | Ch. 16 | |
Fri |
Quiz 13
|
||
May 6 | Mon | Review | |
May 13 | Mon | Final Exam (12:00-1:50) - info |