Product was successfully added to your shopping cart.
CSCI 1730 - Introduction to Programming Languages

CSCI 1730 - Introduction to Programming Languages

Be the first to review this product

FREE

CSCI 1730 - Introduction to Programming Languages

Be the first to review this product

We will be making this course, Brown's upper-level programming languages offering, available for free on the Web.

Details

Assignments

You will have four kinds of assignments in this course.

For details about turning assignments in late, see our grade cap and late policy.

Quizzes

Every day (or almost every day), there will be a short quiz on that day's class topic. This will be due before the next class meeting. The quizzes should take no more than a few minutes to complete if you've understood the material.

Links to quizzes appear on the lecture notes & videos page. You can also see histograms for graded quizzes.

Small Project

For the first month-and-a-half, you will work on a small project. You will be given a language constructed by us, for which we have a reference (correct) implementation and lots of incorrect ones, as well as a definition of its core. There are five assignments:

  1. You must design tests to correctly identify buggy implementations as incorrect. This will force you to learn the language.
  2. You will be asked to write a tiny interpreter for a subset of the language's core.
  3. You will write a desugaring transformer to a core language. We will explain what this means in class.
  4. You will write an interpreter for the core language so that, when composed with the desugaring transformer, you have an implementation for the full language.
  5. You will be asked to extend the language in a few ways.
Assignment Out In (by 11:59 PM)
ParselTest 9/7 9/13
Interpreter 9/14 9/20
ParselDesugar 9/21 9/27
ParselCore 9/28 10/4
ParselCore (Extensions) 10/5 10/14

Note that you may re-handin programming assignments; see our grade cap policy.

Large Project

In the last two months, you will effectively repeat the small project in the large, this time implementing a desugaring tranformer and core interpreter for Python. You will be expected to design the core language; to help you with this, we will have design checks, where we will give you feedback on your designs. We will also publish successful designs, so if you feel stuck you can learn from (or even copy) core language designs from others.

Assignments released but not yet due appear in boldface. Note that you may re-handin programming assignments; see our grade cap policy.

Assignment Out In (by 11:59 PM)
Python (Part 1) 10/15 10/28
Python (Part 2) 11/2 11/15
Python (Part 3) 11/16 12/6
Python (Glory) 12/7

Written Homeworks

There will be four or five written homeworks on concepts covered in the course. They will be spread across the semester, and each will be due about a week later. Each such homework will have about three to four questions, and each question will usually have a relatively short answer—but, because the questions will tend to be open-ended, it may take some thought to answer them.

Assignment Out In (by 11:59 PM) /course/cs173/bin/cs173handin
Written: Scope 9/14 9/23 scope-writ
Written: Garbage Collection 9/28 10/14 gc-writ
Written: Continuations 10/17 10/25 cont-writ
Written: Typed 11/5 11/21 types-writ
Written: Laziness 11/26 12/2 laziness-writ

Average Rating

0
rating

Ratings area

There is no rating area for this product

  1. Be the first to review this product

Write Your Own Review

How do you rate this product? *

  1 star 2 stars 3 stars 4 stars 5 stars
Video Quality
Support
Cost

Language:
English
Institute:
Independent

FREE