COMS W4156 Home | Contact Us

Home
General Information
Syllabus
Lectures
Assignments
Teams
F.A.Q.
Testing
Controversies
Digital Library Access

COMS W4156 Advanced Software Engineering

Summer 2009: Prof. Gail Kaiser

CVN

What's New?

Students with a CS account can download some "free" Microsoft software here.

Back to Top

Bulletin Description

COMS W4156x or y Advanced Software EngineeringLect: 3. 3 pts. 
Prerequisites: Instructor's Permission
Strongly recommended: At least one COMS W41xx course and/or COMS W4444. Assumes substantial prior real-world (not classroom) software development experience in at least one mainstream programming language such as C, C++, Java or C#.

Theory and practice of process life cycle, project planning, requirements capture, software design, team programming, unit and integration testing, system delivery and maintenance, process and product evaluation and improvement. Also covers component-based software engineering models such as CORBA, COM+, EJB, .NET, Web Services. Centers on an intense semester-long multi-iteration team project that requires pair programming and other agile programming practices.

Back to Top

Who should take 4156?

COMS W4156 is one of the (choose four of the six) "core" courses for the CS MS degree and required for the MS Software Systems track. COMS W4156 is also a recommended or acceptable elective for several other CS and non-CS degree programs. Although most of the enrollment will probably be graduate students, qualified undergraduates are very welcome.

Back to Top

How do I get permission to take 4156?

Send email to the instructor.  Warning: This course is not for the over-burdened or faint-hearted! It is strongly advised that students take no more than one other 41xx (software systems) course during the same semester as 4156.

Back to Top

What are we going to do in 4156?

Students will work primarily in self-chosen pairs (2 people), which will be grouped into 2-pair teams (that is, 4 members).  Teams will invent their own projects, within certain constraints: for instance, all projects should involve multiple distributed subsystems (typically client, application server and database) and must utilize some significant features of the team's chosen component model framework.  The course will be extremely fast-paced, with 2 iterations of rapid system development within the semester.  Students should be very quick at coming up to speed on whatever programming languages and/or software technologies they choose for their projects - which will not necessarily be covered in class. 

Important note: All members of the same team must use the same programming language (e.g., Java, C++, C#), the same IDE (e.g., Netbeans, Eclipse, VisualStudio), the same platform (e.g., Windows, Mac, Linux, Solaris), and the same component model framework (e.g., EJB, COM+, CCM).

Back to Top

Last updated May 3, 2009.

 

Copyright © 2007 Trustees of Columbia University in the City of New York.  All rights reserved.

Report broken links or other problems with this website to the instructor.