CS591L1

CS591L1 - Embedded Languages and Frameworks

Materials for a computer science course on embedded languages and frameworks.

Course website: https://kinanbab.github.io/CS591L1/website

Please run git submodule init && git submodule update after cloning this repo.

Lecture Notes

This repository contains all lecture notes from CS591L1. Most notes are notebooks that run interactive code in the browser.

You can view a static version of these notes through the schedule section in the course website.

Lecture notes can also be run dynamically. This is recommended, since it allows you to interactively run and modify code snippets and view their output. Lecture notes are mostly written in Jupyter notebook, or neptune notebook. Any lecture notes that does not use one of these notebook enviornment has running instructions attached.

Lecture Notes in Python / Jupyter Notebook

To run these lecture notes, you need to have python3 and virtualenv installed.

To install all the python library dependencies for the lecture notes, as well as jupyter notebook, follow these commands:

cd /path/to/repository
python3 -m venv venv  # creates a virtual environment
. venv/bin/activate  # activates the virtual environment
pip install -r requirements.txt # installs all dependencies including jupyter notebook

After installing Jupyter notebook, you can run the lecture notes using these commands:

cd <path/to/respository>
. venv/bin/activate  # activates the virtual environment
jupyter notebook  # will open a tab in your browser showing the lecture notes

Using Jupyter notebook is very intuitive, if you have not used one before, please look at this tutorial.

Lecture Notes in Javascript / Neptune Notebook

Make sure you have nodejs (>= 8) and npm installed. To run the javascript Neptune Notebook lecture notes locally, follow these commands:

cd <path/to/repository/and/lecture>
npm install  # install node/javascript dependencies
node index.js  # run neptune notebook
# ^ open the output URL of this command in your browser to view and run the notes