The first half of this class (until Spring break) will be a crash course in object-oriented software development. For the second half (after Spring break), you will work in teams to develop custom software for clients. In the first half, our main focus will be on object-oriented analysis and design, which will be covered using the textbook. However, we'll also spend some time on implementation tools and technologies.
I will be available in my office (OHS 306) from 9:00-9:50 on Mondays, Tuesdays, Thursdays, and Fridays, as well as by appointment. Or try your luck: just stop by and see whether my door is open. You may send me electronic mail at max@gustavus.edu or call me at extension 7466. I'll try to put any updates to my office hours on my web page, so check there if in doubt.
All course materials will be available through my World Wide Web page. The URL for this course is http://gustavus.edu/+max/courses/S2012/MCS-270/.
The textbook for this course is Applying UML and Patterns, Third Edition by Craig Larman.
There will be three take-home quizzes as shown in the schedule. There will be no final exam at the end of the semester.
There are several days shown in the schedule as set aside for "exercises" on analysis topics. These are experiential activities that are not primarily computer-based and that will culminate, after additional out-of-class work, in graded documents. On these "exercise" days, we will spread out across rooms 320, 326, and 329.
Other days are scheduled for "labs" on implementation topics. These are experiential activities that center around use of a computer. As with the exercises, additional out-of-class work will likely be necessary and you will ultimately submit results for grading. On these "lab" days, we will meet in room 326.
Because the in-class exercises and labs are experiential and team-based, I expect attendance on those days. If something makes it impossible for you to attend, please contact me so that I can figure out the consequences for your teammates and you.
The schedule does not show any due dates for documents, code, or other artifacts that you will produce in the second half of the semester as you work on your project. Nor do I show any information about how this portion of your course grade will be broken down. This is because one of the responsibilities your project team will have is to establish your own schedule for deliverables. Likewise, your will reach an agreement with me regarding how the project portion of your grade will be apportioned among the deliverables, including the question of whether individual team members are accountable for specific items.
You are expected to be familiar with the college academic honesty honor code policy, and to comply with that policy. If you have any questions about it, please ask.
All assignments are due at the beginning of class on the day indicated. Late assignments will be penalized by one "grade notch" (such as A to A− or A− to B+) for each weekday late or fraction thereof. However, no late assignments will be accepted after graded assignments are handed back or solutions are distributed.
If you are too sick to complete an assignment on time, you will not be penalized. Simply write "late due to illness" at the top of the assignment, sign your name and hand it in. Other circumstances will be evaluated on a case-by-case basis.
Please point out any arithmetic or clerical error I make in grading, and I will gladly fix it. You may also request reconsideration if I have been especially unjust.
The course components will contribute to your grade in the following proportion:
However, I reserve the right to subjectively adjust your final grade. Please see me if you have any question how you stand. Class participation is not graded; however, it allows you to find and repair the gaps in your understanding before doing the assignments and thus can dramatically improve your grade. You are responsible for all course material, whether or not you are present when it was covered or distributed.
Gustavus Adolphus College is committed to ensuring the full participation of all students in its programs. If you have a documented disability (or you think you may have a disability of any nature) and, as a result, need reasonable academic accommodation to participate in class, take tests or benefit from the College's services, then you should speak with the Disability Services Coordinator for a confidential discussion of your needs and appropriate plans. Course requirements cannot be waived, but reasonable accommodations may be provided based on disability documentation and course outcomes. Accommodations cannot be made retroactively; therefore, to maximize your academic success at Gustavus, please contact Disability Services as early as possible. Disability Services (https://gustavus.edu/advising/disability/) is located in the Advising and Counseling Center.
Support for English Language Learners (ELL) and multilingual students is available via the College's ELL Support staff person, Andrew Grace (agrace@gustavus.edu or x7395). He can meet individually with students to consult about academic tasks and to help students seek other means of support. In addition, ELL and multilingual students can seek help from peer tutors in the Writing Center. Please let me know if there is any accommodation in the course that would enable you to more fully show your abilities.
This is my best guess as to the rate at which we will cover material. However, don't be shocked if I have to pass out one or more revised syllabi.
Date | Reading | Topic | Due |
---|---|---|---|
2/6 | 1-3 | Introduction | |
2/7 | 4-6.9 | Requirements | |
2/9 | Guest: Matt Klaber | ||
2/10 | 6.10-6.23 | Use cases | |
2/13 | Use-case exercise | ||
2/14 | 7 | Other requirements | |
2/16 | 8-9 | Domain modeling | |
2/17 | No class | use-case exercise | |
2/20 | Domain modeling exercise | quiz 1 | |
2/21 | 10-12 | Analysis of operations | |
2/23 | 13-14 | Logical architecture | |
2/24 | 15 | Interaction diagrams (instead viewed Bret Victor's "Inventing on Principle") | |
2/27 | 16 | Class diagrams | domain modeling exercise |
2/28 | 17 | Responsibility-driven design | |
3/1 | No class | quiz 2 | |
3/2 | No class | ||
3/5 | 18-20 | More on design | |
3/6 | Guest: Matt Lindner | ||
3/8 | 21 | Version control and TDD lab | |
3/9 | Project topics | ||
3/12 | Guest: Jonathan Wentz (in OHS 329) | ||
3/13 | Version control and TDD lab | ||
3/15 | Version control and TDD lab | ||
3/16 | Version control and TDD lab | ||
3/19 | User-interface lab | VC/TDD lab | |
3/20 | User-interface lab | ||
3/22 | Guest: Kate Bolseth | quiz 3 | |
3/23 | User-interface lab | ||
3/26 | Persistence lab | UI lab | |
3/27 | Persistence lab | ||
3/29 | Team meeting | ||
3/30 | 25-26 | More patterns | |
4/9 | No class | ||
4/10 | Team meeting | persistence lab | |
4/12 | Team meeting | ||
4/13 | Team meeting | ||
4/16 | Team meeting | ||
4/17 | Team meeting | ||
4/19 | Team meeting | ||
4/20 | Team meeting | ||
4/23 | Team meeting | ||
4/24 | Team meeting | ||
4/26 | Team meeting | ||
4/27 | Team meeting | ||
4/30 | Team meeting | ||
5/1 | Team meeting | ||
5/3 | Team meeting | ||
5/4 | Team meeting | ||
5/7 | Team meeting | ||
5/8 | Team meeting | ||
5/10 | Team meeting | ||
5/11 | Team meeting | ||
5/14 | Team meeting | ||
5/15 | Team meeting | ||