Using UML: Software Engineering with Objects and Components. Second edition. By Perdita Stevens. Addison Wesley publishers.
Beautiful Code, Leading Programmers Explain How They Think. Edited by Oram and Wilson. O'Reilly Publishing. Students will be provided single chapters of this text.
Several Online resources will be provided.
| INSTRUCTOR: | Stephen Fyfe | OFFICE: | 231 Vermeer Science Center |
| PHONE: | 628-5305 | ||
| HOME | 628-9955 | ||
| EMAIL: | fyfes@central.edu | ||
| OFFICE HOURS: | MWF: 10:00 - 11:00 and 1:00 - 2:00 | TR: 1:00 - 2:00 | |
| Other times by appointment, or just stop in | |||
COURSE DESCRIPTION: This course is a study of the principles and techniques for a methodical construction of quality software. Software design concepts using UML will be studied and implementation issues will be considered.
COURSE OBJECTIVES: The objectives for this course include:
COURSE PROCEDURES: This course will include lecture, discussion,and hands-on work. Class time will be spent lecturing and discussing material from the texts, and working on homework questions and a software development project. A significant project will be carried out throughout the semester. The software development project will include these components: design, implentation, paper, and presentation. There will NOT be a final exam. The final exam period will be used for project presentations. In your project paper and presentation you will be asked to identify topics from the semester that you incorporated in to your project. You will be paired with a partner for this project.
GRADING PROCEDURES: Students will be evaluated on their understanding of the concepts being covered in class, and their ability to apply those concepts in homework problems and other projects.
The final grade will be determined by the following distribution:
| Quizzes (8 - 12 announced quizes will be given) | 30% |
Presentations and Papers
| 30% |
Software Development Project
| 40% |
| 94 - 100 | A | 73 - 76 | C |
| 90 - 93 | A- | 70 - 72 | C- |
| 87 - 89 | B+ | 65 - 69 | D+ |
| 83 - 86 | B | 60 - 64 | D |
| 80 - 82 | B- | 55 - 59 | D- |
| 77 - 79 | C+ | 00 - 54 | F |
Notification of participation in college sanctioned events. Mock Trial participants, choir tour participants, athletes, and others who must miss a class for participating in a college sanctioned event are expected to notify me in advance and complete work in advance of the absence. It is the student's responsibility to communicate with me in advance regarding their absences and determine a schedule for make up work.
Academic Honesty. Collaboration in Computer Science, as in almost any field, is very important. It is important that individual students learn the material. When working on papers and projects, you are encouraged to discuss your answers with other students. However, you should understand the answers you are turning in! When developing a program it is often beneficial to talk with others to get their input, however you should not be turning in the work of another individual or group. It is acceptable to look at another individuals code if you are assisting them. You should not, however, let someone look at your code in order to show them how you did it, or to give them specific instructions on how they should change their code (other than to find syntactical errors). If you are getting help, you should not be looking at someone else's code!
Plagiarism and cheating of any form are serious offenses and may result in an F for the assignment, the course, or expulsion from the college. The details of Central's Academic Integrity policy are found in the Student Handbook, on the web. A copy will be sent to you via e-mail during the first week of the semester. It is your responsibility to read and understand the contents of that policy before you submit work to be graded. Questions regarding the policies and enforcement of the policies may be addressed to me during class or during office hours.
ADA Policy
Central College abides by interpretations of the Americans with Disabilities Act and
Section 504 of the Rehabilitation Act of 1973 that stipulates no student shall be
denied the benefits of an education "solely by reason of a handicap." Disabilities
covered by law include, but are not limited to, learning disabilities, hearing, sight, or
mobility impairments, and other health related impairments. If you have a
documented disability that may have some impact on your work in this class for
which you may require accommodations, please see me and Nancy Kroese, Director
of Student Support Services and Disabilities Services Coordinator, (x 5247) during
the first two weeks of the semester so that such accommodations may be arranged.
COURSE SCHEDULE: The following is a TENTATIVE order in which the topics of the class will be covered. Changes may be made during the semester as needed. Check the webpage for links to the lab exercises and assignments for more details and information about a specific lab or assignment.
| Week | Reading/Topics | Project |
| 1 | INTRODUCTION Design Methodologies/Processes Chapter 1 and Chapter 4 |
Project requirements/Choosing a Project Design Methodology Paper |
| 2 | OO Development and UML Use Case Diagrams Java API research Chapter 2, Chapter 3 and Chapter 7 |
|
| 3 | Design Methodology Presentations API investigations UML Use Case Diagrams Chapter 7 and Chapter 8 |
Project API Testing |
| 4 | UML Class Diagrams Discovering Classes Design Patterns Design Methodology Presentations Chapter 5 and Chapter 6 and Chapter 18 |
Project Proposal Design Patterns research |
| 5 | Class Diagrams Design Patterns Chapter 5 and Chapter 6 |
|
| 6 | Testing and Junit | |
| 7 | Prototypes and Proof of Concept UML Sequence and Interaction Diagrams Design Pattern presentations Chapters 9 and 10 |
Project Prototype |
| 8 | Class Implementation Testing and Test Cases Beautiful Code Chapter 19 |
Sequence and Interaction Diagrams |
| 9 | SPRING BREAK | |
| 10 | Class Implementation Testing and Test Cases JUnit Chapter 19 |
Class Implementations and testing |
| 11 | Scrum Sprint Beautiful Code |
Scrum report Beautiful Code Presentations |
| 12 | Project Implementation | Feature/Use Case Implementation and testing |
| 13 | HCI | |
| 14 | HCI Beautiful Code presentations |
Project completion |
| 15 | Project Implementation | |
| 16 | PROJECT Implementation | |
| 17 | Final Exam | Project presentations |