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