CS 380: Analysis and Design of Software Systems
Course description: This 3 credit course introduces students to specific techniques that are widely used in the analysis and design of software systems. Traditional techniques will be reviewed and current methodologies will be studied. Emphasis is placed on standard notations used to document software requirements and designs. The student will learn and practice methods appropriate for both object-oriented and procedural systems.
Pre-requisites: CS 300 (Large-Scale Software Development)
|
Professor: Rebecca Bates |
|
|
Computer Science |
|
|
Wissink Hall 231 |
|
|
Phone: 507-389-5587 |
|
|
Fax: 507-389-6376 |
|
|
Email: bates@mnsu.edu |
|
Course Website
http://bates.cs.mnsu.edu/cs380
Check the website regularly for announcements and updates.
Course Hours and Location
| Lectures: M 11-11:50am | TR C310 |
| T, Th 11-11:50am | TR C314 |
Office Hours
| Monday | Tuesday | Wednesday | Thursday | Friday |
| 1-3 | 1-3 | by appointment | 2-4 | 10-12 |
Other times by appointment.
If things that are useful for the entire class come up, they will be posted on the announcement section of the class webpage so please check it regularly.
Course Materials
Required Text: Applying UML and Patterns: An Introduction to Object-Oriented
Analysis and Design and Iterative Development, 3rd ed., Craig Larman,
Prentice Hall, 2005, ISBN 0-13-158906-2.
Recommended Text: Learning UML 2.0, Russ Miles & Kim Hamilton, O'Reilly, 2006, ISBN 0-596-00982-8.
Grading
Homework and Lab work: 35%
2 Midterm Exams: 40%
Final exam: 25%
Important Dates
Midterm 1: Thursday, February 19
Midterm 2: Thursday, April 2
Final: Thursday, May 7, 10:15-12:15pm
Tentative Topic List
Course Tools
Homework and Exams The homework for this course will include problems related to readings from the book and any other assigned readings as well as programming and small group projects.
Your exams will be based on information gained through both homework and class experiences as well as material covered in lectures and assigned readings.
Expectations of Students
Students will take responsibility for their own learning. Students are responsible for all material, announcements, or changes made during class or on the course web page. Attending class and checking the web page regularly are encouraged. While attendance is not graded, students who miss a lot of class will find it extremely difficult to get an A or even a B in the class.
Students will clear up questions on exams during the exam period. Students are responsible for ensuring that their exams are not missing any questions or pages.
Students will deal with conflicts in a timely manner. If you have some reason for missing an exam, you must talk with me before the exam or take a 0 on that exam.
Students will wait 24 hours, but no more than 1 week, after receiving a graded assignment or exam before bringing up grading questions. Grades will be re-evaluated but are not negotiable.
Students will bring up issues about final grades within two days of grades being released. Again, I will take requests for grade re-evaluations but final grades are not negotiable.
Students will only ask for an incomplete grade in the case of exceptional circumstances and will furnish documentation that conforms to CS Department regulations (illness requiring documented medical attention, documented death in the immediate family).
Students will do and present their own work in compliance with the academic honesty policy.
Students will check their email on a regular basis. This means at least three times per week.
Disabilities
Students who may need accommodations for a disability can make an appointment to
see me during my office hours to discuss your needs.
Academic Honesty
By staying enrolled in this class, you
agree to abide by the University's Policy for Academic Honesty which appears in
the Student Handbook under the section heading "Academic Honesty". If you have
questions about the policy please contact me, your advisor, or another faculty
member PRIOR to engaging in a "dishonest" act. Failure to abide and respect the
Academic Honesty Policy will result in severe penalties as allowed by the
University.
Homework and
group work: (35%)
Each homework or group assignment will have equal weight on the grade.
Unless a rubric is distributed with an assignment, homework and labs will be graded on a 0-10 basis, where:
8-10: complete and mostly correct with strong attempts at all problems
6-7: mostly complete, good approach, some mistakes
4-5: incomplete or poor approach
1-3: incomplete and poor approach
0: nothing turned in
Midterm Exams: (40%)
Final: (25%)
Course grades will be assigned based on the above distribution.
In homework, you are allowed to consult the professor, your other classmates, and/or any other individuals to obtain assistance in formulating a solution or debugging. You may not use any part of someone else's software without written (i.e. email) approval from the professor. If anyone other than the professor, has been consulted on any portion of the assignment, you are required to identify these individuals by name at the beginning of the assignment. While such consultation is allowed, it is important that the final written preparation of the assignment is done by yourself, using your own explanations. It is strictly forbidden to submit someone else's work as your own or to copy someone else's work (either verbatim or with slight notation changes). A good rule of thumb is "don't write down anything that you don't understand."
In the exams, you may not consult with anyone other than the professor, who will only answer questions of clarification about the problem wording. You will be asked to sign an honor code in each exam indicating that the work is your own.
In group work, it is the responsibility of each member to contribute to the final product and understand all aspects of the problem. It is your responsibility to adequately explain your part of the project to the other members of the group.