Software Installations

SuperCollider

The version of SuperCollider we will be using is 3.11.2. Do not install the most up to date version (3.12.0). Because it is not compatible with some of the extensions we will be using. SuperCollider can be downloaded http://supercollider.github.io/download.

To test that SuperCollider works, open up the application peform these two tests:

  1. Type 3 + 2 on the left panel and execute the line.
    A line is executed on SuperCollider on a Mac by hitting Shift + Return. If on a PC, hit CTRL + Enter. You should see a 5 show up in the post window.

  2. On the menu at the top of the screen, click on Server and then Boot Server. Copy and paste the line below and execute the line:

    {SinOsc.ar(1000, mul: 0.1)}.play

    You should hear a tone playing out of your left speaker. If not, there is an issue with your audio setup and you should contact Andy. To stop the tone, hit CMD + PERIOD on a Mac. If on a PC, hit CTRL + PERIOD.

Python

For one part of the course, you will need Python 3. Any version of Python 3 should work. The latest version is Python 3.9. You can download Python at https://python.org/downloads. This will require you to work in the Terminal if you have a Mac or the Command Prompt if you have a Windows machine. Alternatively, you can work in an IDE like Canopy/Thonny which is used for CS111. See the CS111 website for information about downloading and setting up Canopy or Thonny.

For help using the Terminal/Command Prompt, please see instructor.

Jupyter Notebook Kernel for SuperCollider

I have adapted Jupyter Notebook to work with SuperCollider. In lecture, I will provide notebooks to present material. It is not required to install Jupyter Notebook and the software to adapt it to SuperCollider. I will provide SuperCollider files (.scd files) that contain the same information. But the notebook is a nicer interface to work in. I recommend installing the software. There are detailed instructions found here including installation videos that you should watch: https://github.com/andrewdavis33/sckernel

Note that the installation can be a little challenging as it will require you to work in the Terminal or Command Prompt. If you cannot do it on your own, please reach out to Andy.

Homework Submission Tools

Gradescope

Homework submissions, both code and paper, are submitted via Gradescope. Make sure to submit your work by 11:59PM on the day your assignment is due. Generally, there will be separate submissions for the code and handwritten portions. As a general policy. It is a good idea to submit assignments an hour or two ahead of the deadline should any technical errors occur. Students will automatically be registered for Gradescope upon signing up for the course. Students will receive an email from Gradescope during the first week of classes inviting them to register. Please make a Gradescope account once you are invited if you do not have one already. All grades for the course can be found on Gradescope.

LaTeX

All paper submissions for the course will receive a 2% bonus if they are typed instead of handwritten. You can choose whatever software you like to type your solutions but I recommend LaTeX. For those pursuing Computer Science, LaTeX is an invaluable tool. LaTex does have a bit of a learning curve and can be cumbersome at first, but there are many good tutorials out there to help you get going.

If you are considering LaTeX, there are several tools that can make the process easier. If you would like an IDE to write your LaTeX code, I would recommend TeXstudio to help create your documents. Alternatively, consider . It is free for single accounts and has a nice interface to produce LaTeX documents as well as helpful guides for common LaTeX features.

I have also provided a helpful template to get you started on any typed assignment.

CS203 Guides

Math Review

CS203 requires the knowledge of trigonometric functions and identities as well as familiarity with summation notation and complex numbers. The CS203 provides review and descriptions of all mathematical concepts that students should know. There will be no review on any of these topics and students are expected to understand thoroughly all concepts discussed. Please review this primer before pursuing CS203. Let your instructor know if there are any questions or concerns.

Math Review

Getting Sound Out Of SuperCollider

Getting sound out of SuperCollider is relatively straightforward. SuperCollider works with available audio devices to rout sound between the SuperCollider application and your audio card. In order to produce sound, the scsynth application must be booted. Generally, we want to do this on our local machine. Execute the following command:

s.boot;

The post window should list some important statistics about what devices are connected to SuperCollider. On MacOS, one can execute the following command to get an array of available audio devices:

ServerOptions.devices;

By default, SuperCollider will set your input/output device to be your machine’s default audio device. But this can be changed. Explore the documentation on the class ServerOptions for more information.

To produce a simple sine wave, use the instance method .play for functions.

{SinOsc.ar([400, 400])}.play;

You should hear a sine wave at 400Hz produced from both the left and right speakers. Throughout the semester, we will learn about other methods for producing in sound in SuperCollider.