Course Home | Assignments | Class Photo | Computing Resources | Lab Hours/Tutoring | Schedule | Submit

Saint Louis University

Computer Science 150
Introduction to Object-Oriented Programming

Michael Goldwasser

Spring 2010

Dept. of Math & Computer Science


SCHEDULE

Please note that the schedule for future classes is tentative.

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


Michael Goldwasser
CSCI 150, Spring 2010
Last modified: Monday, 03 May 2010
Course Home | Assignments | Class Photo | Computing Resources | Lab Hours/Tutoring | Schedule | Submit