This course will teach the following skills, repeated assessment of which will form the primary source of final grades. Each skill will be marked as "Doesn't meet expectations", "Approaching expectations", and "Meets expectations".
- Design basic functions (Pyret)
- Construct / Transform Tables (Pyret)
- Iteration: Lists (Pyret)
- Structured & Conditional Data (Pyret)
- Recursion: Lists (Pyret)
- Recursion: Trees (Pyret)
- Variable Scope (Pyret)
- Design basic functions (Python)
- Iteration: Lists (Python)
- Aliasing & Mutation (Python)
- Identifying Privacy Issues in Problem Formulation
- Identifying Stakeholders in Problem Formulation
Skills will be introduced in certain weeks (and may be re-inforced in later weeks), and then can assessments on them can be done in the following several weeks via any of the assessment opportunities. Also, there are two bulk assessment slots ("Skill Bundles") during the semester:
During those slots, you will be given assessments for all the skills in the bundle; you can do as many or as few as you want (and for any skills you have already demonstrated proficiency for, you do not need to do anything).
Week | Topic | Skill Introduced | Skills Assessable | Skill Bundle |
---|---|---|---|---|
1 | Programming with numbers, strings, images: IDE, interactions, operations on standard values | 11, 12 | ||
2 | Definitions, functions, conditionals: type annotations, test cases | 1, 7 | ||
3 | Introduction to tables: constructing, importing, extracting | 2 | 1, 7, 11, 12 | |
4 | More on tables: transforming, filtering | 2 | 1, 7, 11, 12 | |
5 | From tables to lists: extracting columns, performing operations on them, visualizing data | 1, 2, 7, 11, 12 | ||
6 | Computing with lists: iteration & mutable local variables | 3 | 2, 7, 11, 12 | |
7 | Structured & conditional data | 4 | 2, 3, 7, 11, 12 | SkillBundle1 |
8 | Working with trees: recursive functions | 5 | 3, 4, 11, 12 | |
9 | More with trees | 6 | 3, 4, 5, 11, 12 | |
10 | Transition to Python: IDE, files, definitions, testing | 8 | 4, 5, 6 | |
11 | Transition to Python: more state & aliasing, loops, mutable data structures | 9, 10 | 5, 6, 8 | |
12 | Tables in Python: pandas & matplotlib | 6, 8, 9, 10 | SkillBundle2 | |
13 | File I/O: csv files, via pandas and manually | 8, 9, 10 | ||
14 | More with Python: catch up, bonus content, etc | 9, 10 |