Principles of Software CSCI-2600


Software



Instructors:
William Thompson           Carlos Varela
Email:
thompw4@rpi.edu         cvarela@cs.rpi.edu
Office:
Prof. Thompson - Amos Eaton 206  
Prof. Varela - Lally 308
Office hours:
Prof. Thompson: Mon. 11:00am-12:30pm (AE 206), Thu. 4:00-5:30pm (AE 206)

Prof. Varela:  Monday (Lally 308) and Thursdays (AE 206) at 4-4:50pm

Other times by appointment
TAs:
Saswata Paul pauls4@rpi.edu Friday 4:00-6:00 pm  AE 118
Yiyun Su suy4@rpi.edu Tuesday 6:00-8:00 pm Lally 02
Varun Rao raov3@rpi.edu Wednesday 4:00-6:00 pm AE 118

Mentors:
Jordan Alligood
alligj@rpi.edu
Zhihao Deng
dengz5@rpi.edu
Troy Ferrazzano
ferrat5@rpi.edu
Yunong He
hey13@rpi.edu
Anjin Lima
limaa@rpi.edu
Abigail Medina
Tejas Narayan
Jake Kloman
Glenn Smith


Course Description:

A study of important concepts in software design, implementation, and testing. Topics include specification, abstraction with classes, design principles and patterns, testing, refactoring, the software development process, GUI and event-driven programming, and cloud-based programming. The course also introduces implementation and testing tools, including IDEs, revision control systems, and other frameworks. The overarching goal of the course is for students to learn how to write correct and maintainable software.