Skip to end of metadata
Go to start of metadata

COMS W4156 Advanced Software Engineering

Fall 2011: Prof. Gail Kaiser
Tue/Thu 10:35-11:50am
501 Schermerhorn Hall

Official Bulletin Description

Teaching Staff

Instructor: Professor Gail Kaiser
Office: 607 CEPSR
Office hours: immediately after class
Phone: 212-939-7081
Email: kaiser+4156@cs.columbia.edu (be sure to include the '+4156')

TA: Mr. Jonathan Bell
Office: 608 CEPSR
Office hours: Mondays 11:00 am -12:00 pm; Wednesdays 1:30 pm - 2:30 pm
Office phone: 212-939-7184
Email address:jbell+4156@cs.columbia.edu (be sure to include the '+4156')

TA: Mr. Mayank Talwar
Office: 6LE1 CEPSR

Office hours: Tuesdays 3:00-5:00 pm ; Thursdays 3:30 pm - 5:30 pm

Office phone: 212-939-7100
Email address: mt2694@columbia.edu

TA: Mr. Shen Wang
Office: 6LE1 CEPSR
Office hours: Tuesdays 4:30 pm - 6:30 pm
Office phone: 212-939-7100
Email address: sw2613@columbia.edu

Contacting Us

To reach the entire teaching staff with one message, please send to coms4156-staff@lists.cs.columbia.edu.

If you have a general question regarding the course or regarding assignments, please consider posting your question in the forum so that other students may benefit from your query as well.

Textbooks

REQUIRED
Author: Ian Sommerville 
Title: Software Engineering
Publisher: Addison Wesley
Edition: 9
ISBN: 9780137035151


RECOMMENDED
Author: Ron Patton
Title: Software Testing
Publisher: Sams
Edition: 2
ISBN: 9780672327988


RECOMMENDED
Author: Joel Spolsky
Title: Joel On Software
Publisher: Apress
ISBN: 9781590593899


RECOMMENDED
Author: Joel Spolsky
Title: More Joel On Software
Publisher: Apress
ISBN: 9781430209874

RECOMMENDED

Author: Andrew Hunt and David Thomas
Title: The Pragmatic Programmer: From Journeyman to MasterPublisher: Addison-Wesley
ISBN: 9780201616224

Class Attendance and Pop Quizzes

Regular attendance is required.  Short "pop quizzes" will be given near the beginning of the class period several times during the semester; the scheduling of these quizzes will not be announced in advance, since everyone is expected to attend every class.  Waivers or makeups for these quizzes will be available only in the event of severe illness, dire emergencies and religious observances. Please present appropriate documentation to the instructor regarding the nature and duration of the illness or emergency as soon as possible thereafter; the instructor should be reminded of upcoming religious observances in advance.

Individual Assignments

A small number of individual homeworks will be assigned during the semester.  Instructions as to any "collaboration" or "help" permitted will be stated on each specific assignment.  These assignments will be graded pass/fail.  MS students seeking waiver of the 4156 core course must pass all of these assignments, in addition to satisfactory completion of a similar course at another institution.

Team Assignments

All students are required to form themselves into teams of four (4) members each, organized into two "pairs" of two (2) members each; if there is an odd number of students enrolled in the class, then exactly one (1)  "triplet" of three (3) members is permitted.  There may not be any "onesies"!   If some students drop the course, any remaining pair or team members may be arbitrarily reassigned to other pairs/teams at the discretion of the teaching staff (but are strongly encouraged to re-form pairs/teams on their own and inform the teaching staff as soon as possible of any new arrangements).

Team members should work together throughout their project; pair or individual responsibilities for specific project milestones or portions of project milestones should be organized within the team but may not involve participation of any other people outside the team.  Team members who do not contribute appropriately should be brought to the attention of the teaching staff as soon as possible.  Such team members may receive a significantly lower grade for the relevant project assignment(s) than the rest of that team - possibly "zero", may be reassigned to another team, and/or may be asked to withdraw from the course. 

Midterm and Final Exams

Midterm and final examinations will be given as take-home assignments with approximately one week between posting and submission deadline, the midterm near the middle of the semester and the final near the end.  The exams must be completed by each student working individually.

There will be no other exams (except see "pop quizzes" above). The registrar may schedule a 3-hour exam period during finals week, ignore it.

Final Grade Breakdown

10% individual homeworks, 10% attendance and quizzes, 30% exams, 50% team project.

Late Assignments

Extensions may be arranged only in the event of severe illness, dire emergencies and religious observances, and the duration of the extension will be at the discretion of the instructor in accordance with university policies. Please present appropriate documentation to the instructor regarding the nature and duration of the illness or emergency as soon as possible thereafter; the instructor should be reminded of upcoming religious observances in advance.

Assignments submitted late will not be read or graded, and will receive no credit. All assignment deadlines are US Eastern Time (local NYC time) unless otherwise announced by the teaching staff.

Computer Accounts

Students may use any machines and accounts available, provided that they can (1) complete their individual assignments and exams; (2) install and run their team's component model framework; (3) develop and test their project code together with the other member of their programming pair, integrate together with the other pair in their team, and demonstrate their project to the teaching staff ; and (4) maintain revisions of their project code and documentation in a shared repository accessible to the teaching staff as well as to their other team members.

The course will require you to use a number of specific software tools, all of which will be provided to you free of charge. They are compatible under the latest versions of Mac OS, Linux, and Windows.

Important note: In most cases all team members will need to use the same programming platform - which in practice usually means the same operating system.

Academic Honesty Policy

For the purposes of this course, students are permitted and encouraged to "reuse" existing open source or public domain code as well as any publicly available utilities, tools, frameworks, APIs, IDEs, etc.  However, all such "reuse" must be clearly documented in the submitted assignments (e.g., by providing the download url together with a prose explanation of what, specifically, was adopted/adapted). Students are not permitted to "reuse" any code or systems that are not available to the general public, with the sole exception of code they wrote themselves personally (where there are no proprietary claims, e.g., by the student's current or former employer).

Documentation other than in-code comments may not be "reused" under any circumstances. All reference materials, whether electronic or physical, must be listed in the submission. Students must write in their own words, without any copying or paraphrasing from reference materials, with the sole exception of very short quotations (e.g., one or two sentences or an image) that are clearly indicated as quotations (e.g., placed in quote marks) and explicitly cited (e.g., [David Pogue, Behind the Scenes of "iPhone: The Musical", Pogue's Posts, The New York Times, July 12, 2007, http://pogue.blogs.nytimes.com/2007/07/12/behind-the-scenes-of-iphone-the-musical/]). 

All members of a team will be held responsible for any occurrences of plagiarism that occur in the team project, even when that portion of the code or documentation was produced by a single team member. Also see the department's academic honesty policy.

Labels: