CS 4310 Spring 2009 Home Page
CS 4310 Spring 2009 - Software Engineering - 4 Credits 

Instructor: David Yang (Science South 450, david.yang@csueastbay.edu)
Time: Mondays, Wednesdays, Fridays 10:40A-11:50AM
Location: SC-N112

Blackboard will be used for posting of course material, while email to the class will go to your Horizon account. Unlike previous courses I have offered, you will submit your work through your group's project site. If you do not have one, you will need to create a Google account. You have free space for up to 10 projects, and Google provides a nice set of basic tools for projects, including version control (Subversion) and defect reporting/enhancement requests.

Text:
Various web pages and web sites.
For those who want a text, Sommerville, Software Engineering, Addison-Wesley, ISBN 0-201-39815-X has been used in other sections of this class. The website for it has a nice collection of slides. I will cover the slides from chapter 8 for the topic of prototyping which will provide a sample of Sommerville's presentation of material. Some of the lecture notes were developed from the texts by Roger Pressman and Eric Braude, for which you can find citations at the end of the syllabus. Pressman's is a more thorough text intended for professionals, while Braude is more directed towards students.

Goals: (Much of the material from here until Calculating your grade is taken from the syllabus developed by Prof. Stephen Cooper of St. Joseph's University)

  • to develop an understanding of the concepts and techniques of software engineering
  • to gain an understanding of the process and management of a substantial software product
  • to learn to work in a team 
  • to practice software development principles
  • to learn how to effectively present your ideas, in an oral and written context
  • to develop habits and methods appropriate to the discipline and to scholarly inquiry in general
  • to learn how to evaluate the work of others

Project: During the beginning of the second week of class, you will be assigned to a small team with whom you will work on a project over the semester. There will be much further discussion about the deliverables for this project, as well as suggestions about working on it.

Not all members of a team will necessarily earn the same grade on a deliverable. The project site will document who did what. There are presently scheduled to be 5 graded deliverables. Here is the breakdown:

Segment Percentage

  • Initial project proposal 0% (but must be approved)
  • Software Requirements 25% (part of this is the log and the review)
  • Test plan 10% (part of this is the log and the review)
  • Software Design and Implementation 35% (due in 2 stages, but implementation must follow design in order for design to receive credit -- implementing the project in one class will get a zero (part of the design portion is the log and review)
  • Tutorial 15%
  • Group Presentation 15%

Another important component of the project is your evaluation of the work of others. Each member of your group will be assigned to review a different group, if possible. You are to critically, (but politely) evaluate the work of one other group. You should not spend much time evaluating spelling and grammar -- the content is the focus of our concern. They will get to see your evaluation. It is important that you point out both what you feel the other group has done well and what it has done not-so-well, and why. The evaluation will be required for every deliverable besides the implementation. 10% of your grade for each of these deliverables will come from your evaluation. And just as you should write politely, you should learn to accept criticism politely.

Calculation of your grade: 
The project will count for 50%.
The midterm will count for 25%.
The comprehensive final exam will count for 25%.

[grading note: Your exams must average (using the relative weights above) out to a C- or better in order to get at least a C- in the course.]

Final grades will be given according to the following scale:

93-100 A, 90-92 A-, 87-89 B+, 83-86 B, 80-82 B-, 77-79 C+, 73-76 C, 70-72 C-,67-69 D+, 60-66 D, 0-59 F 

Attendance:
Remember that standard policy dictates that students who do not attend can be removed in favor of students on the waiting list who do show up.

IMPORTANT: attendance is mandatory for the project meeting days. I understand that it is difficult to regularly meet outside of class. Thanks to a suggestion from previous students in the Fall of 2002, I will be setting aside 4 class periods for group meetings. If you have a really good excuse for these dates (all marked in red in the schedule below), bring proper documentation (ex: signed doctor's note) the next day. Also, note that you still really need to set up meetings outside of class to work properly as a group.

Academic Honesty: This course will follow the University's standard policy on academic dishonesty. In particular, note that regardless of whether you copy work from another student or allow another student to copy your work on an exam, you are both equally guilty and equally penalized. Copying text/files off the internet without properly giving credit is also cheating. Any cheating on an exam results in an F for the course. Cheating twice also results in an automatic F. All instances of cheating will be reported to the Dean's office.

Remember that the University may inflict further penalties than listed here under the provisions of the published Academic Dishonesty Policy. 

Office Hours: Go here to view my office hours

Click here for the class schedule


This webpage's layout is originally from Bill Parkinson, who used to teach in the evening program at St. Joseph's University. Much of the content is lifted from Steve Cooper's version of this course -- in particular, the project documents were designed by him, though parts are adapted from elsewhere. 

References for other texts used in preparing notes (both probably have more recent editions):