The following is a list of technologies with which I expect you to familiarize yourself and be prepared to use as a part of participating in our class.

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:

Piazza

Piazza.com 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.

KCCS/CCIS/CCS Github

I will be utilizing the school’s Enterprise git at [http://ccs.github.neu.edu]. You should have access to that with your KCCS 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.

If you are unfamiliar with git itself, you should make sure you have git installed on your system and then type git help everyday and git help tutorials to familiarize yourself with the tool.

Course Homepage

I constructed our course homepage as a Jekyll site built with Github Pages. Student corrections and improvements are incredibly welcome! You should submit pull requests (PR) for corrections and improvements. Every page on this website has a direct links to its .md file in this repository.

If you are unfamiliar with making pull requests, you can find plenty of documentation both from your terminal and on the web

Gradescope

This semester you will use Gradescope to submit your homework and in-class quizzes. This is an alternative technology to the Handin server that you might have used in other classes. You will see this item in the Canvas menu for our course.

Zoom

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.

NEU VPN

Go to https://vpn.northeastern.edu, 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.

VDI Linux Machines

Khoury VDI Virtual Desktops, and the relevant ITS KB articles.

Racket

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.

Rackunit

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.

Other packages as they come up

Prepare yourself to download and install other packages as necessary to make our test suites run. You will not need any additional packages to complete your homework, nor should you use them.