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 |