Readings and In-Class Lecture Notes for CSCI 3155

Sriram Sankaranarayanan (Computer Science, CU Boulder)

This repository contains the jupyter scala notebooks for Principles of Programming: CSCI 3155, University of Colorado Boulder. The repository also contains the jupyter notebooks with examples that were used during lectures.

Click here for a description of the repository and useful instructions.

Instructions

  • Regularly use git pull to keep yourself up to date with the repo.
  • The repository mirrors information already posted on our canvas. This will be updated in a more lazy manner. In a pinch, please see canvas.

How to view these notebooks

Students registered in the class can use the official CSCI Virtual Machine. Setup instructions for Jupyter notebook and the scala kernel are provided.

If you do not have access to these VMs, please install jupyter notebook, scala IDEs (including compiler, scala build tools) and the Almond kernel for scala: https://github.com/almond-sh/almond. It works well with Java 1.8 and 1.11 (the stable versions for the JDK). However, we have made it work for other Java versions with careful choice of the almond kernel, sbt and scala versions.

Note: Although github has a viewer for these notebooks, it often cannot render some of the characters very well. Thus, the output looks distorted with "Unknown Character" all over the place. Cloning and viewing on your own jupyter notebook viewer is the best way.