Skip to main content

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

  1. Design basic functions (Pyret)
  2. Construct / Transform Tables (Pyret)
  3. Iteration: Lists (Pyret)
  4. Structured & Conditional Data (Pyret)
  5. Recursion: Lists (Pyret)
  6. Recursion: Trees (Pyret)
  7. Variable Scope (Pyret)
  8. Design basic functions (Python)
  9. Iteration: Lists (Python)
  10. Aliasing & Mutation (Python)
  11. Identifying Privacy Issues in Problem Formulation
  12. 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).

WeekTopicSkill IntroducedSkills AssessableSkill Bundle
1Programming with numbers, strings, images: IDE, interactions, operations on standard values11, 12
2Definitions, functions, conditionals: type annotations, test cases1, 7
3Introduction to tables: constructing, importing, extracting21, 7, 11, 12
4More on tables: transforming, filtering21, 7, 11, 12
5From tables to lists: extracting columns, performing operations on them, visualizing data1, 2, 7, 11, 12
6Computing with lists: iteration & mutable local variables32, 7, 11, 12
7Structured & conditional data42, 3, 7, 11, 12SkillBundle1
8Working with trees: recursive functions53, 4, 11, 12
9More with trees63, 4, 5, 11, 12
10Transition to Python: IDE, files, definitions, testing84, 5, 6
11Transition to Python: more state & aliasing, loops, mutable data structures9, 105, 6, 8
12Tables in Python: pandas & matplotlib6, 8, 9, 10SkillBundle2
13File I/O: csv files, via pandas and manually8, 9, 10
14More with Python: catch up, bonus content, etc9, 10