You are using a 0 browser. MICE can only be used with IE 5.0, IE 6.0, Netscape 7, Opera or Mozilla, not IE 4.0, Netscape 4.x or earlier browsers.

CS@CU Software Systems
 Home 
 Education 
Admissions  Undergraduate  M.S.  Ph.D.  Courses 
 Research 
Areas  Publications 
 People 
Faculty  Directory  Alumni  Achievements 
 Resources 
A to Z  Computing  Jobs  Webmail  Newsletters  Directions  Wiki 
 Lectures 
Lectures 
 Faculty Positions 
parallel and
  distributed computing 
 
   

The Software Systems Track

The Software Systems track is for students who want to pursue knowledge of software development and software systems methodologies and technologies. Software plays the key role in practical, real-world computing systems and applications. This track enables students to understand and master classic and current software systems, and provides the fundamentals for later self-study of future software systems.

1. Overall Requirements

Students must complete at least a total of 30 graduate credits.

  1. Fulfill the twelve point core requirement; three core courses COMS-W4115, COMS-W4118 and COMS-W4156 are prerequisites for this track.
  2. Two 4000-level courses (6 points) selected from the list of section 3.
  3. Two 6000-level courses (6 points) selected from the list of section 4.
  4. Six points of general elective graduate courses; at least three of these points must be CS graduate courses.
  5. Students using previous courses to fulfill core requirements may complete the 30 graduate credits by expanding their electives, selected either from the track or from other graduate courses; at most three points overall may be from "non-technical" graduate courses.

For the core requirement, students choose at least four courses from the following six:

COMS W4115 Programming Languages & Translators

COMS W4118 Operating Systems

COMS W4156 Advanced Software Engineering

COMS W4231 Analysis of Algorithms (same as CSOR W4231 Analysis of Algorithms)

COMS W4701 Artificial Intelligence

COMS W4824 Computer Architecture (same as CSEE W4824 Computer Architecture)

2. Prerequisites

Candidates must complete the core courses W4115, W4118 and W4156, or equivalent imported courses, to develop a fundamental understanding of software systems. Ideally, students should complete these courses prior to pursuing track courses, but they may be taken concurrently with track courses. Note: In the case of students who first enrolled in the MS program any semester prior to Fall 2004, COMS-W4156 is not required, but if taken can substitute for one of the 4000-level track electives.

3. 4000-level Elective Track Courses

Candidates are required to complete at least two 4000-level courses (6 points) selected from the following list of track courses:

Course ID

Title

    Fall 2008** Spring 2008

COMS-W4111

Database Systems

 Offered  Offered

COMS-W4117

Compilers and Interpreters

   

COMS-W4170

User Interface Design

 Offered  

COMS-W4172

3D User Interfaces

   Offered

COMS-W4180

Network Security

   Offered
COMS-W4187
Security Architecture and Engineering
 Offered  

COMS-W4444

Programming and Problem Solving

 Offered  
COMS-W4995* Topics in Computer Science
 
Offered (Bldg Facebk)


*Topics in Computer Science (4995) sections must be approved as qualifying "software systems" track courses by the Software Systems Track Advisor. Typically this would mean topics offered by a software systems faculty member or by an affiliated adjunct.

**This list of offerings is tentative.  Check the registrar's website for definitive information.

4. 6000-level Elective Track Courses

Candidates are required to complete at least two 6000-level courses (6 points) selected from the following list of track courses: 

Course ID

Title

        Fall 2008** Spring 2008

COMS-E6111

Advanced Database Systems

   Offered

COMS-E6113

Topics in Database Systems

Rarely offered, listed for historical reasons  

COMS-E6117

Topics in Programming Languages and Translators

Infrequently offered
 

COMS-E6118

Operating Systems, II

   Offered

COMS-E6123

Programming Environments and Software Tools

Rarely offered, listed for historical reasons
 

COMS-E6125

Web-Enhanced Information Management

   Offered

COMS-E6174

Interaction Design: A Perceptual Approach

   

COMS-E6176

User Interfaces for Mobile & Wearable Computing

Infrequently offered
 

COMS-E6181

Advanced Internet Services

   Offered
COMS-E6183 Advanced Topics in Network Security    
COMS-E6184 Seminar on Anonymity and Privacy    Offered

COMS-E6185

Intrusion and Anomaly Detection Systems

 Offered  

COMS-E6901*

Projects in Computer Science

 Offered  Offered
COMS-E6998* Topics in Computer Science
 
 Offered (Virt Mach, Video Game Des)

*Projects in Computer Science (6901) and Topics in Computer Science (6998) courses must be approved as qualifying "software systems" electives by the Software Systems Track Advisor. Typically this would mean topics/projects offered by a software systems faculty member or by an affiliated adjunct.

**This list of offerings is tentative.  Check the registrar's website for definitive information.

5. General Electives

Candidates are required to complete at least six additional graduate points at or above the 4000 level; at least three of these points must be CS, the other three points may be technical or non-technical electives approved by the track advisor. At most three credits overall of the 30 graduate credits required for the MS degree may be "non-technical".

6. Track Planning

Not all courses are offered every semester, or even every year; a few courses are offered only every two or three years or even less frequently.  Among the core courses, 4115, 4118 and 4701 are normally offered every semester (fall and spring) but 4156, 4231 and 4824 are normally offered only one semester per year and which semester (fall vs. spring) may vary.  Among the 4000-level track electives, only 4111 is normally offered every semester; none of the 6000-level track courses are offered every semester. However, there are typically one or more relevant 4995 and/or 6998 offerings each semester, and its generally possible to find a suitable 6901 project any semester including summers.

7. Contact

Please direct all questions concerning the Software Systems Track to . However, track students seeking approvals for CPT or OPT should instead contact .

8. Graduation

Candidates preparing for graduation should submit a completed application for degree to the Registrar's Office and submit a track graduation form to CS Student Services (an example of a completed form is available here).

 


Last updated March 13, 2008.


Credits

Columbia University Department of Computer Science / Fu Foundation School of Engineering & Applied Science
450 Computer Science Building / 1214 Amsterdam Avenue, Mailcode: 0401 / New York, New York 10027-7003
Tel: 1.212.939.7000 / Fax: 1.212.666.0140

This site is maintained by the Department of Computer Science