Syllabus for Software Engineering

COSC 40943, Fall 2007

Class time & place: MWF 1:00-1:50pm TTC 245.
Instructor: Dr. Lisa Ball
Office: 334 TTC 
Phone: (817) 257-6378 or 257-7166 (COSC office)
Email: L.Ball@tcu.edu
Office hours: Will be announced in class;  Changes will be posted on the course web page or sent to your TCU email.
Textbooks:  Software Engineering, 8th ed. Sommerville. Addison Wesley.
Materials for "Crucial Conversations" will be ordered for you.
Last update 8/20/07 (Crucial conversation & final exam date updates)

Objectives
To develop the knowledge, skills and experience needed to design, develop, implement and maintain large, complex software systems in a team environment.  Includes study of software development life cycles, with emphasis on the analysis and design of software systems.  Problem identification and definition, project management, feasibility analysis, modeling systems, tools and techniques for system analysis, design methodologies, and testing. A significant team project is required. The project requires you to use and enhance your technical, writing and presentation skills and to learn how to function well in a technical team environment to complete a project.  The project is completed in CoSc 40993, Senior Design. 

Before attempting this course, a student should be able to:
*    write sophisticated Java applications
*    develop software having a user-friendly interface
*    use linked data structures
*    describe the overall software design and development process
*    have completed or be currently enrolled in CoSc 30603, Database Systems (or equivalent)

After completing this course, a student will be able to:
*    Describe at least two software engineering process models & required documentation.
*    Lay out a team approach to an appropriate software engineering problem.
*    Use UML to represent requirements and design components.
*    Compare and select among different design approaches.
*    Develop a requirements specification for a team project.
*    Identify quality characteristics and the tradeoffs between them.
*    Discuss professional responsibility issues.
*    Develop and carry out a test plan for a software product.
*    Recognize key management issues in software engineering processes,
including ethical and professional issues.
*    Analyze software documents for completeness, ambiguity, and correctness.
*    Participate in an inspection/walkthrough.


Grading
We will have 3 exams (2 mid-terms and a comprehensive final exam), and a team project with three deliverables covering major software engineering process steps (e.g., analysis, requirements, design, implementation, testing and planning). The team project grade may include assigned non-project components intended to support your learning experience.  

Grade Determination:
Item Percentage of Course Grade
Exam Average  65% 
Team Project  35% (8%, 12%, 15% for parts 1, 2 and 3)

Grade assignment will generally follow standard practices: 90-100 = A; 80-89 = B; 70-79 = C; 60-69 = D, and below 60 = F. The instructor reserves the right to curve final class averages by adding a positive constant to each student's final average.
Academic Integrity:
Academic integrity is expected. Students who violate University rules on scholastic dishonesty are subject to disciplinary penalties, including the possibility of failure in the course and suspension from the University. Since dishonesty harms the individual, all students, and the integrity of the University, policies on scholastic dishonesty will be strictly enforced. More information regarding academic integrity may be found in the TCU Handbook or by contacting your instructor.
Grading Errors:
Requests for re-evaluation of points on exams, homeworks, and projects must be returned to the instructor within one week, and accompanied by a brief written description of the grading error you believe was made. After this time, grades are final. Papers will not be re-evaluated in the classroom, before, during or after class. Resubmitting a paper for re-evaluation subjects the entire paper for review. This means that if an error was made in your favor, you may lose points when re-submitting.
Returned Assignments and Exams:
For each exam and homework assignment, a randomly selected subset may be copied and kept on file. To avoid a misinterpretation of your intended behavior, it is recommended that you do not make corrections on the homework or exam pages until after the re-evaluation date has passed.

