In the summer of 2015 I was the sole instructor of 145 students in Introduction to Computer Science 1, an introduction to computer science intended for non-CS majors and based around the programming language Racket. As the instructor I was responsible for compiling 9 assignments throughout the term and each one consisted of questions newly developed by myself. For the purposes of self-study I have made these assignments freely available here.

- Assignment 0 (practice assignment, course logistics)
- Assignment 1 (defining functions, helper functions)
- Assignment 2 (design recipe, strings, arithmetic)
- Assignment 3 (conditionals, logical operators)
- Assignment 4 (semantic rules, structures)
- Assignment 5 (lists, recursion)
- Assignment 6 (recursion on natural numbers, working with 2 lists)
- Assignment 7 (binary expressions, binary trees)
- Assignment 8 (Boolean expressions, general trees)
- Assignment 9 (local expressions, abstract list functions)