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
Practice surface area of a right circular cone math.pi, math.sqrt
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
Practice str.lower, str.upper, abs, round, math.sqrt, math.isclose
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
Practice Pluralize English words str.endswith, string slice operator
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 volume of a right circular cone 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
Practice compound interest, password validation, Euclidean distance writing 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
Practice Celsius and Fahrenheit temperatures, wind chill factor, heat index pytest, assert
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
Practice monthly loan payment Troubleshooting functions
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
Practice snowfall amounts, exam test scores while loops, for loops, range function, lists, parallel lists
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
Practice grocery store inventory, tree species, car manufacturers dictionaries, for loops
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
Practice grocery store inventory csv files, dictionaries, for loops
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
Practice test scores, inventory text files, exceptions
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
Practice map function, lambda functions
Prove: Milestone 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
Practice books class, objects, attributes, methods, __str__ method
Prove: Milestone 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 student chosen project

Lesson 14: Conclusion

Prepare