Reading Assignments: Completing reading assignments before the class period in which the material is discussed will improve your chances of  success in this class. Not all the assigned material will be covered in class, but you will be responsible for it in projects and exams.
Exams: All exams are closed book and closed notes (a small percentage of the exam may include a take home portion). The final exam will be cumulative. Makeup exams will be given only for documented extreme circumstances or by prior written approval of the instructor (at least 3 days prior to the exam date). Instead of taking a makeup exam, the final exam may be substituted for one mid-term exam (for those conditions stated in the previous sentence). Exams will be graded relative to an absolute measure of performance. Your exam is not graded relative to the performance of other students in the class.
Projects: Additional details will be discussed in class and/or placed on the course web page. Projects are due at the beginning of class on the stated due date. Late projects will not be accepted. You may email (to the instructor) or fax (to the COSC department)  whatever portion of your project that you have completed by the deadline if you are not able to come to class.  It is your responsibility to ensure the project gets turned in on time, regardless of events that may occur. Be sure that you give yourself adequate time to complete assignments -- many will take much longer than you estimate! Projects will be graded based on technical merit (accuracy, justification for design decisions, etc.), completeness and format.  You will be given the opportunity to evaluate the contribution of each team member's participation and contribution on the project.
Instructional Format. In general, the instructional format of the class will be class lecture, discussion and student presentations. Guest lecturers, video presentation and other means of instruction will be employed as warranted.
Absence Policy. Regular and punctual attendance increases your probability of success in the class. University policies on attendance are described in the University catalog
Disabilities: Texas Christian University complies with the American with Disabilities Act and with section 504 of the Rehabilitation Act of 1973 regarding students with disabilities. No otherwise qualified individual shall be denied access to or participation in the services, programs and activities solely on the basis of a disability. The University shall provide reasonable accommodations for each eligible students who (a) has a record or history of such an impairment or (b) is regarded as having such an impairment. If you require an accommodation based on disability, you should make arrangements to meet with the instructor privately in the office during the first week of the semester, to make sure you will be properly accommodated.

Planned Course Contents 

The following outline is a guideline only and is subject to change  We will include additional readings. Unless otherwise specified, the chapters referenced below are from the primary course textbook. Additional chapters, as well as readings from other sources, will be covered or assigned as reading as appropriate.
 
Week
Lecture
Textbook Reading
1 Course Overview
Introduction to Software Engineering
Project discussions by faculty sponsors (if available)
Personality theory and software development teams
Chapter 1 (on your own)
Chapter 2
Chapter 21
2 Personality Type Test (TCU Counseling & Testing Services)
Understanding the domain
Project discussion by faculty sponsors (if available)
Software processes
Chapter 4
3
P0: each team to submit project name, faculty sponsor, student names & major, and 1 paragraph description of the team project.
Requirements elecitation, models and analysis
Chapters 6-8
4
Planning and Project Management, Organization & Customer Interaction
Crucial Conversations -- Wed., Fri (Sep 12,14)
Chapters 5, selected sections from Part 6
Bring your CC material for each session
5
Crucial Conversations -- Mon  (Sep 17)
*** EXAM 1: Sep. 19 ***

6
Project Part 1 due Sep. 26
Project Presentations & Evaluation


7
Architectural Design
Chapter 11
8
Detailed design
Chapter 12-14 (selected sections)
9
Crucial conversations
CC material
10
***EXAM 2: Oct 22***
Project Part 2 due Oct. 24
Project Presentations & Evaluation

11
Project planning & tracking
professional responsibility (ethics, etc)
Chapter 1, case study
12 Software development
Testing
Chapters 17-19
Chapters 22-23
13 Development
Crucial Conversations Nov. 14, 16
CC material
14 Crucial Conversations  Nov. 18 (Thanksgiving holiday week)
CC material
15
Project Part 3
Project Presentations

16
Project Evaluations due Dec. 5
Semester review (SE, lessons learned, planning for SD)
Last day of classes is December 5



17
Final Exam December 14 11:30-2:00 (per official University calendar 07.07)


Changes
Course syllabi are intended to provide students with basic information concerning the course. The syllabus can be viewed as a 'blueprint' for the course; changes in the syllabus can be made and students will be informed of any substantive changes concerning examination, the grading or attendance policies and changes in project assignments.