Course Expectations and Tentative Syllabus
CSC:480 Project
Design Fall
2001
Olney 200 Tu 6:15-8:55pm
Professor:
Dr. Michael
Redmond
330
Olney Hall (215) 951-1096
redmond@lasalle.edu
http://www.lasalle.edu/~redmond/teach/480/
Office Hours: MWF 11-11:50am, MW 2-2:50pm, Tu 5:00-6:10pm
And at other times by appointment.
Also, by phone and e-mail.
Text:
Sommerville, I., Software Engineering,
Sixth Edition, Addison-Wesley, 2001
Course Description:
This is the
first course in a two course senior sequence of courses. The intent is for
these two courses (480 and 481) to act as a “capstone” on the undergraduate
experience. To do this, we develop a large semi-realistic project. We also
cover basics in software engineering – which is a field within computer science
devoted to applying rigor to the software development process in order to
increase the odds of successful projects.
The catalog
description of 480 says:
Basic concepts and major issues of project design
using a software engineering approach; project planning; cost estimation;
requirements definition. Requires a team project to design a software system.
The catalog
description of 481 says:
A continuation of CSC 480; Implementation issues;
programming language features; validation techniques; software maintenance.
Requires a team project to develop, document, test, and maintain a software
system.
This course focuses
most heavily on requirements definition and design, with some coverage of
project management. We use prototype development as part of requirements
determination, as done in many organizations today. 481 focuses on full
development, validation and maintenance. This is perhaps the most applied, most
project oriented course(s) in the CS curriculum. Group work is fundamental to
this course, in order to be realistic. Class attendance is critical, due to in
class meetings/ group work. You are encouraged to stick with the evening
section for the spring class as well , for continuity sake (the same project
will be continued).
Course
Objectives
Concepts:
1. The
student should understand the processes involved in software engineering.
2. The
student should understand important aspects of project management, including
tracking progress.
3. The
student should understand the process of determining system and software
requirements.
4. The
student should understand the importance of good design.
5. The
student should understand design processes in Object-oriented and regular
development.
6. The
student should understand design principles for current interface technologies.
7. (time
permitting) The student should understand the concepts and strategies behind
system validation and testing.
Applications:
1.
The student
should gain experience in a significant team development project.
2.
The student
should gain experience managing a significant project.
3.
The student
should gain experience carrying out interviews as part of requirements
determination.
4.
The student
should gain experience using OO design tools such as UML.
5.
The student
should gain experience doing system and interface design.
Grading:
Midterm 20%
Small
Assignments 10% (probably project management and UML)
Project
Requirements Document 10%
Design 20%
Prototype 15%
Presentation 10%
Reflective Paper 5%
Participation 10%
Final Grades:
A 92-100 A-
90-91
B+ 88-89 B 82-87 B- 80-81
C+ 78-79 C 72-77 C- 70-71
D+ 68-69 D 60-67 F < 60
Makeup
exams only by advance arrangements or for documented real emergencies, such as
medical problems. Makeup may involve oral exam. Because of the
project-orientation of this class, particularly in the later part of the
semester, there is no final exam.
I expect two “smaller”
assignments in addition to the project. These will probably be assigned one
week and be due the next week. If you need to miss class (for a business trip
for example), make sure you find out what happened.
The project is a group project.
You will be assigned to groups. Part of your responsibility is to make the
group work (as in the real world). The project has several deliverables over
the course of the semester: requirements document, design, prototype, and a
presentation during the final exam period. In addition, you will write a short,
reflective paper about what you learned in working on the project. More details
will be available later.
Class attendance and
participation are important, and is counted in the final grade.
Information
about the project will be distributed after some initial coverage of software
engineering topics. Most classes after the midterm will include some time for
groups to meet and to meet with me. It is expected that significant additional
time and communication outside of class will be necessary.
Note
also that, to discourage slackers, that if you do not do your share of the
project you can get a lower grade than the group grade. If there appears to be
a problem in a group, first try to solve it internally. If that doesn't solve
the problem, as a last resort (but before the end of the term), I may have to
mediate. I reserve the right to assign different project grades to different
team members if effort appears to be unequal.
Tentative
Course Plan:
Date Material Reading
Aug 28 Intro
to Class,
Intro to
Software Engineering Chapt 1
Sep 4
Systems Engineering Chapt
2
Software Processes Chapt 3
Sept 11 Project
Management Chapt
4
Software
Requirements Chapt
5
Sept 18 Requirements
Engineering Chapt
6
System
Models Chapt
7
Sept 25 Software
Prototyping Chapt
8
Formal
Specification Chapt
9
Oct 2 TEST
Project
Begins
Oct 9 Architectural
Design Chapt
10
Project
– Requirements
Oct 16 OO
Design Chapt
12
Project
- Requirements
Oct 23 FALL
BREAK – NO CLASS
Oct 30 Design
with Reuse Chapt
14
Project
– Requirements
Nov 6 Distributed
Systems Chapt
11
Project
– Requirements
Nov 13 User
Interface Design Chapt
15
Project
– Project Management
Nov 20 Verification
and Validation Chapt 19
Project
– Design
Nov 27 Software
Testing Chapt
20
Project
– Design
Dec 4 Project
– Prototyping
Dec 11 Project
-Presentations