Welcome to Software Engineering!
CS 4310 Fall 2004 Home Page
CS 4310 Fall 2004 - Software Engineering - 4 Credits 

Instructor: David Yang (Science South 433, dyang@csuhayward.edu)
Time: Mondays, Wednesdays, Fridays 10:40AM-11:50AM
Location: Science South 125 

Blackboard will be used for posting of course material, while email to the class will go to your Horizon account. You will submit assignments, including your logs (see later) via the digital drop box. Because of previous problems with students not submitting documents properly, you will also need to print out your group documents and submit them.

Text:
Various web pages and web sites. The most important of these are as follows:


For those who want a text, the text the other sections are using (Sommerville, Software Engineering, Addison-Wesley, ISBN 0-201-39815-X.), one of the standard software engineering books. It's a "recommended" text, and 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.


Page with links regarding project

IMPORTANT NOTE OF WARNING: You must be responsible for writing some code in your submission. If you are a stronger programmer, this also means carving out pieces of the project for your teammates to do. Not all members of a team will necessarily earn the same grade on a deliverable. Do not allow your teammates to do your work for you. You will also need to properly document who did what. This means there will need to at least be a comment at the top of each file with the name of the person responsible for the code. 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%
Test plan 10%
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)
Tutorial 15%
Group Presentation 15%

Individual logs: Cooper wrote up a nice explanation of why you should keep a log and what it should look like. I've modified it slightly and put it here. I will require a log for the Requirements, Test plan, Design, and Implementation. 10% of the grade for each will be based on your log. In particular, you will receive no credit for any deliverable for which you do not turn in a log.

Document evaluation
Another important component of the project is your evaluation of the work of others. This part of the work is to be done individually. 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: My office is in room 433 of the South Science Building. My tentative schedule for office hours is: 

  • Monday, Wednesday, Friday 2:40 PM-3:40 PM 


I will also be available at other times. You can make an appointment, though stopping by to see if I'm around is fine. It is better to ask questions before the midterm. 

Schedule:
Click here for the tentative schedule.

References for other texts used in preparing notes:

  • Roger Pressman, Software Engineering: A Practitioner's Approach, 5th ed., McGraw-Hill

    This is a fairly standard text, covers the material quite thoroughly, and has pointers to a lot of web-based resources. The main project example is a household security control center. This is a useful problem in that there are hardware and external considerations (the system is intended to be connected to a phone system that can automatically dialup the police, for example), but the application may seem a bit remote for students who are trying to get the hang of problems that only deal with software.

  • Eric J. Braude, Software Engineering: An Object-Oriented Perspective, Wiley, 2001, ISBN: 0-471-32208-3.

    This book does not provide as thorough a coverage as Pressman (ex: nothing on risk analysis), but it has the advantage that it is written for students taking a course. It has a lot of good project-related advice, though the advice is only useful when applied, of course. The text also takes the approach that just as software process phases (see the 1st lecture :)) usually need to be repeated, the topics should be discussed again after all topics are covered once. The main project example is a small dungeon game, which is probably closer to what you might be working on in this course and CS 4311 and maybe CS 4320.

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.