Applications of Theory and Research to Software Engineering
Syllabus

Objectives: Students will apply their theoretic background, together with current research ideas to solve real problems. They will draw from their entire computer science curriculum, noting how theoretic results apply to real problems.

Text: Software Engineering: A Practitioner’s Approach by Roger Pressman.

Other Readings: Each team will need to identify appropriate background reading for their particular project.

Method: Students will carry out team projects which involve real industrial problems. Each team will deal with all the stages of addressing a software problem: requirements analysis, solution design, implementation, testing, and documentation. Because the problems come from various parts of industry, each team will interact with an industrial partner to clarify a variety of issues related to the problem definition. They will then do background reading specific to their particular problem.

Students will then discuss a variety of ways to address their problem, considering efficiency, correctness, reusability, ease of use, modularity, and other aspects of design, ultimately choosing a particular design to implement. They will prepare test plans for their solution according to software engineering guidelines.

All stages of the work will be carefully documented. This gives students experience with technical writing, one very important component of the software engineering process. The final product will include a complete history of the project, written according to a particular format.

Exams: There will be quizzes on material in the textbook, emphasis being placed on how the material applies to the projects.

Grading: At each stage of the project, students will be required to present their findings both in a written and oral report, prepared according to guidelines provided by current SE research. Team grades will be assigned at each of these stages. Peer evaluations will be used to distinguish among team members.

The project will determine 70% of the final grade. The other 30% will come from exams and class participation.

Schedule
Week

January 13

January 20

January 27

February 3

February 10

February 17

February 24

March 3

March 17

March 24

March 31

April 7

April 14

April 21

Topic

What is Software Engineering?

Management, Risk Analysis

Process, Scheduling

Configuration Management, Quality Assurance

Design

System Engineering, Analysis

 

OO Design, Component Level Design

 

Testing, Validation, Verification

 

Metrics

Client/Server SE, CASE

Project Presentations

Readings

Ch. 1, 2, 5

Ch. 3, 6

Ch. 4, 7

Ch. 9, 8

Ch. 13, 14

Ch. 10 – 12

 

Ch. 16, 20

Ch. 21, 22

Ch. 17, 18

Ch. 23

Ch. 24

Ch. 28, 31


CS349 Homepage

Last modified: Tuesday, 07-Jan-2003 10:30:46 EST