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)