Course Expectations and Tentative Syllabus
CSC:480 Project
Design Fall
2003
Olney 200 Tu
Thr 11:00am-12:15pm
Professor:
Dr. Michael Redmond
330 Olney Hall (215) 951-1096
redmond@lasalle.edu
http://www.lasalle.edu/~redmond/teach/480/
Office Hours: W 10-10:50am; MWF 12-12:50am,
TuThr 2:00-3:00pm
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. Short quizzes will be given at the beginning of most
classes. Arrive promptly.
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.
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 15%
Final
Exam 20%
Small
Assignments 10% (probably project management and UML)
Class
Participation 10%
(including beginning of class reports)
Project
Requirements Document 10%
Design 15%
Prototype 10%
Presentation 5%
Reflective Paper 5%
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 double counting final exam. The final exam
is cumulative, with heavier focus on the previously untested second half of the
course.
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, 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. An important part of class participation is
preparation. Reading the assigned readings prior to class allows class time to
be productively used for discussions and activities rather than repeating
information that is in the book. Hence to encourage and assess preparation,
students must turn in at the start of each class a brief write up with – A)
what you believe are the 5 most important points of the chapter or sections of
the chapter; B) the biggest question you have on the material; and C) a
possible test question on the material covered.
Information
about the project will be distributed after some initial coverage of software
engineering topics. Most weeks 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 26 Intro
to Class,
Aug 28 Intro to Software Engineering Chapt
1
Sept 2
Systems Engineering Chapt
2
Sept 4 Software Processes Chapt 3
Sept 9 Project Management Chapt 4
Sept 11 Project
Management Software
Sept 16 Software
Requirements Chapt
5
Sept 18 Requirements
Engineering Chapt
6
Sept 23 System
Models Chapt
7
Sept 25 Software
Prototyping Chapt
8
Sept 30 TEST
Oct 2 Project Begins
Oct 7 Formal Specification Chapt 9
Oct 9 Project – Requirements
Oct 14 Architectural
Design Chapt
10
Oct 16 Project
- Requirements
Oct 21 FALL
BREAK – NO CLASS
Oct 23 Project
– Requirements
Oct 28 OO
Design Chapt
12
Oct 30 Project
– Requirements
Nov 4 Design
with Reuse Chapt
14
Nov 6 UML
Software
Nov 11 User
Interface Design Chapt
15
Nov 13 Project
– Design
Nov 18 Project
– Design
Nov 20 Project
– Prototyping
Nov 25 Project
– Prototyping
Nov 27 THANKSGIVING
– NO CLASS
Dec 2 Project
– Prototyping
Dec 4 Project
–Presentations
Dec 9 10:30am Final
Exam