CSE 757: Software Engineering, Autumn 2004
Meeting Times
9:30 - 10:18 am, CL 120
Instructor: Atanas (Nasko) Rountev
Office: DL 685, tel. 292-7203
Office Hours: M 1:00 pm - 2:30pm, W 11:00 am - 12:30 pm, or by appointment
Email: rountev cse ohio-state edu
Grader: Xiaogang Li
Office: DL 778, tel. 292-4634
Office Hours: W 1:30 pm - 3:30 pm, or by appointment
Email: xgli cse ohio-state edu
Prerequisites
CIS 560 or equivalent, and senior or graduate standing
Course Description
This course introduces concepts and methods related to the design,
implementation, validation, and maintenance of software
systems. Students will explore various software engineering topics
(e.g., design and testing) through several assignments. Three credit
hours.
Course Objectives
This course familiarizes students with some problems of software
engineering, and certain approaches used to solve these problems. Upon
successful completion of the course, students will be able to:
- Understand the role of key elements of
software engineering such as requirements analysis, software design,
and software testing
- Understand principles of modern software processes
- Understand and apply principles of object-oriented analysis and
design, and the corresponding UML notation
- Understand and apply principles and patterns for
software design
- Understand and use standard techniques for software testing
Topics (partial list)
- Goals of software engineering
- Software process: waterfall model, iterative and incremental processes, Unified Process
- Requirements analysis: use cases, system sequence diagrams, operation contracts, non-functional requirements
- Domain modeling: conceptual classes, attributes, associations
- UML: class diagrams, sequence diagrams, collaboration diagrams
- Object-oriented design: basic principles, object
responsibilities, attributes, operations, associations
- Design principles and patterns (e.g., GoF patterns)
- Software testing for procedural and object-oriented software
Textbook
There is no "official" textbook for this course. I will use materials
from a variety of books.
- Craig Larman, Applying UML and Patterns, 2nd edition,
Prentice Hall, 2002. Two copies are on reserve at SEL. I will use
materials from this book in the first half of the course. This is a
useful book for anyone interested in building modern object-oriented
software. New and used copies are available at various online
bookstores; just make sure that you are purchasing the second edition.
-
Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Design
Patterns: Elements of Reusable Object-Oriented Software, on
reserve at SEL. The course material on design patterns is based on
parts of this popular book. The book is often referred to as the "gang
of four" (GoF) book.
-
Roger Pressman, Software Engineering: A Practitioner's
Approach, 5th Edition, on reserve at SEL. A comprehensive textbook
on software engineering.
- Martin Fowler, UML Distilled, 2nd edition, on reserve at
SEL. Concise overview of the Unified Modeling Language
(UML). Excellent starting point for UML.
Grading
|
Assignments | 35% |
|
Midterm | 25% |
|
Final | 40% |
The course will be graded on a curve, with an average grade around B.
Grading disputes will be handled by the person that assigned the
grade. The instructor will grade the midterm and the final. The grader
will grade the assignments. Grades become final one week after the
assignment or the exam is handed back; this should leave plenty of
time to resolve grading disputes.
Important Dates
- First class: September 22, 9:30 am, CL 120
- Midterm: November 1, 9:30 am - 10:20 am, CL 120
- November 3: no class
- November 26: no class, Thanksgiving
- Last class: December 3
- Final: December 8, 7:30 am - 9:20 am, CL 120
Course Policies
- You are responsible for all material presented in class
including lectures, handouts, assignments, etc.
- Assignments are to be done independently. General high-level
discussion of the assignments with others in the class is allowed, but
when it comes to doing the work, anything you submit should be your
own. Cheating is a very serious offence and will be dealt with
to the full extent allowed by university rules. If you allow
someone else to present your work as his or her own, you will also be
considered a cheater.
- No makeup exams will be given without prior arrangements. If you
need to take a makeup exam, you should talk with me at least a week
before the regularly-scheduled exam. Typically, I will not give such
approval unless the reasons are justifiable.
- Both the midterm and the final will be comprehensive, closed
book, closed notes. However, if you want, you can bring one "cheat
sheet" a standard-sized piece of paper, with your notes on both
sides.
- Assignments are due at the beginning of class on the due date.
- Late assignments will be graded with 30% penalty, and will be
accepted only until the beginning of the next class (i.e., 9:30 am of
the day of the first class after the due date).
- Assignments cannot be resubmitted.
- Do not submit by email any assignments unless you have the
grader's approval in advance. If you have a late submission, write the
date/time on it and slide it under the door of my office.
- Anything you submit should be clearly labeled with your name.
Assignments should be checked for spelling and grammar, and the grader
should be able to read and understand them. If you have more than one
sheet, staple them together. If the grader has problems reading
or understanding what you have done, additional points may be taken
off.
Students with Disabilities
Any student who feels he or she may need an accommodation based on the
impact of a disability should contact me privately to discuss his or
her specific needs. Please contact the Office of Disability Services
at (614) 292-3307, or visit 150 Pomerene Hall, to coordinate
reasonable accommodations for students with documented disabilities.