Computer Science Department
CS314
|
Objectives | General Information | Course Materials | Quizzes |
Assignments | Projects | Exams | Grading |
Prerequisite: CS253 and all the prerequisites for CS253 including CS166 (Discrete Structures) and CS200 (Data Structures).
This course will expose students to techniques used to develop large software systems. Major topics include system and requirements engineering, object-oriented design, and systematic code testing techniques. Students will use CASE tools for many of the topics mentioned below.
The following topics will be covered in the course:
No late turnins are allowed for team projects. We will allow late turnins for individual assignments with some penalty. You lose 25% of the assignment grade for one, 50% for two and 75% for three extra days. Assignments will not be accepted after 3 extra days. Extensions may be granted when permission is sought in advance for reasons that are unexpected and beyond your control.
Homework assignments are to be done individually. Projects are to be done in groups. You are responsible for any announcements made in class and on WebCT.
All written work must be typed on 8.5 by 11 paper, have at least 1 inch margins and be printed in 10, 11 or 12 point type. Work should be single-spaced. Diagrams have to be drawn with the help of Rational Rose. All work must be neat and legible.
Read the departmental policy on cheating, incompletes and class attendance.
Short quizzes may be given in class throughout the semester. All quizzes will be discussed in class. The goal is to provide opportunities for classroom assignments and also to motivate discussion on the topics to be discussed later. One quiz will be dropped from the final grade calculation.
There will be 6 homework assignments. Each assignment needs to be done individually. Assignments and quizzes are worth 35% of the final grade.
Assignment | Assigned | Due | Topic |
1 | January 21 | January 30 | Software engineering tools |
2 | January 30 | February 20 | Java Swing based application |
3 | February 20 | March 4 | Requirements analysis |
4 | March 18 | April 1 | JUnit |
5 | April 01 | April 22 | Object oriented design |
6 | April 22 | May 06 | White box testing |
You are expected to work in teams of three to develop a software application. You will write a requirements document, a design document and code for the project. The project is worth 20% of the final grade. Project descriptions will be made available through WebCT sometime in February. You may turn in a draft of each document before the actual due date. This is for your benefit. It gives me a chance to review the document and give you comments for improvement. You will not be awarded points for the drafts. The final project demo will be held in the last week of the semester (before finals week). For every phase of the project, each team member will do a peer evaluation.
Teams formed | February 4 |
Project assigned | February 6 |
Requirements document due | March 20 |
Design document due | April 15 |
Project demos | May 8, 9 |
There are two exams: one midterm exam in class (20%) and one final exam (25%) during the final's week.
Exam | Date |
Midterm exam: | March 6, in class |
Final exam: | May 12, 9:10am, Eddy 100 |
Assignments and quizzes: | 35% |
Project: | 20% |
Midterm exam: | 20% |
Final exam: | 25% |
Grades will be assigned according to the following table, though the actual cutoffs may be lower (not higher).
Final score | Letter grade |
[90-100] | A-, A |
[80-90) | B-, B, B+ |
[70-80) | C |
[60-70) | D |
[0-60) | F |