General Information 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

Official Bulletin Description

Back to Top

Teaching Staff

bullet Lecturer: Professor Gail Kaiser
Office: 607 CEPSR
Office hours: by appointment
Email: kaiser+4156@cs.columbia.edu (make sure to include the '+4156')
bulletCourse Manager: Mr. Swapneel Sheth
Email address: swapneel@cs.columbia.edu
 

Back to Top

Textbooks (both are available at the Columbia bookstore)

bullet REQUIRED

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

 

bullet RECOMMENDED

Author: Clemens Szyperski
Title: Component Software
Publisher: Addison-Wesley
Edition: 2
ISBN: 0201745720

Back to Top

Computer Accounts

Students may use any accounts they like, provided that they can (1) 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; (2) submit written assignments in plain text, MS Word or Adobe PDF format; and (3) access the class website over the Web.  It is highly recommended but not required that students obtain CS (CLIC/MRL) accounts (click here for further information).

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

Individual Assessments (MIA and FIA)

Midterm and Final "Individual Assessments" are given as take-home examinations with approximately one week between posting and submission deadline, the MIA near the middle of the semester and the FIA near the end.  There will be no other exams. The registrar may schedule a 3-hour exam period during finals week, ignore it.

The MIA and FIA should be treated with the same seriousness as in-class exams, and are weighted analogously to conventional exams in the final grade breakdown (see breakdown  below). These examinations must be completed by each student working individually.

For the individual assessments, students are not permitted to "reuse" any materials written by other students in this class or a previous offering of this class, nor "cooperatively author" with anyone else, whether or not ever enrolled in the class.  (See the academic honesty policy below.)

Back to Top

Individual Development Assignments (IDAs)

At the beginning of the course, a few small individual development assignments are given.  Their purpose is primarily to ensure that students become familiar with selected technologies that may be used more extensively during the rest of the semester, as part of the  team project. The code and documentation for these assignments must be completed by each student working individually.

For the individual development assignments, students are not permitted to "reuse" code or documentation written by other students in this class or a previous offering of this class, nor "cooperatively author" code or documentation with anyone else, whether or not ever enrolled in the class. (See the academic honesty policy below.)
 

Team Projects

All students are required to form themselves into "pairs" of exactly two (2) members each; if there is an odd number of students in the class, then one (1)  "triplet" of three (3) members is permitted.  There may not be any "onesies"!  The teaching staff will assist the pairs in forming "teams", ideally each consisting of two (2) "pairs", but students are encouraged to form their own 2-pair teams in advance. 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 instructor (but are strongly encouraged to re-form pairs/teams on their own and inform the instructor as soon as possible of any new arrangements).

All assignments (other than the individual assessments and individual development assignments) correspond to milestones in a team project.  Team members who do not contribute appropriately to any given team project assignment will receive a significantly lower grade for that assignment than the rest of that team, possibly "zero", at the discretion of the instructor.  If there is lack of appropriate contribution on any two or more team assignments, the student may be be asked to withdraw from the course. If this occurs after drop date, an "unofficial withdrawal" grade may be given. 

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).

For the team projects, students should "cooperatively author" code and documentation with their fellow team members, but only with their team members, not with anyone else whether or not ever enrolled in the class. An exception may be granted by the instructor in cases where former teammates dropped the class and/or team membership was rearranged, but the remaining students must discuss this with the instructor in advance.  Students may be permitted to "reuse" their own "sole author" code written previously for whatever purpose, provided there are no proprietary claims by third parties on said code (e.g., not written for a current or former employer), but affected students must discuss this with the instructor in advance.  (See the academic honesty policy below.)

Back to Top

Final Grade Breakdown

15% Individual Development Assignments, 50% Team Project, 15% Midterm Individual Assessment, 20% Final Individual Assessment. Note: some assignments may be graded on a "pass/fail" basis. For the purposes of this course, this means that the student either receives credit for submitting the assignment, or the student fails the course (or withdraws from the course); it does not mean that the student simply loses only the credit percentage allocated to that assignment.

Back to Top

Late Assignment Submission

Extensions may be arranged 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.

Back to Top

Academic Honesty Policy

The department's academic honesty policy is here

For the purposes of this course, students are permitted, indeed encouraged, to "reuse" existing open source or public domain code as well as any publicly available utilities, tools, frameworks, IDEs, etc., but all such "reuse" must be clearly documented in the submitted assignments (e.g., by providing the download url). Students are not permitted to "reuse" any code or systems that are not available to the general public (e.g., proprietary to the student's employer) other than code they wrote by themselves personally.

Documentation other than in-code comments, i.e., the various written prose assignments, 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", http://pogue.blogs.nytimes.com/, July 12, 2007]).

Back to Top

Last updated May 3, 2009.

 

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

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.