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