COMS W4156 Advanced Software Engineering
Fall 2011: Prof. Gail Kaiser
501 Schermerhorn Hall
This is the archived page from the Fall 2011 edition of COMS 4156. The Fall 2012 information has not yet been posted. The waiver information below is saved for reference from Fall 2011, but is not representative of what it may be for Fall 2012 or beyond.
|MS Waiver Information (Archived for 2011 ONLY)|
The below information was relevant only for Fall 2011, and is not relevant for 2012 and beyond.
MS students seeking a core course waiver for W4156 must submit by email all the individual homework assignments for the course (ignore the submission instructions intended for classroom students). You can do either last year's set of three (posted here) or this year's set of three (here). Note these assignments are graded pass/fail, and you need to pass all three (from the same set, do not mix and match). There is no specific deadline, but please do this before submitting the import request form using mice; otherwise the import request will be denied as incomplete. If you plan to request a waiver, do not register for the course (and drop it if you have already registered).
- Numerous testing resources available here
- Design Pattern humor
- Read tech books free online courtesy of Columbia Libraries
- "Enterprise Java Beans 3.1" by Rubinger and Burke is a great reference with excellent tutorials on all things EJB (including transactions and timers!)
- We've begun to post assorted "gotchas" and tips for using glassfish on the software tools page
- Some entertaining software engineering snafus and cartoons
- Many of Joel Spolsky's blog articles are very enlightening
- Check out the many useful software engineering books on Joel Spolsky's "Programmer's Bookshelf" plus his short article on Distributed Version Control
COMS W4156x Advanced software engineering 3 pts. Lect: 3. Prerequisites: Substantial software development experience in Java, C++ or C# beyond the level of COMS W3157. Recommended Corequisites: COMS W4111.
Software lifecycle from the viewpoint of designing and implementing N-tier applications (typically utilizing web browser, web server, application server, database). Major emphasis on quality assurance (code inspection, unit and integration testing, security and stress testing). Centers on a student-designed team project that leverages component services (e.g., transactions, resource pooling, publish/subscribe) for an interactive multi-user application such as a simple game.
Who should take 4156?
COMS W4156 is a track elective for the undergraduate Systems and Applications tracks and a breadth elective for all other undergraduate tracks. COMS W4156 is one of the (choose four of the six) "core" courses for the MS degree and required for the MS Software Systems track. Although most of the enrollment will probably be CS majors, non-majors are very welcome.
What are we going to do in 4156?
Students will work primarily in self-chosen pairs (2 people), which will group into 2-pair teams (that is, 4 members). Teams will invent their own projects to implement a multi-user interactive application utilizing component services provided by the component model framework of their choice (e.g., EJB, .NET Enterprise Services, Web Services). The course will be extremely fast-paced, with multiple iterations of rapid system development within the semester. Students should be very quick at coming up to speed on whatever software technologies their team chooses.
All members of the same team must use the same component model framework. An EJB framework (with associated infrastructure) will be recommended, but not required; the TAs can provide support only for the recommended facilities.