Technology and Platforms

As a course and a student body, we are more remote than usual, and preferable. To help bridge the chasm, I will leverage some of the technology platforms Northeastern makes available to us.


Download and install Racket and the DrRacket integrated development environment. To begin with, I will use DrRacket in front of the classroom to demonstrate Racket and miniKanren programming, and I want you all to follow along and to practice during designated practice periods.


We will also use the Rackunit unit testing framework. This is another Racket package. We will use this as a substitute for the check-expect you might have come to appreciate if you have already taken Fundamentals I at NEU. We make this substitution because check-expect doesn’t exist in the full racket language.


I will base our discussion, usage, and implementation around the miniKanren language. You can install this in DrRacket via the faster-minikanren package in the package manager. You can also (likely) find this implemented for the language of your choice at []. We will at first use the Racket implementation

Piazza hosts our main Q&A forum. We are everyone learning; no one knows all the answers, and remember that everyone wears their best and most knowledgeable face. For questions related to the course material, assignments, policies, or what have you, please utilize Piazza. I generally prefer anonymous Piazza posts over email—this way others get the benefit of your thoughtful question and answers and corrections scale to the size of our class. Please do anonymize them if you wish; we can see even if you cannot. Frequently someone will have the same concern or be feeling the same way.

If it doesn’t “give away the punchline” of some homework question or assignment, necessitate PII in the question or the answer, and isn’t contrary to FERPA or your rights under the Northeastern University Handbook, please do consider if this can be a Piazza message.

Khoury Account

To access the following two resources, you will need your Khoury systems account username and password to login and to register. Go here to find it if you have forgotten. If it turns out you do not have one, apply here.

Handin Server

We will use the Handin server (bottlenose) to submit. You might have experience with this platform from Fundies I; if you do not, please read the Handin Server Guide.


I will use the school’s enterprise git server [] to host this website and other course content. You should have access to that with your Khoury account. I will expect you to know how to access this, for your own benefits and for coursework. If you are not familiar, please consult the Khoury Systems group’s documentation and walk-through.

Course Homepage

I constructed our course homepage as a Jekyll site built with Github Pages. Student corrections and improvements are incredibly welcome! You can submit a pull request (PR) for a quick correction and improvement. Every page on this website has a direct

Duo 2FA

Most if not all students will already have enrolled themselves for the Duo 2FA system. It is essential that you do so to access Northeastern’s digital resources. Northeastern has at least two tutorials for installing and using the Duo 2FA system:

links to its file in this repository.


Go to, and follow the instructions to install the GlobalProctect VPN client on your machine. You will need this to use the VDI linux machines. If you have difficulty please consult the relevant ITS KB articles, and if necessary reach out to ITS support.


I intend to broadcast our course meetings via Northeastern Zoom. I prefer it over MS Teams for a variety of reasons. Not the least of which is the instantaneous and anonymous feedback that it provides, via Dial testing. You will find it helpful to have two internet-enabled devices with at hand when you are attending class remotely, once for viewing the class and a second for answering poll questions.

Via direct installation.

If you have difficulty installing or using the platform please see ITS’ associated KB article or contact Zoom support.

Via the browser

You also have the option to join without downloading or installing any software, via the Zoom web client. The web client does not have all the functionality of the desktop or mobile apps; please see the comparison here.

Register here for, the collaborative editing tool. I suspect we might all have use for, and benefit from, collaboratively annotating papers, notes, and documents from the course. You will certainly find areas that are less clear than others, or sub-optimally ordered, or deficient in a variety of other ways.

Chrome users can download and install the extension, if you wish. Users of other browsers can install the bookmarklet. I will link all our ~.pdf~ documents via hypothesis. FYI, if you are on an Android device, you can send any page to hypothesis via the following app.

I have not yet created an hypothesis group for us.