On this page:
5.1 Supplemental Homeworks for CSCI 0170
5.2 Homeworks for CSCI 0190
5.3 Clinics
5.4 Language Use

5 Assignments

All work will be due at 11:59pm of the indicated day.

5.1 Supplemental Homeworks for CSCI 0170

Before you can take this course, you must complete all the homeworks (until this course begins) of CSCI 0170 with high grades and all of the following supplemental homeworks with high grades. At the beginning you may find this especially difficult, but don’t despair! Keep at it! If, however, by the last of these you find the pace is still far too great for you, then you may find CSCI 0170 a better course for you than 0190 for the rest of the semester.

The supplemental assignments are due as follows:

Title

     

Out

     

In

Flags

     

Fri, 09/11

     

Thu, 09/17

Docdiff

     

Fri, 09/18

     

Sat, 09/26

Filesystem

     

Fri, 09/25

     

Thu, 10/01

Sortacle

     

Fri, 10/02

     

TUE, 10/06

5.2 Homeworks for CSCI 0190

The regular assignments for CSCI 0190 are as follows.

Title

  

Published

  

Sweep Due

  

Final Due

Talk Like a Pyret ‡

  

Thu, Oct 8

  

—none—

  

Tue, Oct 13

Nile

  

Wed, Oct 14

  

—none—

  

Sun, Oct 18

Oracle

  

Mon, Oct 19

  

Wed, Oct 21

  

Sun, Oct 25

Updater

  

Mon, Oct 26

  

—none—

  

Thu, Oct 29

Brown Heaps

  

Fri, Oct 30

  

Sun, Nov 1

  

Tue, Nov 3

Lightning *

  

Mon, Nov 2

  

—none—

  

Mon, Nov 2

Amortized

  

Wed, Nov 4

  

—none—

  

Tue, Nov 10

Join Lists +

  

Wed, Nov 11

  

Fri, Nov 13

  

Tue, Nov 17

Map Reduce +

  

Wed, Nov 11

  

Fri, Nov 13

  

Tue, Nov 17

PlanComp

  

Wed, Nov 18

  

—none—

  

Sun, Nov 22

Tour Guide

  

Mon, Nov 23

  

—none—

  

Tue, Dec 1

Fluid Images

  

Wed, Dec 2

  

Fri, Dec 4

  

Sun, Dec 6

* Lightning will effectively be an in-class assignment. We will not have class on this day; instead, you will have the hour to do the assignment (you don’t have to come to class; do it wherever you like). The entire assignment needs no more than two hours, and is a check that you can do straightforward programming tasks properly without spending too much time on them.

+ Join Lists and Map Reduce will be done in pairs. You will be given instructions on forming and joining pairs. Buddy up!

‡ Name credit to Juliet Norvig.

5.3 Clinics

Higher-Order Functions

Analysis

5.4 Language Use

The course homeworks will be programmed in Pyret, which is a reasonably large language with many libraries, some of which reproduce functionality (like basic data structures) that we are asking you to create in this course. This can lead to some confusion about what you are and aren’t allowed to use from the language. Each assignment provides information about this when necessary, but in general, the following rules apply: