Office Hours Schedule

Mon Tue Wed Thu Fri Sat Sun
4-10pm (WVH 162) 12-3pm (KA 308)
3:30-5:30pm (WVH 310)
6-9pm (WVH 162)
12-2pm (SL 047)
3:30-5:30pm (WVH 310)
6-9pm (WVH 162)
none 12:30-6pm (KA 308)
6-9pm (WVH 162)
none 3-9pm (WVH 162)

Class Schedule

Note: It's likely that the topics will change, but very UNlikely that the dates of labs, homeworks, or exams will. Homeworks are assigned on Thursday, and they are due the following Wednesday at 11:59pm (unless otherwise noted). Labs are also on thursday, during your scheduled CS5003 recitation section. Quizzes and exams are given during lecture, on Monday.

Week Of Reading Topics HW Lab Quiz/Exam Materials
Sep 3 -- Welcome to CS5001!
  • Lab, no lecture
  • Everyone in WVH 210
Slides: Intro Day

PP#1

Sep 10 Ch 1, 2.1-2.4
  • Variables
  • Assignment
  • Arithmetic operations
  • Python IDEs
HW1 Lab 1

Some examples (a few solutions the from hand-in server)...

Handout: Variables

Sample code: Winner/Loser

Slides

PP#2

Handout: How to approach a programming assignment

Sep 17 Ch 2.6, 5.1-5.7
  • Branching
  • Boolean expressions
  • Strings
HW2 Lab 2 + Align Seminar Formatting examples (sample code)

Handout: Strings

PP #3

Worksheet: Conditionals

Slides: Boolean Expressions

Conditionals examples (aka, examples where Laney always wins the card game)

Sep 24 Ch 7, 10.1-10.3
  • Iteration (while loops)
  • Iteration (for loops)
  • Lists
HW3 Lab 3 + Loops Worksheet + code (to verify worksheet answers)

Lab3 sample solutions

Quiz 1 Handout: Lists

Handout: Nested Lists

PP #4

HW1 Examples

Sample code: User Interface, section 1

Sample code: User Interface, section 2

Sample code: A more complete user interface

Oct 1 Ch 3
  • Functions
  • Parameter passing
  • Scope
  • Testing and debugging
HW4

HW4 Starter Code

Some hw4 solutions we liked

Lab 4 Quiz 2 Handout: Variable scope

PP #5

Worksheet: Defining functions

Sample code: mbta module

Calling pydoc on the mbta module

Handout: Testing

Sample code: palindrome in a function (from testing handout)

Sample code: test suite for palindrome function (from testing handout)

HW2 Examples

Oct 8 INDIGENOUS PEOPLE'S DAY
  • Monday: No lecture
  • Thursday: Regular lab
Lab 5 PP #6
Oct 15 Ch 5.8-5.12, 6
  • Recursion
  • Tracing recursive functions
Lab 6, Part one + Part two

Sample code + solns:

Sample code: Variable Scope + Functions

Recursion handout

Recursion worksheet

PP #7

Recursive examples from class...

Midterm Study Sheet

Midterm Review Slides

Oct 22 MONDAY: MIDTERM EXAM Lab 7 + Align Seminar Midterm
Oct 29 Ch 14.1-14.5
  • File processing
  • Exception handling
HW5 Lab 8 Handout: Dictionaries

Handout: File Processing

PP #8

The Python exception hierarchy

every_website_ever.py

error_handling.py

PP #9

Nov 5 Ch 15
  • Classes and Objects
  • Data encapsulation
HW6 and 7 Lab 9 Quiz 3 Worksheet: Classes and Objects

Handout: Classes and Objects

Code from the handout:

Sample class from lecture:

Testing user input in unittest

Slides: Classes and Objects

PP #10

Nov 12 VETERANS' DAY
  • Monday: No lecture
  • Thursday: Regular lab
Lab 10 + Align Seminar PP #11

HW5 sample solution

Nov 19 Ch 15
  • Monday: Regular lecture
  • Thursday: No lab
  • Classes and Objects cont'd
  • Stack data structure
Slides: Computers vs Data

Worksheet: stack applications

Sample code: STAX

PP #12

Nov 26 Appendix B
  • Algorithmic complexity
  • Search
Lab 11 Quiz 4 Slides: algorithmic complexity

Handout: algorithmic complexity

Final exam review sheet

Dec 3 Appendix B
  • Algorithmic complexity
  • Quadratic sorting
  • n lg n sorting
Align Seminar (student panel)
  • Sec 1 -- 3:30pm WVH 210
  • Sec 2 -- 6:00pm WVH 210
Exam practice questions

Handout: sorting algorithms

Slides: Final exam review

Dec 10 FINAL EXAM (both sections) 6-9:00pm Final Exam