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

Saint Louis University

Computer Science 150
Introduction to Object-Oriented Programming

Michael Goldwasser

Spring 2011

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 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


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