Course Home | Class Schedule | Assignments | Git Submission | Perusall | Python | Tutoring

Saint Louis University

Computer Science 1300/5001
Introduction to Object-Oriented Programming

Michael Goldwasser

Fall 2018

Computer Science Department


SCHEDULE

Please note that the schedule for future classes is tentative.

Day Topic Before Class In Class Notes
Monday, Aug 27 Introduction, Course Administration syllabus
Tuesday, Aug 28 Getting Started with Python Lecture/discussion
Wednesday, Aug 29 Python expressions Chapter 01
Homework 01
Activities
Quiz 01
Friday, Aug 31 Authoring scripts Chapter 02 Lecture/discussion
Monday, Sep 3 No Class: Labor Day
Tuesday, Sep 4 Authoring scripts Homework 02 Activities
Quiz 02
Wednesday, Sep 5 "Batteries Included"
Python's functions, modules
Object-oriented programming
Chapter 03 Lecture/discussion
Friday, Sep 7 Intro to cs1graphics Chapter 04 Lecture/discussion
Monday, Sep 10 Intro to cs1graphics Homework 03 Activities
Quiz 03
Tuesday, Sep 11 Advanced graphics techniques Chapter 05 Submitting with git
Lecture/discussion
Wednesday, Sep 12 Advanced graphics techniques Homework 04 Activities
Quiz 04
Friday, Sep 14 Python's list class Chapter 06 Lecture/discussion
Monday, Sep 17 Strings, tuples and lists Revised Chapter 06 Lecture/discussion prog01 due
Tuesday, Sep 18 Strings, tuples and lists Homework 05 Activities
Quiz 05
Wednesday, Sep 19 For Loops Chapter 07 Lecture/discussion
Friday, Sep 21 For Loops Homework 06 Activities
Quiz 06
Monday, Sep 24 For Loops and Graphics
Nested loops
Homework 07 Activities
Quiz 07
prog02 due
Tuesday, Sep 25 Conditionals Chapter 08 Lecture/discussion
(practice)
Wednesday, Sep 26 Conditionals Homework 08 Activities
Quiz 08
Friday, Sep 28 First Midterm Exam - info
Monday, Oct 1 Python's Syntactic Shorthands
list comprehension
conditional expressions
Functions: enumerate, zip, any all
Chapter 09 Lecture/discussion
Tuesday, Oct 2 Python's Syntactic Shorthands
list comprehension
conditional expressions
Functions: enumerate, zip, any all
Homework 09 Activities
Quiz 09
Wednesday, Oct 3 While Loops Chapter 10 Lecture/discussion
Friday, Oct 5 While Loops Homework 10 Activities
Quiz 10
Monday, Oct 8 User-defined Functions Chapter 11 Lecture/discussion prog03 due
Tuesday, Oct 9 User-defined Functions Homework 11 Activities
Quiz 11
Wednesday, Oct 10 Case Study: Catenary Curve Chapter 12 Lecture/discussion
Friday, Oct 12 Case Study: Contest Problems (no homework) Activity: Quiz 12
Monday, Oct 15 Error Checking and Exceptions Chapter 13 Lecture/discussion
Case study: robust getInt(low, high) function
prog04 due
Tuesday, Oct 16 Error Checking and Exceptions Homework 12 Activities
Quiz 13
Wednesday, Oct 17 Input, Output, and Files Chapter 14 Lecture/discussion
Friday, Oct 19 Input, Output, and Files Homework 13 Activity: Quiz 14
Monday, Oct 22 No Class: Fall Break
Tuesday, Oct 23
Wednesday, Oct 24 Introduction to object-oriented programming Lecture/discussion
notes
Friday, Oct 26 Object-oriented design
Television case study
Class diagrams
Lecture/discussion
Monday, Oct 29 Introduction to user-defined classes
Point class (simple and robust versions)
Chapter 16 Lecture/discussion prog05 due
Tuesday, Oct 30 Implementation of a Television class
Implementaiton of a Fraction class
Chapter 17 Lecture/Discussion
Wednesday, Oct 31 Class Definitions Homework 14 Activity: Quiz 15
Friday, Nov 2 Second Midterm Exam - info
Monday, Nov 5 Good software practices Chapter 18
(but not assigned as official reading assignment)
Lecture/Discussion
Tuesday, Nov 6 Software Testing
Test-Driven Development and Python's unittest module
Lecture/Discussion
Python's unittest module
Revisiting unit tests for Quiz 15
Wednesday, Nov 7 Inheritance Chapter 20.1 Lecture/Discussion
Implementation of DeluxeTV
Friday, Nov 9 Inheritance Chapter 20.2, 20.3 SortedSet model and implementations
When not to use inheritance
prog06 due
Monday, Nov 12 Inheritance in cs1graphics
Preview of prog08
Multiple Inheritance
Chapter 20.4-20.6 Lecture/discussion
Tuesday, Nov 13 Deeper understanding of objects
Objects that reference other objects
Chapter 21.1, 21.2 Lecture/discusison
Wednesday, Nov 14 Deeper understanding of objects
Objects that reference other objects
Homework 15 Experimenting with list.__contains__
Activity: Quiz 16
Friday, Nov 16 Objects in the context of a function
Copying objects
Chapter 21.3-21.5 Lecture/discussion prog07 due
Monday, Nov 19 Copying objects Homework 16 Activity: Quiz 17
Tuesday, Nov 20 Sets Chapter 22 Lecture/discusison
Wednesday, Nov 21 No Class: Thanksgiving Break
Friday, Nov 22
Monday, Nov 26 Dictionaries Chapter 23
(ungraded optional reading)
Lecture/Discussion prog08 due
Tuesday, Nov 27 Dictionaries Homework 16 Activities, Quiz 18
Wednesday, Nov 28 Namespaces and Dictionaries Chapter 24
Friday, Nov 30 Structural Recursion
Bullseye class
Chapter 26.1 Lecture/discussion
Tree.py example (partially developed)
Monday, Dec 3 Structural Recursion Homework 17 Hands-on activity
OurList simultation
prog09
Tuesday, Dec 4 Structural recursion
OurList source code
Chapter 26.2 Lecture/discussion
Wednesday, Dec 5 Functional Recursion
Binary Search, Prefix Search
Chapter 27 Lecture/discussion
Friday, Dec 7 Functional Recursion
Range Searching
Homework 17 Hands-on activity
Quiz 19
Monday, Dec 10 Course Evaluations
Review
prog10

Monday, Dec 17 Final Exam (12:00-1:50) - info


Michael Goldwasser
CSCI 1300/5001, Fall 2018
Last modified: Friday, 07 December 2018
Course Home | Class Schedule | Assignments | Git Submission | Perusall | Python | Tutoring