CSci 161.10: Software Engineering II

Department of Computer Science
The George Washington University, Spring 2009
CRN 41739 (Lab 42081)

Syllabus


Instructor: Matthew M. Burke, 709 Academic Center, ph: 4.0718, mmburke@gwu.edu
TA: Konstantinos Bousmalis bousmalk@gwu.edu
Textbook: Sommerville, Ian. Software Engineering. Eighth edition. Addison-Wesley: New York, 2007.
Location/Times: Tomp 411; Tues/Thurs 2:20–3:35
Tomp 411; R 5:10–6:00 (Lab)
Office Hours: Tues, Wed, Thurs 1:00–2:00 and by appointment
TA Office Hours: TBA
Website: www.seas.gwu.edu/~mmburke/courses/csci161
Prerequisites: CSci 151 or equivalent

The only way for errors to occur in a program is by being put there by the author. No other mechanisms are known. Programs can't acquire bugs by sitting around with other buggy programs. Right practice aims at preventing insertion of errors and, failing that, removing them before testing or any other running of the program.—Harlan D. Mills

Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.—Brian Kernighan

I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone.—Bjarne Stroustrup

Course Objectives: In this course, students will learn the details of the software lifecycle and gain experience in creating the work products associated with the different phases of this lifecycle. Course activities will give students further experience with working in a team and communicating with team-members and other project stake-holders. Students will practice using many of the tools and techniques professional software developers make use of. Finally, students will extensively develop a project idea in order to prepare for their senior capstone project.

Please see the schedule [1] to keep abreast of reading assignments and class topics.


Grading: The assignments and the amounts they will contribute to your final grade are as follows:

 

Final grades will be assigned according to the following scale:

AssessmentDatePercent
Small Assignments/Quizzesvarious10
Individual Projectsee schedule30
Group Projectsee schedule30
Mid-Term ExamMar 12th15
Final ExamTBA15
Total100
 
GradeRange GradeRange GradeRange
   A93-100 A-90-92
B+87-89 B83-86 B-80-82
C+77-79 C73-76 C-70-72
   D65-69
   F0-64   

Class Preparation: includes, but is not limited to, having read any and all assigned readings for that day and having spent a reasonable amount of time on the current assignment. All students are expected to be prepared for each class.

Assignments: Assignments are due by midnight on the date assigned. Assignments must be submitted by emailing the work to your TA. Individual assignments may have requirements for particular special handling such as required file formats. Please pay attention to these details. Late work will be accepted but the grade will be decreased one-half letter grade for each day (or partial day) late.

Examinations: Examinations cannot be rescheduled, although they can be made up for a documented emergency. All examinations are solo events, no collaboration is allowed, and will be closed-book, closed-notes unless specifically indicated.

Special Needs: Any student with a disability for whom special accommodations would be helpful is encouraged to discuss this with me as soon as possible. I recommend you contact the Disability Support Services office at 202-994-8250 in the Marvin Center, Suite 242, to establish eligibility and to coordinate reasonable accommodations. For additional information please refer to the Disability Support Services website [2]. If you intend to be absent due to the observation of a religious holiday, please let me know during the first two weeks of the semester so that we can make appropriate arrangements.

Rights and Responsibilities: Students are expected to be familiar with the Computer Science Department Policy on Academic Integrity, the University Code of Academic Integrity and the ACM-IEEE Software Engineering Code of Ethics and Professional Practice (all of which may be found on the CS department's website [3]) and will be held to the standards outlined in these documents. Students will be treated in a professional manner by both their instructor and fellow students.

Email Policy: I will answer most class email during specific times set aside during the week for this purpose—so do not expect an instantaneous response. You may not perform debugging by email. That is, do not send me code snippets and ask me to identify the problem. If you want me to look at your code, you have to stop by in person during office hours and bring along hardcopy. Email is typically used for clarification regarding coursework. Please email the TA with assignment-related questions before emailing me.

If your email account has a quota, it is your responsibility to make sure you keep your inbox cleaned out. "I didn't get the memo," is not a sufficient excuse!

Emergency Information: You should familiarize yourself with the information provided by the GWU Office of Public Safety and Emergency Management [4].

One last thing... Learning in this class is considered to be everyone's shared responsibility. Part of that responsibility is attendance; when you are not here, not only do you miss important work, but also the entire class misses out on your contribution. Consequently, every four absences from class will result in your final grade being lowered one letter grade. Every two times a student is late for class will count as one absence.

References

  1. www.seas.gwu.edu/~mmburke/courses/csci161/schedule.html
  2. gwired.gwu.edu/dss/
  3. cs.seas.gwu.edu/academics/resources/integrity.html
  4. www.gwu.edu/~gwalert/index.cfm

mmburke@gwu.edu
Modified: Tue Jan 13 13:06:46 EDT 2009