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 | ||