CSC 242 - Software Engineering
Fall 2002 - Section 00 - Curtis 353 - MWF 11:00-11:50
Course Description
A study of the principles of production and management of software products for computer systems. Topics include analysis of system requirements, techniques and tools for software design, user interfaces, reliability, verification and validation. The use of CASE tools and the software lifecycle will be emphasized. Various professional and ethical issues important for the software engineer also will be discussed.
Prerequisites
CSC 133.
Course Objectives
Textbook
Hamlet, D., & Maybee, J.; The Engineering of Software, Technical Foundations for the Individual; Addison Wesley, 2001. ISBN: 0-201-70103-0.
Software
Software required for this course will depend on the particular project you pursue. Basically, you will need a compiler for the language you select for project implementation, and any supporting development tools (e.g. MS Access for database support). Additionally, MS Word (or other word processing package) is needed for document production, and perhaps drawing or charting tools.
Instructor
Norman Lippincott
Asst. Professor, Computer Science
Office: Curtis 105
Phone: 610-437-4471, ext. 6197
e-mail:
nlippinc@cedarcrest.eduOffice Hours
Monday: 1:00-3:00, 5:30-6:30
Tuesday: 5:30-6:30
Wednesday: 1:00-3:00
Friday: 1:00-3:00
Assessment Overview
Grades for this course will be based on the following assessment items with weights as shown:
Project 60%
Tests (2) 20%
Final Exam 15%
Class Participation 5%
A final score is calculated as a weighted average and rounded to the nearest full percent. Final grade is then awarded according to the following scale:
93-100 A 73-76 C
90-92 A- 70-71 C-
87-89 B+ 67-69 D+
83-86 B 60-66 D
80-82 B- 0-59 F
77-79 C+
Assessment
Project
Each student will participate in a semester-long group project in which a software system will be built. Each group will consist of 4 or 5 students. The actual project will be proposed by the group members and approved by the instructor. The project will have several deliverables throughout the semester that serve as project milestones. The deliverables, and their associated percentage of the total project grade, are as follows: Functional Specification 15%, Architectural Design 15%, Detailed Design 15%, Users Manual 15%, Test Plan 10%. In addition, there will be project presentations throughout the semester, worth 10% of the project grade. Final system implementation is worth 20%.
Each group member is to assume an equitable share of the project work. Each member will serve as editor of one of the major document milestones, and each will take the lead role in one of the project presentations.
The project serves as a practical exploration of course material, and is intended to give the student hands-on experience in software engineering.
Tests
Tests will be written and will consist of short-answer questions, problems, and essays. Through tests, the student shows individual competence in software engineering terminology, techniques, and application of principles to different situations.
Final Exam
The final exam format is the same as that of the tests, but longer.
Class Participation
Students who are active and attentive members of the class may receive up to 5 points for class participation. Students who engage in side conversations during class time should expect no more than 3 points for class participation.
Due Dates and Late Work
Assignments are due at the beginning of class on the day they are due. By turning in assignments on time your work will be graded and returned in a timely manner (typically within one week), and with comments as appropriate.
Work turned in late will be subject to any or all of the following:
Extra Credit
Requests for extra credit will be handled on a case-by-case basis. Typically, requests for extra credit will be granted for the purpose of improving a poor test score or assignment grade. Extra credit assignments will be directly related to the material that was the source of difficulty for the student, and gives the student a chance to show that she has, in fact, overcome that difficulty.
General Policies
Honor Philosophy
The Cedar Crest College Student Handbook, Honor Philosophy part III, Community Standards for Academic Conduct, includes the following:
"As a student at Cedar Crest College, each student shall:
Unless specifically designated by the instructor, assignments for this course are individual assignments, not group projects. It is reasonable and appropriate for students to discuss an assignment outside of class, particularly for programming projects. However, the actual assignment work, whether programming or written, is to be one’s own. It is not appropriate to collaborate on programming assignments, nor is it appropriate to copy another student’s program (or other assignment), alter the program’s (or assignment’s) appearance (e.g. changing formatting, variable names, output text), and present it as your own individual work. Evidence of such behavior will be considered a violation of the Honor Philosophy and will result in a grade of zero for the assignment. A second offense will result in a grade of "F" for the course.
Classroom Protocol
Appropriate classroom behavior is implicit in the Cedar Crest Honor Code. Such behavior is defined and guided by complete protection for the rights of all students and faculty to a courteous, respectful classroom environment. That environment is free from distractions such as late arrivals, early departures, inappropriate conversations, and any other behaviors that might disrupt instruction and/or compromise students’ access to their Cedar Crest College education.
Attendance
Regular attendance is an important factor contributing to student’s success in the class. Although much of the material covered in class comes from the textbook, some course content may come from instructor’s notes or other resources, and may be delivered only in lecture form. The student is responsible for all material covered in class, and should arrange to get notes from another student in the event of absence from class. The instructor’s notes are not available for perusal by the students.
Your instructor keeps an attendance record for the class, however this record does not directly affect the student’s grade. If a student has excessive absence and is not showing responsibility for the course material, an academic performance notice will be issued to the Advising Center.
If a student will be absent on the day of a test, arrangements for a makeup must be made in advance of the test. Failure to do so will result in a grade of zero for the test.
Students with Disabilities
Students with documented disabilities who may need academic accommodations should discuss these needs with their professors during the first two weeks of class. Students with disabilities who wish to request accommodations should contact the Advising Center.
Computer Classrooms
When classes are conducted in computer classrooms, the computers are to be used only for activities directly related to the class. Use of class computers for other activities, such as web browsing, e-mail, games, instant messaging, and so on, is not permitted. Be aware that such activity not only distracts you from the class, but distracts other students as well. Students who engage in such activity during class will receive a reduced class participation grade.
Course Schedule
The following is a tentative schedule for the course and may be adjusted as necessary during the semester.
|
Mon |
Wed |
Fri |
Topic / Reading |
Assignments |
|
|
8/26 |
Course Intro / Ch. 1 – Concepts of Software Development Ch. 3 – Is It Really Engineering? |
Project Proposal Due: 8/30 |
|||
|
8/28 |
|||||
|
8/30 |
Ch. 2 – Principles of Software Development Ch. 5 – The "Life Cycle" of Software |
||||
|
9/4 |
Functional Specification Due: 9/23 |
||||
|
9/6 |
Ch. 7 – Requirements |
||||
|
9/9 |
|||||
|
9/11 |
Ch. 8 – Properties of Good Requirements |
||||
|
9/13 |
|||||
|
9/16 |
Project Presentations – Requirements |
||||
|
9/18 |
Ch. 6 – The Test Plan |
||||
|
9/20 |
|||||
|
9/23 |
Ch. 11 – Software Design |
||||
|
9/25 |
Architectural Design Due: 10/9 |
||||
|
9/27 |
Test 1 |
||||
|
9/30 |
Ch. 11 – Software Design (continued) |
||||
|
10/2 |
Project Presentations – Design |
||||
|
10/4 |
Ch. 12 – Coding Ch. 13 – Pseudocode |
||||
|
10/7 |
|||||
|
10/9 |
Ch. 15 – Abstract Data Types |
||||
|
10/11 |
Detailed Design Due: 11/1 |
||||
|
10/16 |
|||||
|
10/18 |
Ch. 17 – Data Flow Diagrams |
||||
|
10/21 |
|||||
|
10/23 |
Project Presentations – Walkthroughs |
||||
|
10/25 |
|||||
|
10/28 |
Ch. 18 – Wrapping up Coding and Design |
||||
|
10/30 |
|||||
|
11/1 |
Ch. 19 – Software Testing |
||||
|
11/4 |
Users Manual Due: 12/4 |
System Delivery Due: 12/9 |
|||
|
11/6 |
Test 2 |
||||
|
11/8 |
Ch. 19 – Software Testing (continued) |
||||
|
11/11 |
Ch. 20 – Coverage: Systematic Testing |
||||
|
11/13 |
|||||
|
11/15 |
|||||
|
11/18 |
Ch. 21 – The Future of Testing |
||||
|
11/20 |
Other Topics, including…
|
||||
|
11/22 |
|||||
|
11/25 |
|||||
|
12/2 |
|||||
|
12/4 |
|||||
|
12/6 |
Final Project Presentations and Demonstrations |
||||
|
12/9 |
|||||
|
Final Exam |
|||||