SE 2811: Software Component Design, Winter 2017-18

Instructor: Rob Hasker (414-277-7326)

Office hours: See my home page: https://faculty-web.msoe.edu/hasker/

Textbooks:
  • Java Design Pattern Essentials, 2nd Ed., Tony Bevis, Ability FIRST, 2012. ISBN: 978-0-9565758-5-2 (e-book version) or 978-0-9565758-4-5 (paperback version)
  • optional, but inexpensive: Software Design Principles, Ludwin Barbin, 2013. ISBN: 978-0-9920839-0-8.

Course Description: This course deals with the design and implementation of software subsystems. The concept of design patterns is introduced and common patterns are applied to the development of software components. Laboratory projects provide an opportunity for teams of students to implement components and to integrate them into complete systems. As a final assignment, students conduct research on software design patterns and present and demonstrate the results of their investigations to the class.
Prereqs: SE 2030, CS 2852

Course Outcomes: On successful completion of this course, the student will be able to

Grading

  Percentage  
Labs  35%
Quizzes/homework:  10%
Presentation  10%
Midterm:  20%
Final Exam:  25%
Total: 100%

The MSOE grading scale will be used, though I reserve the right to award higher grades to individual students if it increases fairness. In addition, successfully demonstrating mastery of course outcomes is a prerequisite for a passing grade. This includes being successful on the final exam and, in some cases, completing assignments even if worth zero points.

Communication

Course materials will be posted at my class web site https://faculty-web.msoe.edu/hasker/se2811/. I also use Slack and email extensively; I expect you to check for electronic communications at least once a day.

Labs, Assignments, and Quizzes

Lab solutions which do not run or which do not produce some correct output will be worth 0 points. However, you can get partial credit for partially working solutions. Estimate how long the lab will take, and if it takes much longer then it is definitely time to see your instructor!

Unless otherwise announced, late lab solutions will be penalized 5% if submitted up to three days late and 15% if submitted between four and seven days late. Solutions submitted more than one week late will be worth zero points unless there is advance arrangement for extenuating circumstances. Other assignments (such as homework) are worth zero points if late.

All assignments (particularly those due in week 10) must be submitted by the Saturday after week 10. Exceptions require advance, written approval.

Assignments are individual unless we explicitly state otherwise. It is OK to look at another student's code with them to help them fix an error, but it is not OK to have a copy of another student's code at any time or in any form. Electronic tools will be used to identify plagiarism, and students guilty of either copying or "loaning" out their code will be penalized.

Programs will be graded for both correctness (does it work right?) and presentation (does it look good on the printed page?). At a minimum, this includes

Students are expected to use standard tools such as IntelliJ and a current version of Java. If you use an alternative, it will be your responsibility to master that alternative and to ensure you meet deadlines.

Missed quizzes cannot be made up, but at least one of the lowest quiz or homework scores will be dropped.

For students with documented disabilities, chronic medication conditions and mental health concerns: MSOE provides services to make reasonable accommodations available. If you are a student who requires or anticipates the need for accommodations, please contact Student Accessibility Services Office at 414-277-7281, by email at moureau@msoe.edu, or in person at K250 to discuss appropriate accommodations and eligibility requirements.

Attendance

Do not skip class! If you do happen to miss, be sure to check for new materials and get the notes you missed from a friend before the next class period. You are responsible for anything missed! If you need to be excused from class for MSOE activities or religious observances, be sure to me know in advance. If you're sick, it's obviously not a good idea to come to class. This includes days on which there are exams; just be sure to contact me as soon as you can get to a phone or computer.

When an exam is missed, I will determine whether to give you a make-up exam or increase the weight of the other exams. All students must take the final exam to receive a passing grade in the course unless the student has been excused in advance.