Technology and Platforms
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.