CS 550
Spring 2015
Programming Languages
Thursdays 18:30-21:20
Korman Center 104C

 Instructor: Geoffrey Mainland mainland+cs550@cs.drexel.edu University Crossings 106 Teaching Assistant: Mark Boady mwb33@drexel.edu
Warning! This material is for an old version of the course.

# Overview

CS 550 covers basic concepts of the design and implementation of programming languages, including data representation and types, functions, sequence control, environments, block structure, subroutines and coroutines, storage management.

# Course Staff

### Instructor

Geoffrey Mainland
mainland+cs550@cs.drexel.edu
Office: University Crossings 106
Office hours for this semester: Mondays 4pm-5pm; Wednesdays 3pm-5pm.

### Teaching Assistant

mwb33@drexel.edu
Cyber Learning Center office hours: Thursdays 12pm-2pm and Fridays 4pm-6pm.

## Course Communication

All course communication, including communication with course staff, will take place on Piazza. You can join the CS 550 Piazza class by following this link.

Piazza allows students to post anonymous questions and to communicate privately with course staff. Please use Piazza for all communication regarding CS 550.

Piazza is also for communicating with other students!

## Course Virtual Machine

As an experiment this year, we are providing a virtual machine image containing all the software you need for CS 550. You do not need to use the course VM—all required software is also available on tux—but we expect many students will prefer working with the VM.

If you are running Windows or Linux, we recommend the free VMWare Player, available here. Unfortunately, there is not a free VMWare option for Macs. As an alternative, you may install VirtualBox.

To get the virtual machine running:

1. Download and install either VMWare Player or VirtualBox. If you are using Windows or Linux, use VMWare Player.
2. Download the version of the virtual machine for the software you just installed and unzip the archive.
3. Open the virtual machine in either VMWare Player or VirtualBox.

The VM username and password are both cs550.

Note that you may need to enable VT-x in your computer’s BIOS.

## Resources

Using Racket

A small document to get you started with Racket either on tux or with the course VM..

Using GHC

Unfortunately the default GHC installation on tux is broken—this guide will tell you how to get a working version.

Online programming language resources

A number of links containing additional information about some of the languages we will be using and/or studying.

Programming languages bibliography

A short bibliography related to CS 550. Many of the texts are available online or electronically from the Drexel library.