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

Saint Louis University

Computer Science 150
Introduction to Object-Oriented Programming

Michael Goldwasser

Spring 2013

Dept. of Math & Computer Science


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 14-Jan 18 Mon Introduction, Course Administration
Introduction to cs1graphics
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
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
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
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

Michael Goldwasser
CSCI 150, Spring 2013
Last modified: Monday, 06 February 2017
Course Home | Assignments | Computing Resources | Lab Hours/Tutoring | Python | Schedule | Submit