Office Hours Schedule

Mon Tue Wed Thu Fri Sat Sun
2-5pm (KA204) 11am-2pm (KA208)
3-6pm (WVH310)
6-9pm (SL049)
12-3pm (KA204)
5-10pm (SL049)
2-5pm (KA308) 3-6pm (SL043)

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 Thursday at 9:00am (unless otherwise noted). Labs are also on thursday, during your scheduled CS5003 recitation section. The midterm exam is given during lecture, as are most quizzes.

Week Of Reading Topics HW Lab Quiz/Exam Materials
Jan 7 Ch 1, 2.1-2.5
  • Variables
  • Assignment
  • Arithmetic operations
  • Python IDEs
HW1 Lab 1 Sample code: discount price

Slides: Variables, data types (multiple choice)

Handout: Variables and Arithmetic

Practice Problem #1

Handout: How to Approach a Programming Assignment

Jan 14 Ch 3, 5.1-5.4
  • Functions
  • Passing
  • Branching
HW2

Ex: nn.py

Lab 2 Handout: Writing functions

Handout: Testing + Debugging

Worksheet: GPA function

Practice Problem #2

Sample code: Functions from the NEU menu

GPA functions and test code:

  • gpa.py (the GPA function)
  • gpa_testcases.py (testing the old, more tedious way)
  • test_gpa.py (improvement #1: testing with printing the expected vs actual results)
  • test_improved.py (improvement #2: testing with programmatically verifying each result
Jan 21 MLK DAY
  • Monday: No class
  • Thursday: Lab (quiz + Seminar)
Seminar Quiz 1 (During Lab on Thursday) Brainteasers w/ answers

Megan Smith article

PP #3

Handout: Conditionals

Jan 28 (Laney at a conference)

Ch 5.6-5.7, 7.1-7.4, 10.1-10.4

  • Monday: No class
  • Thursday: Lecture during Lab
TOPICS:
  • Branching cont'd
  • Iteration (while loops)
  • Repeat Until...
  • Breaking loops
  • Lists Intro
HW3
Ex: baseball.py

sox18.py

Handout: Lists

Worksheet: Lists for the card game

Code from class:

PP #4

Feb 4 Ch 8, 10.1-10.4
  • Iteration cont'd
  • List comprehensions
  • Strings
HW4 Lab 3 + test code + Bonus PP#6 Handout: strings

Worksheet: Loops + Lists

PP #5

Code from class:

Handout: Nested Lists

Feb 11 Ch 5.8-5.12, 11
  • Recursion
  • Tracing recursive functions
  • Dictionaries
HW5 Lab 4

Ex: log.py

Quiz 2(during lecture) Handout: Recursion

Worksheet: recursion

Slides: dictionaries

handout: dictionaries

PP #7

Sample code from class:

Midterm review sheet

Feb 18 PREZ DAY
  • Monday: No lecture
  • Thursday: Regular lab
Lab 5 + Seminar

Ex: lab5.py (solutions to the recursive questiosn)

PS recursion is not on the exam, these were for fun :)

Slides: Midterm review
Feb 25 MIDTERM
  • Monday: Exam
  • Thursday: No lab
Midterm
Mar 4 SPRING BREAK Spring break!!
Mar 11 Ch 14.1-14.5
  • File processing
  • Exception handling
HW6 Lab 6 every_website_ever.py

encryption and menu (helper modules for website program)

error_handling.py

Handout: Files

PP8

Python Exceptions

Freeman Hrabowski TED Talk

Mar 18 Ch 15
  • Classes and Objects
  • Unit testing
Lab 7 Quiz 3 (during lecture) Code from class:

Slides: classes and objects

Worksheet: the coffee class

Handout: Classes and objects

PP9

Unittest code examples:

Mar 25 Ch 15
  • Classes and Objects cont'd
  • Stack data structure
HW7 Lab 8 + Seminar Sample code (testing with files):

Slides: Stacks are important

PP10

Worksheet: Stack applications

Stack code from class:

Apr 1 Appendix B
  • Algorithmic complexity
Lab 9

Unofficial lab, improving run-time complexity. Here are...

Goal: Make these sad solutions better -- O(n). Don't click through till you've come up with your own though!
Quiz 4 (during lecture) Slides: Algorithmic complexity

Handout: Algorithmic complexity

Crossword solns (missing: Wendy Williams and Paws)

Apr 8 Appendix B
  • Searching
  • Sorting
Lab 10 + Exam practice problems Code from class:

Handout: Sorting

Article about Linus Torvalds

C++ More Popular

Final exam review sheet

Apr 15 MARATHON MONDAY
  • Monday: No lecture
  • Thursday: Regular lab (Seminar)
Seminar + Exam Review Slides: Final Exam Review
Apr 22 FINAL EXAM 4/22 6-9:00pm Final Exam