Contents

This is an unofficial listing of the course content for CSE 111 Programming with Functions. Please see I‑Learn for the official list, including quizzes and due dates.

Overview
Syllabus
Help
Lesson 1 - Getting Started
Activity Domain Topics Computing Topics
Development environment
Prepare input, data types, arithmetic, f-strings, print, if, logic
Prepare: Checkpoint exercise heart rates input, int, arithmetic, f-strings, print
Teach: Class Activity
(for campus sections)
pendulum input, float, arithmetic, f-strings, print
Prove: Milestone tire volume input, float, arithmetic, f-strings, print
Lesson 2 - Calling Functions
Activity Domain Topics Computing Topics
Prepare calling built-in functions, functions in standard modules, and methods; named arguments.
Prepare: Checkpoint items per box math.ceil
Teach: Team Activity purchase discount selection, datetime.now, datetime.weekday
Prove: Assignment tire volume datetime.now, datetime format codes, open, print
Lesson 3 - Writing Functions
Activity Domain Topics Computing Topics
Prepare user-defined function, header, parameter, body, return, main
Prepare: Checkpoint fuel efficiency writing functions, main
Teach: Team Activity fitness: body mass index, basal metabolic rate writing functions, main
Prove: Milestone English parts of speech, generate a sentence writing and calling functions
Lesson 4 - Function Details
Activity Domain Topics Computing Topics
Prepare variable scope, default parameter values, optional arguments, function design heuristics
Prepare: Checkpoint cone volume variable scope: fix a program with a broken function that tries to use variables that are defined in another function
Teach: Team Activity storage efficiency of steel cans writing functions, local variables, calling functions
Prove: Assignment English parts of speech, generate a sentence writing and calling functions
Lesson 5 - Testing Functions
Activity Domain Topics Computing Topics
Prepare assert, pytest, pytest.approx, pytest.main,
if __name__ == "__main__":
Prepare: Checkpoint prefix and suffix pytest, assert, test string functions
Teach: Team Activity given name, surname, full name pytest, assert, test string functions, fix errors in functions
Prove: Milestone Fluid mechanics, water supply system pytest, assert
Lesson 6 - Troubleshooting Functions
Activity Domain Topics Computing Topics
Prepare syntax error, logic error, error messages, print statements, test functions, debugger
Prepare: Checkpoint fuel usage debugger
Teach: Team Activity self-esteem measure debugger
Prove: Assignment Fluid mechanics, water supply system debugger
Lesson 7 - Lists and Repetition
Activity Domain Topics Computing Topics
Prepare Lists, repetition, pass by value and reference
Prepare: Checkpoint demonstration of pass by value and reference
Teach: Team Activity pseudo random numbers lists, append, write a function with default parameter values, call a function with optional arguments
Prove: Milestone molar mass calculator, molecules, elements create and return a compound list, retrieve and print individual elements from a compound list
Lesson 8 - Dictionaries
Activity Domain Topics Computing Topics
Prepare Dictionaries, compound values, find one item, process all items, convert between list and dictionary
Prepare: Checkpoint vehicles in operator, use a key to retrieve a value
Teach: Team Activity family history process all items in a list, retrieve a value from a dictionary, retrieve an item from a list, indexes
Prove: Assignment molar mass calculator, molecules, elements create a dictionary, process all items in a dictionary, retrieve elements from a list
Lesson 9 - Text Files
Activity Domain Topics Computing Topics
Prepare text files, open, for each line, CSV files, csv module
Prepare: Checkpoint Canadian Provinces text files, for loop, lists, append, pop, count
Teach: Team Activity student IDs csv module, dictionaries
Prove: Milestone grocery store csv module, dictionaries
Lesson 10 - Handling Exceptions
Activity Domain Topics Computing Topics
Prepare exception, try, except, else, finally, TypeError, ValueError, ZeroDivisionError, IndexError, KeyError, FileNotFoundError, PermissionError, validate user input
Prepare: Checkpoint text file and line number exception handling, FileNotFoundError, ValueError, IndexError
Teach: Team Activity vehicle accidents exception handling, FileNotFoundError, ValueError, csv.Error, KeyError, ZeroDivisionError
Prove: Assignment grocery store summation, round, datetime.now, datetime format codes, try, except, FileNotFoundError, KeyError
Lesson 11 - Functional Programming
Activity Domain Topics Computing Topics
Prepare higher-order functions, nested functions, lambda functions, map, filter, sort key
Prepare: Checkpoint U.S. phone numbers higher-order functions, map function, read a text file into a list
Teach: Team Activity student given name, surname, and birthdate higher-order functions, nested functions, lambda functions, sorted function, read a CSV file into a compound list
Prove: Milestone
    (block)
    (semester)
student chosen project
Lesson 12 - Using Objects
Activity Domain Topics Computing Topics
Prepare creating an object, dot operator, attributes, methods, lists and dictionaries as objects
Prepare: Checkpoint fruit modify a list using object oriented programming
Teach: Team Activity GUI creating objects, accessing attributes, calling methods
Prove: Milestone
    (block)
    (semester)
student chosen project
Lesson 13 - Student Chosen Project
Activity Domain Topics Computing Topics
No preparation content, checkpoint, or team activity. Students work on their own chosen project.
Prove: Assignment
    (block)
    (semester)
student chosen project
Lesson 14 - Conclusion
Activity Domain Topics Computing Topics
Prepare