Course Schedule
Part 1: Control Flow
Week 1
Mon: (Sep 04)
No class
Wed: Introduction (Sep 06)
- Class overview
- Resources for getting help
Read: Syllabus
Link to slides
Student Information Survey
Python3 (Anaconda3) installation: Windows,
MAC
Anaconda Removal from MAC
Assigned: Lab-P1, P1
Fri: Pseudocode (Sep 08)
- Flow of execution
- State
Read: Python for Everybody, Ch. 1
Link to worksheet: pdf,
docx
Link to worksheet solutions:
pdf
Week 2
Mon: Operators (Sep 11)
- Syntax, parsing, print
- Values and types
- Operator precedence
- Boolean logic
- Strings, escape charaters
- Comments
Read: Downey Ch 1
Read: Python for Everybody, Ch. 2
Additional Reading: Computer terminology
Link to worksheet: pdf, docx
Link to worksheet solutions: pdf
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Vars and Exprs (Sep 13)
- Naming rules
- Assignment statements
- Types of errors
Read: Downey Ch 2 and Appendix A
Read: Python for Everybody, Ch. 3
Due: P1
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Assigned 5:00 pm: Quiz 1
Assigned: Lab-P2, P2
Fri: Using Functions (Sep 15)
- Functions
- Arguments, return values
- input, print, type cast functions: int, float, str, bool
- Importing modules
- math Module
Read: Downey Ch 3 ("Function Calls" to "Composition")
Read: Python for Everybody, 5.1 - 5.4
Due: Student Information Survey
Due: Quiz1
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Week 3
Mon: Creating Functions (Sep 18)
- Blocks
- Positional arguments
- Keyword arguments
- default arguments
- return
Read: Downey Ch 3 ("Adding New Functions" to "Flow of Execution" and "Fruitful and Void Functions")
Read: Python for Everybody, 5.5 - 5.10
Read: Creating Fruitful Functions
Interactive Exercises
Link to worksheet: pdf, docx
Link to worksheet solutions: pdf
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Function Scope (Sep 20)
- Local vs. global
- Argument passing
- Frames
- Stack diagrams
Read: Downey Ch 3 ("Parameters and Arguments" to end)
Read: Python for Everybody, 5.11 - 5.16
Due: P2
Interactive Exercises
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Assigned 5:00 pm: Quiz 2
Assigned: Lab-P3, P3
Fri: Conditionals 1 (Sep 22)
- Boolean logic
- if, elif, else
- Blocks of code
Read: Downey Ch 5 ("Floor Division and Modulus" to "Nested Conditionals" and "Keyboard Input" to end)
and Ch 6 ("Return Values" to "Boolean Functions")
Read: Python for Everybody, 4.1 - 4.5
Optional: Downey Ch 4
Due: Quiz2
Interactive Exercises
Link to worksheet: pdf, docx
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Week 4
Mon: Conditionals 2 (Sep 25)
- Nesting
- Refactoring
Read: Python for Everybody, 4.6 - end (skip 4.7)
Interactive Exercises
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Iteration 1 (Sep 27)
- While Loop
- Loop Control Variable
- Infinite Iteration
- for i in range
Read: Downey Ch 7
Read: Python for Everybody, 6.1 - 6.3
Due: P3
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Assigned: Lab-P4, P4
Assigned 5:00 pm: Quiz 3
Fri: Iteration 2 (Sep 29)
- Nested Loops
- Break
- Continue
Read: Python for Everybody, 6.4
Read (Optional): Sweigart Ch 2
Due: Quiz3
Interactive Exercises
Link to worksheet: pdf, docx
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Week 5
Mon: Iteration Practice (Oct 02)
- for loops
- Count, min, max, filtering
- Nested loop tracing
Read: Python for Everybody, 6.5 - end
Link to worksheet: pdf
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Exam 1 review in lecture (Oct 04)
- Regular exam: 5:45 to 7:15 pm
- McBurney exam: 5:30 to 8:30 pm
Due: P4
Gurmail's Lecture: Notes
Assigned: Lab-P5, P5
Fri: Strings (Oct 06)
- Comparison
- String methods
- Strings are Sequences
- Indexing & Slicing
- For Loop, range()
Read: Downey Ch 8
Read: Python for Everybody, Ch. 7
Optional: Downey Ch 9
No quiz
Link to worksheet: pdf, docx
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Part 2: State
Week 6
Mon: Lists (Oct 09)
- Lists are Sequences
- Indexing & Slicing
- Lists are Mutable
- List Methods
Read: Downey Ch 10
Read: Python for Everybody, Ch. 9
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: CSV Files (Oct 11)
- Comparison to Spreadsheets
- Format
- Headers
- Lists of lists
Read: Sweigart Ch 16 (through "Reading Data from Reader Objects in a for Loop")
Due: P5
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Assigned: Lab-P6, P6
Week 7
Mon: Dictionaries 1 (Oct 16)
- Syntax
- Lookup
- Insert
- Pop
Read: Downey Ch 11 ("A Dictionary is a Mapping" through "Looping and Dictionaries")
Read: Python for Everybody, 10.1 - 10.7
Interactive Exercises
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Dictionaries 2 (Oct 18)
- Nesting
- dict of lists
- list of dicts
- dict of dicts
Read: Downey Ch 11 ("Dictionaries and Lists" and "Global Variables" to end)
Due: P6
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Assigned: Lab-P7, P7
Fri: JSON (Oct 20)
- Deserialization
- Serialization
- Python/JSON dfferences
Read: Sweigart Ch 16
Due: Quiz5
Link to slides
Link to worksheet: pdf, docx
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Week 8
Mon: Objects & Tuples (Oct 23)
- Mutability
- References
- tuple
- namedtuple
Read: Downey Ch 10 ("Objects and Values" and "Aliasing") and Ch 12
Read: Python for Everybody, 11.1 - 11.7
Interactive Exercises
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Copying (Oct 25)
- References
- Shallow Copy
- Deep Copy
Read: Sweigart Ch 4 ("References" through the end)
Due: P7
Interactive Exercises
Link to slides
Link to worksheet: pdf, docx
Link to worksheet solutions: pdf
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Assigned: Lab-P8, P8
Fri: Recursive Functions (Oct 27)
- Base/Recursive Cases
- Lists of Lists
- More Stack Diagrams
- Stack Overflow
Read: Downey Ch 5 ("Recursion" through "Infinite Recursion"), Ch 6 ("More Recursion" through end)
Due: Quiz6
Interactive Exercises
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Week 9
Mon: Function References (Oct 30)
- functions as objects
- sort
- lambda
Read: Python for Everybody, 10.8
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Comprehensions (Nov 01)
- review sorting
- list comprehensions
- dict comprehensions
Read: Downey Ch 19.2, 12.3
Due: P8
Link to worksheet: pdf, docx
Link to worksheet solutions: pdf
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Assigned: Lab-P9, P9
Fri: Error Handling (Nov 03)
- Assert Statements
- Catching Exceptions
- Throwing Exceptions
Read: Sweigart Ch 11 (beginning through "Assertions")
Due: Quiz7
Interactive Exercises
Link to worksheet: pdf, docx
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Week 10
Mon: Files and Directories (Nov 06)
- Reading
- Writing
- os module
Read: Downey Ch 14
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Exam 2 review in lecture (Nov 08)
- Regular exam: 5:45 to 7:15 pm
- McBurney exam: 5:30 to 8:30 pm
Gurmail's Lecture: Notes
Assigned: Lab-P10 , P10
Fri: Pandas 1 (DS topic) (Nov 10)
- Series
- element-wise operations
- mean, median, mode, quantiles
Required Reading: Pandas Intro Notebook (HTML or pandas-intro.ipynb)
No quiz
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Part 3: Data Science
Week 11
Mon: Pandas 2 (Nov 13)
- DataFrame
- reading CSVs
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Week 12
Mon: Web 3 (Nov 20)
- Document Object Model
- Parsing HTML
- beautifulsoup
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Database 1 (Nov 22)
- why use a database?
- sqlite3 module
- querying from Pandas
- basic query structure
Due: P11
Due: CS319 Project part 2: data set (Not applicable to CS220 students)
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Fri: No class (Nov 24)
- Thanksgiving recess
Week 13
Mon: Database 2 (Nov 27)
- min, max, sum, avg
- count, distinct
- group by
- having
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Plotting 1 (Nov 29)
- bar plots
- customizing plots
- setting the index
- making a bar for 'other'
Read: Matplotlib Intro (HTML or matplotlib-intro.ipynb and data)
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Released: Quiz9
Assigned: Lab-P12, P12
Fri: Plotting 2 (Dec 01)
- scatter plots
- correlation
Read: Line and Advanced Bar Plots (HTML, line-and-bar.ipynb and data)
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Due: Quiz9
Week 14
Mon: Database 3 (Dec 04)
- Worksheet
- Pandas <--> SQL
Link to worksheet: pdf, docx
Link to worksheet solution (partial): pdf
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Advanced Pandas Topics (Dec 06)
- np.NAN, isna, dropna, fillna
- set_index
- replace, apply
- groupby
- SQL vs pandas
Due: CS319 Project part 3: initial code (Not applicable to CS220 students)
Due: P12
Released: Quiz10
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Assigned: Lab-P13, P13
Week 15
Mon: Plotting 4 (Dec 11)
- axes limits
- logarithmic axes
- subplots
- adjacent plots
Read: Axes and Plot Design (HTML, axes.ipynb and data)
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Review/Catchup (Dec 13)
- Bring Questions
Due: No work accepted after today. No late days or extensions may be used.
Due: CS319 Project part 4: final code (Not applicable to CS220 students)
No quiz
Gurmail's Lecture: code
Due: P13
Fri: No class (Dec 15)
Week 16
Tuesday: Final Exam (December 19)
Regular final exam: 12/19/2023 7:45 am - 9:45 am
McBurney final exam:12/19/2023 7:45 am - 11:45 am
Alternate exam:12/19/2023 11:00 am - 1:00 pm
Mon: (Sep 04)
No classWed: Introduction (Sep 06)
- Class overview
- Resources for getting help
Link to slides
Student Information Survey
Python3 (Anaconda3) installation: Windows, MAC
Anaconda Removal from MAC
Assigned: Lab-P1, P1
Fri: Pseudocode (Sep 08)
- Flow of execution
- State
Link to worksheet: pdf, docx
Link to worksheet solutions: pdf
Mon: Operators (Sep 11)
- Syntax, parsing, print
- Values and types
- Operator precedence
- Boolean logic
- Strings, escape charaters
- Comments
Read: Python for Everybody, Ch. 2
Additional Reading: Computer terminology
Link to worksheet: pdf, docx
Link to worksheet solutions: pdf
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Vars and Exprs (Sep 13)
- Naming rules
- Assignment statements
- Types of errors
Read: Python for Everybody, Ch. 3
Due: P1
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Assigned 5:00 pm: Quiz 1
Assigned: Lab-P2, P2
Fri: Using Functions (Sep 15)
- Functions
- Arguments, return values
- input, print, type cast functions: int, float, str, bool
- Importing modules
- math Module
Read: Python for Everybody, 5.1 - 5.4
Due: Student Information Survey
Due: Quiz1
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Week 3
Mon: Creating Functions (Sep 18)
- Blocks
- Positional arguments
- Keyword arguments
- default arguments
- return
Read: Downey Ch 3 ("Adding New Functions" to "Flow of Execution" and "Fruitful and Void Functions")
Read: Python for Everybody, 5.5 - 5.10
Read: Creating Fruitful Functions
Interactive Exercises
Link to worksheet: pdf, docx
Link to worksheet solutions: pdf
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Function Scope (Sep 20)
- Local vs. global
- Argument passing
- Frames
- Stack diagrams
Read: Downey Ch 3 ("Parameters and Arguments" to end)
Read: Python for Everybody, 5.11 - 5.16
Due: P2
Interactive Exercises
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Assigned 5:00 pm: Quiz 2
Assigned: Lab-P3, P3
Fri: Conditionals 1 (Sep 22)
- Boolean logic
- if, elif, else
- Blocks of code
Read: Downey Ch 5 ("Floor Division and Modulus" to "Nested Conditionals" and "Keyboard Input" to end)
and Ch 6 ("Return Values" to "Boolean Functions")
Read: Python for Everybody, 4.1 - 4.5
Optional: Downey Ch 4
Due: Quiz2
Interactive Exercises
Link to worksheet: pdf, docx
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Week 4
Mon: Conditionals 2 (Sep 25)
- Nesting
- Refactoring
Read: Python for Everybody, 4.6 - end (skip 4.7)
Interactive Exercises
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Iteration 1 (Sep 27)
- While Loop
- Loop Control Variable
- Infinite Iteration
- for i in range
Read: Downey Ch 7
Read: Python for Everybody, 6.1 - 6.3
Due: P3
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Assigned: Lab-P4, P4
Assigned 5:00 pm: Quiz 3
Fri: Iteration 2 (Sep 29)
- Nested Loops
- Break
- Continue
Read: Python for Everybody, 6.4
Read (Optional): Sweigart Ch 2
Due: Quiz3
Interactive Exercises
Link to worksheet: pdf, docx
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Week 5
Mon: Iteration Practice (Oct 02)
- for loops
- Count, min, max, filtering
- Nested loop tracing
Read: Python for Everybody, 6.5 - end
Link to worksheet: pdf
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Exam 1 review in lecture (Oct 04)
- Regular exam: 5:45 to 7:15 pm
- McBurney exam: 5:30 to 8:30 pm
Due: P4
Gurmail's Lecture: Notes
Assigned: Lab-P5, P5
Fri: Strings (Oct 06)
- Comparison
- String methods
- Strings are Sequences
- Indexing & Slicing
- For Loop, range()
Read: Downey Ch 8
Read: Python for Everybody, Ch. 7
Optional: Downey Ch 9
No quiz
Link to worksheet: pdf, docx
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Part 2: State
Week 6
Mon: Lists (Oct 09)
- Lists are Sequences
- Indexing & Slicing
- Lists are Mutable
- List Methods
Read: Downey Ch 10
Read: Python for Everybody, Ch. 9
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: CSV Files (Oct 11)
- Comparison to Spreadsheets
- Format
- Headers
- Lists of lists
Read: Sweigart Ch 16 (through "Reading Data from Reader Objects in a for Loop")
Due: P5
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Assigned: Lab-P6, P6
Week 7
Mon: Dictionaries 1 (Oct 16)
- Syntax
- Lookup
- Insert
- Pop
Read: Downey Ch 11 ("A Dictionary is a Mapping" through "Looping and Dictionaries")
Read: Python for Everybody, 10.1 - 10.7
Interactive Exercises
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Dictionaries 2 (Oct 18)
- Nesting
- dict of lists
- list of dicts
- dict of dicts
Read: Downey Ch 11 ("Dictionaries and Lists" and "Global Variables" to end)
Due: P6
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Assigned: Lab-P7, P7
Fri: JSON (Oct 20)
- Deserialization
- Serialization
- Python/JSON dfferences
Read: Sweigart Ch 16
Due: Quiz5
Link to slides
Link to worksheet: pdf, docx
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Week 8
Mon: Objects & Tuples (Oct 23)
- Mutability
- References
- tuple
- namedtuple
Read: Downey Ch 10 ("Objects and Values" and "Aliasing") and Ch 12
Read: Python for Everybody, 11.1 - 11.7
Interactive Exercises
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Copying (Oct 25)
- References
- Shallow Copy
- Deep Copy
Read: Sweigart Ch 4 ("References" through the end)
Due: P7
Interactive Exercises
Link to slides
Link to worksheet: pdf, docx
Link to worksheet solutions: pdf
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Assigned: Lab-P8, P8
Fri: Recursive Functions (Oct 27)
- Base/Recursive Cases
- Lists of Lists
- More Stack Diagrams
- Stack Overflow
Read: Downey Ch 5 ("Recursion" through "Infinite Recursion"), Ch 6 ("More Recursion" through end)
Due: Quiz6
Interactive Exercises
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Week 9
Mon: Function References (Oct 30)
- functions as objects
- sort
- lambda
Read: Python for Everybody, 10.8
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Comprehensions (Nov 01)
- review sorting
- list comprehensions
- dict comprehensions
Read: Downey Ch 19.2, 12.3
Due: P8
Link to worksheet: pdf, docx
Link to worksheet solutions: pdf
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Assigned: Lab-P9, P9
Fri: Error Handling (Nov 03)
- Assert Statements
- Catching Exceptions
- Throwing Exceptions
Read: Sweigart Ch 11 (beginning through "Assertions")
Due: Quiz7
Interactive Exercises
Link to worksheet: pdf, docx
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Week 10
Mon: Files and Directories (Nov 06)
- Reading
- Writing
- os module
Read: Downey Ch 14
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Exam 2 review in lecture (Nov 08)
- Regular exam: 5:45 to 7:15 pm
- McBurney exam: 5:30 to 8:30 pm
Gurmail's Lecture: Notes
Assigned: Lab-P10 , P10
Fri: Pandas 1 (DS topic) (Nov 10)
- Series
- element-wise operations
- mean, median, mode, quantiles
Required Reading: Pandas Intro Notebook (HTML or pandas-intro.ipynb)
No quiz
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Part 3: Data Science
Week 11
Mon: Pandas 2 (Nov 13)
- DataFrame
- reading CSVs
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Week 12
Mon: Web 3 (Nov 20)
- Document Object Model
- Parsing HTML
- beautifulsoup
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Database 1 (Nov 22)
- why use a database?
- sqlite3 module
- querying from Pandas
- basic query structure
Due: P11
Due: CS319 Project part 2: data set (Not applicable to CS220 students)
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Fri: No class (Nov 24)
- Thanksgiving recess
Week 13
Mon: Database 2 (Nov 27)
- min, max, sum, avg
- count, distinct
- group by
- having
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Plotting 1 (Nov 29)
- bar plots
- customizing plots
- setting the index
- making a bar for 'other'
Read: Matplotlib Intro (HTML or matplotlib-intro.ipynb and data)
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Released: Quiz9
Assigned: Lab-P12, P12
Fri: Plotting 2 (Dec 01)
- scatter plots
- correlation
Read: Line and Advanced Bar Plots (HTML, line-and-bar.ipynb and data)
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Due: Quiz9
Week 14
Mon: Database 3 (Dec 04)
- Worksheet
- Pandas <--> SQL
Link to worksheet: pdf, docx
Link to worksheet solution (partial): pdf
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Advanced Pandas Topics (Dec 06)
- np.NAN, isna, dropna, fillna
- set_index
- replace, apply
- groupby
- SQL vs pandas
Due: CS319 Project part 3: initial code (Not applicable to CS220 students)
Due: P12
Released: Quiz10
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Assigned: Lab-P13, P13
Week 15
Mon: Plotting 4 (Dec 11)
- axes limits
- logarithmic axes
- subplots
- adjacent plots
Read: Axes and Plot Design (HTML, axes.ipynb and data)
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Review/Catchup (Dec 13)
- Bring Questions
Due: No work accepted after today. No late days or extensions may be used.
Due: CS319 Project part 4: final code (Not applicable to CS220 students)
No quiz
Gurmail's Lecture: code
Due: P13
Fri: No class (Dec 15)
Week 16
Tuesday: Final Exam (December 19)
Regular final exam: 12/19/2023 7:45 am - 9:45 am
McBurney final exam:12/19/2023 7:45 am - 11:45 am
Alternate exam:12/19/2023 11:00 am - 1:00 pm
Mon: Creating Functions (Sep 18)
- Blocks
- Positional arguments
- Keyword arguments
- default arguments
- return
Read: Python for Everybody, 5.5 - 5.10
Read: Creating Fruitful Functions
Interactive Exercises
Link to worksheet: pdf, docx
Link to worksheet solutions: pdf
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Function Scope (Sep 20)
- Local vs. global
- Argument passing
- Frames
- Stack diagrams
Read: Python for Everybody, 5.11 - 5.16
Due: P2
Interactive Exercises
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Assigned 5:00 pm: Quiz 2
Assigned: Lab-P3, P3
Fri: Conditionals 1 (Sep 22)
- Boolean logic
- if, elif, else
- Blocks of code
Read: Python for Everybody, 4.1 - 4.5
Optional: Downey Ch 4
Due: Quiz2
Interactive Exercises
Link to worksheet: pdf, docx
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Mon: Conditionals 2 (Sep 25)
- Nesting
- Refactoring
Interactive Exercises
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Iteration 1 (Sep 27)
- While Loop
- Loop Control Variable
- Infinite Iteration
- for i in range
Read: Python for Everybody, 6.1 - 6.3
Due: P3
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Assigned: Lab-P4, P4
Assigned 5:00 pm: Quiz 3
Fri: Iteration 2 (Sep 29)
- Nested Loops
- Break
- Continue
Read (Optional): Sweigart Ch 2
Due: Quiz3
Interactive Exercises
Link to worksheet: pdf, docx
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Week 5
Mon: Iteration Practice (Oct 02)
- for loops
- Count, min, max, filtering
- Nested loop tracing
Read: Python for Everybody, 6.5 - end
Link to worksheet: pdf
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Exam 1 review in lecture (Oct 04)
- Regular exam: 5:45 to 7:15 pm
- McBurney exam: 5:30 to 8:30 pm
Due: P4
Gurmail's Lecture: Notes
Assigned: Lab-P5, P5
Fri: Strings (Oct 06)
- Comparison
- String methods
- Strings are Sequences
- Indexing & Slicing
- For Loop, range()
Read: Downey Ch 8
Read: Python for Everybody, Ch. 7
Optional: Downey Ch 9
No quiz
Link to worksheet: pdf, docx
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Part 2: State
Week 6
Mon: Lists (Oct 09)
- Lists are Sequences
- Indexing & Slicing
- Lists are Mutable
- List Methods
Read: Downey Ch 10
Read: Python for Everybody, Ch. 9
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: CSV Files (Oct 11)
- Comparison to Spreadsheets
- Format
- Headers
- Lists of lists
Read: Sweigart Ch 16 (through "Reading Data from Reader Objects in a for Loop")
Due: P5
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Assigned: Lab-P6, P6
Week 7
Mon: Dictionaries 1 (Oct 16)
- Syntax
- Lookup
- Insert
- Pop
Read: Downey Ch 11 ("A Dictionary is a Mapping" through "Looping and Dictionaries")
Read: Python for Everybody, 10.1 - 10.7
Interactive Exercises
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Dictionaries 2 (Oct 18)
- Nesting
- dict of lists
- list of dicts
- dict of dicts
Read: Downey Ch 11 ("Dictionaries and Lists" and "Global Variables" to end)
Due: P6
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Assigned: Lab-P7, P7
Fri: JSON (Oct 20)
- Deserialization
- Serialization
- Python/JSON dfferences
Read: Sweigart Ch 16
Due: Quiz5
Link to slides
Link to worksheet: pdf, docx
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Week 8
Mon: Objects & Tuples (Oct 23)
- Mutability
- References
- tuple
- namedtuple
Read: Downey Ch 10 ("Objects and Values" and "Aliasing") and Ch 12
Read: Python for Everybody, 11.1 - 11.7
Interactive Exercises
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Copying (Oct 25)
- References
- Shallow Copy
- Deep Copy
Read: Sweigart Ch 4 ("References" through the end)
Due: P7
Interactive Exercises
Link to slides
Link to worksheet: pdf, docx
Link to worksheet solutions: pdf
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Assigned: Lab-P8, P8
Fri: Recursive Functions (Oct 27)
- Base/Recursive Cases
- Lists of Lists
- More Stack Diagrams
- Stack Overflow
Read: Downey Ch 5 ("Recursion" through "Infinite Recursion"), Ch 6 ("More Recursion" through end)
Due: Quiz6
Interactive Exercises
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Week 9
Mon: Function References (Oct 30)
- functions as objects
- sort
- lambda
Read: Python for Everybody, 10.8
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Comprehensions (Nov 01)
- review sorting
- list comprehensions
- dict comprehensions
Read: Downey Ch 19.2, 12.3
Due: P8
Link to worksheet: pdf, docx
Link to worksheet solutions: pdf
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Assigned: Lab-P9, P9
Fri: Error Handling (Nov 03)
- Assert Statements
- Catching Exceptions
- Throwing Exceptions
Read: Sweigart Ch 11 (beginning through "Assertions")
Due: Quiz7
Interactive Exercises
Link to worksheet: pdf, docx
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Week 10
Mon: Files and Directories (Nov 06)
- Reading
- Writing
- os module
Read: Downey Ch 14
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Exam 2 review in lecture (Nov 08)
- Regular exam: 5:45 to 7:15 pm
- McBurney exam: 5:30 to 8:30 pm
Gurmail's Lecture: Notes
Assigned: Lab-P10 , P10
Fri: Pandas 1 (DS topic) (Nov 10)
- Series
- element-wise operations
- mean, median, mode, quantiles
Required Reading: Pandas Intro Notebook (HTML or pandas-intro.ipynb)
No quiz
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Part 3: Data Science
Week 11
Mon: Pandas 2 (Nov 13)
- DataFrame
- reading CSVs
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Week 12
Mon: Web 3 (Nov 20)
- Document Object Model
- Parsing HTML
- beautifulsoup
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Database 1 (Nov 22)
- why use a database?
- sqlite3 module
- querying from Pandas
- basic query structure
Due: P11
Due: CS319 Project part 2: data set (Not applicable to CS220 students)
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Fri: No class (Nov 24)
- Thanksgiving recess
Week 13
Mon: Database 2 (Nov 27)
- min, max, sum, avg
- count, distinct
- group by
- having
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Plotting 1 (Nov 29)
- bar plots
- customizing plots
- setting the index
- making a bar for 'other'
Read: Matplotlib Intro (HTML or matplotlib-intro.ipynb and data)
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Released: Quiz9
Assigned: Lab-P12, P12
Fri: Plotting 2 (Dec 01)
- scatter plots
- correlation
Read: Line and Advanced Bar Plots (HTML, line-and-bar.ipynb and data)
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Due: Quiz9
Week 14
Mon: Database 3 (Dec 04)
- Worksheet
- Pandas <--> SQL
Link to worksheet: pdf, docx
Link to worksheet solution (partial): pdf
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Advanced Pandas Topics (Dec 06)
- np.NAN, isna, dropna, fillna
- set_index
- replace, apply
- groupby
- SQL vs pandas
Due: CS319 Project part 3: initial code (Not applicable to CS220 students)
Due: P12
Released: Quiz10
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Assigned: Lab-P13, P13
Week 15
Mon: Plotting 4 (Dec 11)
- axes limits
- logarithmic axes
- subplots
- adjacent plots
Read: Axes and Plot Design (HTML, axes.ipynb and data)
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Review/Catchup (Dec 13)
- Bring Questions
Due: No work accepted after today. No late days or extensions may be used.
Due: CS319 Project part 4: final code (Not applicable to CS220 students)
No quiz
Gurmail's Lecture: code
Due: P13
Fri: No class (Dec 15)
Week 16
Tuesday: Final Exam (December 19)
Regular final exam: 12/19/2023 7:45 am - 9:45 am
McBurney final exam:12/19/2023 7:45 am - 11:45 am
Alternate exam:12/19/2023 11:00 am - 1:00 pm
Mon: Iteration Practice (Oct 02)
- for loops
- Count, min, max, filtering
- Nested loop tracing
Link to worksheet: pdf
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Exam 1 review in lecture (Oct 04)
- Regular exam: 5:45 to 7:15 pm
- McBurney exam: 5:30 to 8:30 pm
Gurmail's Lecture: Notes
Assigned: Lab-P5, P5
Fri: Strings (Oct 06)
- Comparison
- String methods
- Strings are Sequences
- Indexing & Slicing
- For Loop, range()
Read: Python for Everybody, Ch. 7
Optional: Downey Ch 9
No quiz
Link to worksheet: pdf, docx
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Mon: Lists (Oct 09)
- Lists are Sequences
- Indexing & Slicing
- Lists are Mutable
- List Methods
Read: Python for Everybody, Ch. 9
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: CSV Files (Oct 11)
- Comparison to Spreadsheets
- Format
- Headers
- Lists of lists
Due: P5
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Assigned: Lab-P6, P6
Week 7
Mon: Dictionaries 1 (Oct 16)
- Syntax
- Lookup
- Insert
- Pop
Read: Downey Ch 11 ("A Dictionary is a Mapping" through "Looping and Dictionaries")
Read: Python for Everybody, 10.1 - 10.7
Interactive Exercises
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Dictionaries 2 (Oct 18)
- Nesting
- dict of lists
- list of dicts
- dict of dicts
Read: Downey Ch 11 ("Dictionaries and Lists" and "Global Variables" to end)
Due: P6
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Assigned: Lab-P7, P7
Fri: JSON (Oct 20)
- Deserialization
- Serialization
- Python/JSON dfferences
Read: Sweigart Ch 16
Due: Quiz5
Link to slides
Link to worksheet: pdf, docx
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Week 8
Mon: Objects & Tuples (Oct 23)
- Mutability
- References
- tuple
- namedtuple
Read: Downey Ch 10 ("Objects and Values" and "Aliasing") and Ch 12
Read: Python for Everybody, 11.1 - 11.7
Interactive Exercises
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Copying (Oct 25)
- References
- Shallow Copy
- Deep Copy
Read: Sweigart Ch 4 ("References" through the end)
Due: P7
Interactive Exercises
Link to slides
Link to worksheet: pdf, docx
Link to worksheet solutions: pdf
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Assigned: Lab-P8, P8
Fri: Recursive Functions (Oct 27)
- Base/Recursive Cases
- Lists of Lists
- More Stack Diagrams
- Stack Overflow
Read: Downey Ch 5 ("Recursion" through "Infinite Recursion"), Ch 6 ("More Recursion" through end)
Due: Quiz6
Interactive Exercises
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Week 9
Mon: Function References (Oct 30)
- functions as objects
- sort
- lambda
Read: Python for Everybody, 10.8
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Comprehensions (Nov 01)
- review sorting
- list comprehensions
- dict comprehensions
Read: Downey Ch 19.2, 12.3
Due: P8
Link to worksheet: pdf, docx
Link to worksheet solutions: pdf
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Assigned: Lab-P9, P9
Fri: Error Handling (Nov 03)
- Assert Statements
- Catching Exceptions
- Throwing Exceptions
Read: Sweigart Ch 11 (beginning through "Assertions")
Due: Quiz7
Interactive Exercises
Link to worksheet: pdf, docx
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Week 10
Mon: Files and Directories (Nov 06)
- Reading
- Writing
- os module
Read: Downey Ch 14
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Exam 2 review in lecture (Nov 08)
- Regular exam: 5:45 to 7:15 pm
- McBurney exam: 5:30 to 8:30 pm
Gurmail's Lecture: Notes
Assigned: Lab-P10 , P10
Fri: Pandas 1 (DS topic) (Nov 10)
- Series
- element-wise operations
- mean, median, mode, quantiles
Required Reading: Pandas Intro Notebook (HTML or pandas-intro.ipynb)
No quiz
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Part 3: Data Science
Week 11
Mon: Pandas 2 (Nov 13)
- DataFrame
- reading CSVs
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Week 12
Mon: Web 3 (Nov 20)
- Document Object Model
- Parsing HTML
- beautifulsoup
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Database 1 (Nov 22)
- why use a database?
- sqlite3 module
- querying from Pandas
- basic query structure
Due: P11
Due: CS319 Project part 2: data set (Not applicable to CS220 students)
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Fri: No class (Nov 24)
- Thanksgiving recess
Week 13
Mon: Database 2 (Nov 27)
- min, max, sum, avg
- count, distinct
- group by
- having
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Plotting 1 (Nov 29)
- bar plots
- customizing plots
- setting the index
- making a bar for 'other'
Read: Matplotlib Intro (HTML or matplotlib-intro.ipynb and data)
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Released: Quiz9
Assigned: Lab-P12, P12
Fri: Plotting 2 (Dec 01)
- scatter plots
- correlation
Read: Line and Advanced Bar Plots (HTML, line-and-bar.ipynb and data)
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Due: Quiz9
Week 14
Mon: Database 3 (Dec 04)
- Worksheet
- Pandas <--> SQL
Link to worksheet: pdf, docx
Link to worksheet solution (partial): pdf
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Advanced Pandas Topics (Dec 06)
- np.NAN, isna, dropna, fillna
- set_index
- replace, apply
- groupby
- SQL vs pandas
Due: CS319 Project part 3: initial code (Not applicable to CS220 students)
Due: P12
Released: Quiz10
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Assigned: Lab-P13, P13
Week 15
Mon: Plotting 4 (Dec 11)
- axes limits
- logarithmic axes
- subplots
- adjacent plots
Read: Axes and Plot Design (HTML, axes.ipynb and data)
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Review/Catchup (Dec 13)
- Bring Questions
Due: No work accepted after today. No late days or extensions may be used.
Due: CS319 Project part 4: final code (Not applicable to CS220 students)
No quiz
Gurmail's Lecture: code
Due: P13
Fri: No class (Dec 15)
Week 16
Tuesday: Final Exam (December 19)
Regular final exam: 12/19/2023 7:45 am - 9:45 am
McBurney final exam:12/19/2023 7:45 am - 11:45 am
Alternate exam:12/19/2023 11:00 am - 1:00 pm
Mon: Dictionaries 1 (Oct 16)
- Syntax
- Lookup
- Insert
- Pop
Read: Python for Everybody, 10.1 - 10.7
Interactive Exercises
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Dictionaries 2 (Oct 18)
- Nesting
- dict of lists
- list of dicts
- dict of dicts
Due: P6
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Assigned: Lab-P7, P7
Fri: JSON (Oct 20)
- Deserialization
- Serialization
- Python/JSON dfferences
Due: Quiz5
Link to slides
Link to worksheet: pdf, docx
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Mon: Objects & Tuples (Oct 23)
- Mutability
- References
- tuple
- namedtuple
Read: Python for Everybody, 11.1 - 11.7
Interactive Exercises
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Copying (Oct 25)
- References
- Shallow Copy
- Deep Copy
Due: P7
Interactive Exercises
Link to slides
Link to worksheet: pdf, docx
Link to worksheet solutions: pdf
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Assigned: Lab-P8, P8
Fri: Recursive Functions (Oct 27)
- Base/Recursive Cases
- Lists of Lists
- More Stack Diagrams
- Stack Overflow
Due: Quiz6
Interactive Exercises
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Week 9
Mon: Function References (Oct 30)
- functions as objects
- sort
- lambda
Read: Python for Everybody, 10.8
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Comprehensions (Nov 01)
- review sorting
- list comprehensions
- dict comprehensions
Read: Downey Ch 19.2, 12.3
Due: P8
Link to worksheet: pdf, docx
Link to worksheet solutions: pdf
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Assigned: Lab-P9, P9
Fri: Error Handling (Nov 03)
- Assert Statements
- Catching Exceptions
- Throwing Exceptions
Read: Sweigart Ch 11 (beginning through "Assertions")
Due: Quiz7
Interactive Exercises
Link to worksheet: pdf, docx
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Week 10
Mon: Files and Directories (Nov 06)
- Reading
- Writing
- os module
Read: Downey Ch 14
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Exam 2 review in lecture (Nov 08)
- Regular exam: 5:45 to 7:15 pm
- McBurney exam: 5:30 to 8:30 pm
Gurmail's Lecture: Notes
Assigned: Lab-P10 , P10
Fri: Pandas 1 (DS topic) (Nov 10)
- Series
- element-wise operations
- mean, median, mode, quantiles
Required Reading: Pandas Intro Notebook (HTML or pandas-intro.ipynb)
No quiz
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Part 3: Data Science
Week 11
Mon: Pandas 2 (Nov 13)
- DataFrame
- reading CSVs
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Week 12
Mon: Web 3 (Nov 20)
- Document Object Model
- Parsing HTML
- beautifulsoup
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Database 1 (Nov 22)
- why use a database?
- sqlite3 module
- querying from Pandas
- basic query structure
Due: P11
Due: CS319 Project part 2: data set (Not applicable to CS220 students)
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Fri: No class (Nov 24)
- Thanksgiving recess
Week 13
Mon: Database 2 (Nov 27)
- min, max, sum, avg
- count, distinct
- group by
- having
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Plotting 1 (Nov 29)
- bar plots
- customizing plots
- setting the index
- making a bar for 'other'
Read: Matplotlib Intro (HTML or matplotlib-intro.ipynb and data)
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Released: Quiz9
Assigned: Lab-P12, P12
Fri: Plotting 2 (Dec 01)
- scatter plots
- correlation
Read: Line and Advanced Bar Plots (HTML, line-and-bar.ipynb and data)
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Due: Quiz9
Week 14
Mon: Database 3 (Dec 04)
- Worksheet
- Pandas <--> SQL
Link to worksheet: pdf, docx
Link to worksheet solution (partial): pdf
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Advanced Pandas Topics (Dec 06)
- np.NAN, isna, dropna, fillna
- set_index
- replace, apply
- groupby
- SQL vs pandas
Due: CS319 Project part 3: initial code (Not applicable to CS220 students)
Due: P12
Released: Quiz10
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Assigned: Lab-P13, P13
Week 15
Mon: Plotting 4 (Dec 11)
- axes limits
- logarithmic axes
- subplots
- adjacent plots
Read: Axes and Plot Design (HTML, axes.ipynb and data)
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Review/Catchup (Dec 13)
- Bring Questions
Due: No work accepted after today. No late days or extensions may be used.
Due: CS319 Project part 4: final code (Not applicable to CS220 students)
No quiz
Gurmail's Lecture: code
Due: P13
Fri: No class (Dec 15)
Week 16
Tuesday: Final Exam (December 19)
Regular final exam: 12/19/2023 7:45 am - 9:45 am
McBurney final exam:12/19/2023 7:45 am - 11:45 am
Alternate exam:12/19/2023 11:00 am - 1:00 pm
Mon: Function References (Oct 30)
- functions as objects
- sort
- lambda
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Comprehensions (Nov 01)
- review sorting
- list comprehensions
- dict comprehensions
Due: P8
Link to worksheet: pdf, docx
Link to worksheet solutions: pdf
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Assigned: Lab-P9, P9
Fri: Error Handling (Nov 03)
- Assert Statements
- Catching Exceptions
- Throwing Exceptions
Due: Quiz7
Interactive Exercises
Link to worksheet: pdf, docx
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Mon: Files and Directories (Nov 06)
- Reading
- Writing
- os module
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Exam 2 review in lecture (Nov 08)
- Regular exam: 5:45 to 7:15 pm
- McBurney exam: 5:30 to 8:30 pm
Assigned: Lab-P10 , P10
Fri: Pandas 1 (DS topic) (Nov 10)
- Series
- element-wise operations
- mean, median, mode, quantiles
No quiz
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Part 3: Data Science
Week 11
Mon: Pandas 2 (Nov 13)
- DataFrame
- reading CSVs
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Week 12
Mon: Web 3 (Nov 20)
- Document Object Model
- Parsing HTML
- beautifulsoup
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Database 1 (Nov 22)
- why use a database?
- sqlite3 module
- querying from Pandas
- basic query structure
Due: P11
Due: CS319 Project part 2: data set (Not applicable to CS220 students)
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Fri: No class (Nov 24)
- Thanksgiving recess
Week 13
Mon: Database 2 (Nov 27)
- min, max, sum, avg
- count, distinct
- group by
- having
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Plotting 1 (Nov 29)
- bar plots
- customizing plots
- setting the index
- making a bar for 'other'
Read: Matplotlib Intro (HTML or matplotlib-intro.ipynb and data)
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Released: Quiz9
Assigned: Lab-P12, P12
Fri: Plotting 2 (Dec 01)
- scatter plots
- correlation
Read: Line and Advanced Bar Plots (HTML, line-and-bar.ipynb and data)
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Due: Quiz9
Week 14
Mon: Database 3 (Dec 04)
- Worksheet
- Pandas <--> SQL
Link to worksheet: pdf, docx
Link to worksheet solution (partial): pdf
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Advanced Pandas Topics (Dec 06)
- np.NAN, isna, dropna, fillna
- set_index
- replace, apply
- groupby
- SQL vs pandas
Due: CS319 Project part 3: initial code (Not applicable to CS220 students)
Due: P12
Released: Quiz10
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Assigned: Lab-P13, P13
Week 15
Mon: Plotting 4 (Dec 11)
- axes limits
- logarithmic axes
- subplots
- adjacent plots
Read: Axes and Plot Design (HTML, axes.ipynb and data)
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Review/Catchup (Dec 13)
- Bring Questions
Due: No work accepted after today. No late days or extensions may be used.
Due: CS319 Project part 4: final code (Not applicable to CS220 students)
No quiz
Gurmail's Lecture: code
Due: P13
Fri: No class (Dec 15)
Week 16
Tuesday: Final Exam (December 19)
Regular final exam: 12/19/2023 7:45 am - 9:45 am
McBurney final exam:12/19/2023 7:45 am - 11:45 am
Alternate exam:12/19/2023 11:00 am - 1:00 pm
Mon: Pandas 2 (Nov 13)
- DataFrame
- reading CSVs
Gurmail's Lecture: code
Cole's Lecture: code
Mon: Web 3 (Nov 20)
- Document Object Model
- Parsing HTML
- beautifulsoup
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Database 1 (Nov 22)
- why use a database?
- sqlite3 module
- querying from Pandas
- basic query structure
Due: CS319 Project part 2: data set (Not applicable to CS220 students)
Link to slides
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Fri: No class (Nov 24)
- Thanksgiving recess
Week 13
Mon: Database 2 (Nov 27)
- min, max, sum, avg
- count, distinct
- group by
- having
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Plotting 1 (Nov 29)
- bar plots
- customizing plots
- setting the index
- making a bar for 'other'
Read: Matplotlib Intro (HTML or matplotlib-intro.ipynb and data)
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Released: Quiz9
Assigned: Lab-P12, P12
Fri: Plotting 2 (Dec 01)
- scatter plots
- correlation
Read: Line and Advanced Bar Plots (HTML, line-and-bar.ipynb and data)
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Due: Quiz9
Week 14
Mon: Database 3 (Dec 04)
- Worksheet
- Pandas <--> SQL
Link to worksheet: pdf, docx
Link to worksheet solution (partial): pdf
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Advanced Pandas Topics (Dec 06)
- np.NAN, isna, dropna, fillna
- set_index
- replace, apply
- groupby
- SQL vs pandas
Due: CS319 Project part 3: initial code (Not applicable to CS220 students)
Due: P12
Released: Quiz10
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Assigned: Lab-P13, P13
Week 15
Mon: Plotting 4 (Dec 11)
- axes limits
- logarithmic axes
- subplots
- adjacent plots
Read: Axes and Plot Design (HTML, axes.ipynb and data)
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Review/Catchup (Dec 13)
- Bring Questions
Due: No work accepted after today. No late days or extensions may be used.
Due: CS319 Project part 4: final code (Not applicable to CS220 students)
No quiz
Gurmail's Lecture: code
Due: P13
Fri: No class (Dec 15)
Week 16
Tuesday: Final Exam (December 19)
Regular final exam: 12/19/2023 7:45 am - 9:45 am
McBurney final exam:12/19/2023 7:45 am - 11:45 am
Alternate exam:12/19/2023 11:00 am - 1:00 pm
Mon: Database 2 (Nov 27)
- min, max, sum, avg
- count, distinct
- group by
- having
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Plotting 1 (Nov 29)
- bar plots
- customizing plots
- setting the index
- making a bar for 'other'
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Released: Quiz9
Assigned: Lab-P12, P12
Fri: Plotting 2 (Dec 01)
- scatter plots
- correlation
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Due: Quiz9
Mon: Database 3 (Dec 04)
- Worksheet
- Pandas <--> SQL
Link to worksheet solution (partial): pdf
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Advanced Pandas Topics (Dec 06)
- np.NAN, isna, dropna, fillna
- set_index
- replace, apply
- groupby
- SQL vs pandas
Due: P12
Released: Quiz10
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Assigned: Lab-P13, P13
Week 15
Mon: Plotting 4 (Dec 11)
- axes limits
- logarithmic axes
- subplots
- adjacent plots
Read: Axes and Plot Design (HTML, axes.ipynb and data)
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Review/Catchup (Dec 13)
- Bring Questions
Due: No work accepted after today. No late days or extensions may be used.
Due: CS319 Project part 4: final code (Not applicable to CS220 students)
No quiz
Gurmail's Lecture: code
Due: P13
Fri: No class (Dec 15)
Week 16
Tuesday: Final Exam (December 19)
Regular final exam: 12/19/2023 7:45 am - 9:45 am
McBurney final exam:12/19/2023 7:45 am - 11:45 am
Alternate exam:12/19/2023 11:00 am - 1:00 pm
Mon: Plotting 4 (Dec 11)
- axes limits
- logarithmic axes
- subplots
- adjacent plots
Mike's Lecture: code
Gurmail's Lecture: code
Cole's Lecture: code
Wed: Review/Catchup (Dec 13)
- Bring Questions
Due: CS319 Project part 4: final code (Not applicable to CS220 students)
No quiz
Gurmail's Lecture: code
Due: P13
Fri: No class (Dec 15)
Tuesday: Final Exam (December 19)
Regular final exam: 12/19/2023 7:45 am - 9:45 amMcBurney final exam:12/19/2023 7:45 am - 11:45 am
Alternate exam:12/19/2023 11:00 am - 1:00 pm