assignments

All projects are detailed below.

Each project is to be completed individually (or as specified in the assignment description).

Unless otherwise noted, assignments are due by 11:59pm on the specified due date and are to be submitted via RPI LMS.

Compilation

For C programs, use gcc to compile your code and specify -Wall to ensure all compiler warnings are addressed before submitting your assignment (points will be deducted for warnings!).

For C++ programs, use g++ to compile your code and specify -Wall to ensure all compiler warnings are addressed before submitting your assignment.

For Java programs, use javac to compile your code and java to execute it.

For any other language, please confirm language, version, libraries, etc. with me first.

My Office: Lally 209
My Office Hours: Mon 2:00-4:00pm, Tues 12:00-2:00pm, Fri 12:00-1:00pm
My Email: goldschmidt@gmail.com
Abhirami Baskaran
TA: Abhirami Baskaran
Office
Hours:
Wed 2:00-6:00pm
(in AE 217)
Email: abhirami.baskaran@gmail.com
Aleksey Levy
TA: Aleksey Levy
Office
Hours:
Wed 12:00-1:50pm, Thurs 3:30-4:30pm
(in AE 217)
Email: levya@rpi.edu

Ubuntu Required

With multiple flavors of Unix available, please be sure to use Ubuntu for homeworks and projects detailed below. Using version 11.04 or higher is required.

Ubuntu is a free download (click here for Ubuntu download site). Also note that the VCC has Ubuntu CDs you can borrow.

For installations on Windows, you do not need to partition your hard drive. You can install Wubi instead (click here for Ubuntu Wubi site).

Project #1 - Peer-to-peer and interface protocols in C

Due Monday 2/13

Project #2 - HTTP Proxy Server in C

Due Friday 3/12 (extended to 3/12)

Project #3 - TCP/UDP Chat Server

Due Wednesday 4/11

Project #4 - TCP/WebSockets Chat Client

Due Sunday 5/13

Valid CSS Level 2.1 Valid XHTML 1.1