CS 136: Elementary Algorithm Design and Data Abstraction, Fall 2020


This is the homepage for CS 136 (Fall 2020).

CS 136 builds on the techniques and patterns that you learned in CS 135. It introduces an imperative language (C) in parallel with continued study of a functional language (Scheme/Racket), and discusses issues surrounding the effective use of programming languages in "real-world" environments.

The primary focus of the course is the design, analysis and implementation of fundamental algorithms and data structures. This necessitates the use of computational models for both Scheme and C that more closely resemble what happens in actual implementations. The goal of CS 136 is to give students the tools and concepts necessary to solve computational problems in a robust, efficient and verifiable manner.

You can find the handbook description of the course here.

Major Announcements

All announcements will be made through piazza. We will link to major announcements here.

2020-10-17Lecture slides for Section 7 has been released
2020-10-16Assignment 5 has been released.
2020-10-07Tutorial 4 is available on our YouTube channel.
2020-10-04Lecture slides for Section 6 has been released
2020-10-02Assignment 4 has been released.
2020-09-30Tutorial 3 is now available on our YouTube channel.
2020-09-20Lecture slides for Section 5 has been released
2020-09-25Assignment 3 has been released.
2020-09-24Tutorial 2 is available on our YouTube channel.
2020-09-20Lecture slides for Section 4 has been released
2020-09-18Assignment 2 has been released.
2020-09-15Tutorial 1 is available on our YouTube channel.
2020-09-14Lecture slides for Section 3 and Quiz 3 have been released.
2020-09-11Assignment 1 has been released.
2020-09-09Tutorial 0 is available on our YouTube channel.
2020-09-08Lecture slides for Section 1 & Section 2, Quiz 1, and Quiz 2 have been released.
2020-09-08Assignment 0 has been released.
2020-09-08Week ONE (important information)
2020-09-08Welcome to CS 136!

Weekly Guide

With the exceptions of reading week and midterm week, each week in CS 136 will follow a similar structure. Make sure that you do not miss any due dates:

  • Mondays: New lecture notes and a new quiz for this lecture section are released. Make sure to start working through the lecture notes soon since the corresponding quiz is due on the Thursday.
  • Wednesdays: A new tutorial is released.
  • Thursdays: This week's quiz is due.
  • Fridays: A new assignment is released and last week's assignment is due.

Throughout the week there will be:

Valid XHTML 1.0 Strict Valid CSS!

Last modified on Thursday, 10 September 2020, at 09:40 hours.