ENGI 1020
News
Schedule
Lectures
Assignments
Exercises
Labs
Examples
Resources
Lectures
Questions and next steps
Files and pickles
Real numbers
Integer representation
Top-down design
Dictionaries
Sets
Tuples
Packages and plotting
Objects and methods
Modules
Recursion
Testing
Local variables
Functions
More fun with lists
Slices
Ranges and lists
Iteration and strings
Loops
If statements
Identifiers and Control Flow
Variables
Further expressions
Logic
Functions
Expressions
Introduction
Lectures
The course’s lecture content (slides and notes) will be posted here.
Questions and next steps
Time to answer your questions, plus suggestions of where to go from here
Slides
Notes
Files and pickles
Storing data in files
Slides
Notes
Real numbers
How computers store fixed- and floating-point numbers
Slides
Notes
Integer representation
How computers store integers in bits
Slides
Notes
Top-down design
How to think about solving big problems
Slides
Notes
Dictionaries
Yet another helpful type of collection
Slides
Notes
dicts.py
Sets
Yet another helpful type of collection
Slides
Notes
streets.py
Tuples
Another helpful type of collection
Slides
Notes
divide.py
foo.py
Packages and plotting
Packages, licensing, numpy and matplotlib
Slides
Notes
examples.py
plotting.py
Objects and methods
Objects, their methods and how we call them
Slides
Notes
plotting.py
Modules
Organizing Python code in multiple files
Slides
Notes
goodstuff.py
morestuff.py
script.py
Recursion
Recursive functions that use recursive functions
Slides
Notes
recursion.py
Testing
How can we check our code’s behaviour?
Slides
Notes
Local variables
Local variables within functions
Slides
Notes
args.py
scope.py
Functions
Writing (rather than just calling) functions
Slides
Notes
functions.py
More fun with lists
List comprehensions and the
in
keyword
Slides
Notes
eopa.py
Slices
Slicing and dicing Python iterables
Slides
Notes
indices.py
Ranges and lists
The
range()
function and the
list
data structure
Slides
Notes
squares.py
Iteration and strings
The
for
loop, iterating over strings
Slides
Notes
strings.py
Loops
Repeating things over and over and over and over and …
Slides
Notes
light.py
If statements
Examples of working with control flow
Slides
Notes
coat.py
stress.py
Identifiers and Control Flow
Valid names and non-linear control flow
Slides
Notes
quest.py
Variables
Variables in programming and how they differ from mathematics
Slides
Notes
python.py
Further expressions
Variables in programming and how they differ from mathematics
Slides
Logic
Propositional logic
Slides
Notes
Functions
A few more details about expressions and how we evaluate them, plus our first use of functions
Slides
Notes
Expressions
How are expressions in programming similar to (and different from) those in mathematics?
Slides
Notes
Introduction
Why study programming? How can I succeed? How do we solve problems with software?
Slides
Notes