CMSC 14100: Introduction to Computer Science I (Autumn 2022)
This is a place for my CS 141 materials. Please see Canvas for the official course website.
Lecture notes
These are my lecture notes, and this should be interpreted in the plainest sense: these are notes that I use for my lectures. They are meant to be an approximate record of what I covered or intended to cover, as well as some personal points of emphasis.
Lecture notes will typically go up after lectures sometime that day.
- September 28
- Introduction
- September 30
- Using a computer to program
- October 3
- Working with data
- October 5
- Boolean expressions and conditional statements
- October 7
- Looping
- October 10
- Lists and mutation
- October 12
- Iteration over lists, tuples,
while
- October 14
- More on types and strings
- October 17
- Functions
- October 19
return, optional parameters
- October 21
- Scope
- October 24
- Files
- October 26
- Dictionaries
- October 28
- Computational complexity
- October 31
- Abstract data types
- November 2
- Classes
- November 4
- Modelling with classes
- November 7
- Exceptions
- November 9
- Recursion
- November 11
- Recursion on lists and sorting
- November 14
- Trees
- November 16
- Binary search trees
- November 18
- Tail recursion and accumulators, generative recursion and mergesort
- November 28
- Binary search, comprehensions
- November 30
- Executables and command line arguments
- December 2
- Logging
- Wrapup and Q&A (no notes)