Analysis

Introduction

There’s a broad and exciting world of programming languages out there, and we can cover only a small part of it in the other threads. Therefore, we have this Analysis thread, which will have you read up on some materials and write prose and/or code responses. These will help you situate the course’s materials in the broader world of programming languages.

Time

These should take only a few hours, including the reading. If you’ve spent more than five hours, come talk to us.

Grading Standard

A few of these assignments require writing code, but they are meant to be quick-and-ready code, not of the same standard as in Implementation. Any references to code below are ready to go.

Most of them require writing prose. We place a high premium on the quality of your writing, while also valuing concision. This means: have a point; make it clearly; be brief; use proper punctuation and grammar; use paragraph breaks to avoid walls of text; and in general, write well, as if you were in a humanities class. Our standards are certainly that high.

Once again, we want to emphasize being concise. You rarely ever need more than 150-200 words, three paragraphs, or a few bullet points for any of these. Treat these as strong guidelines and only deviate if absolutely necessary. (But it’s also rare that you will need significantly less than this most of the time.)

Software

Each assignment is different, and will tell you what, if any, software you need.

Tasks

    1 Loops

    2 Dynamic Scope

    3 WAT

    4 Units

    5 TypeScript

    6 Web Programming

    7 Control

    8 Concurrency-Oriented Programming

    9 Socially Responsible Programming Languages