Instructor: Rob Hasker (414–277–7326)
https://faculty-web.msoe.edu/hasker/Course Description: This course provides an introduction to software engineering tools and the process that software engineers use to create applications in practice. Topics include requirements analysis, high-level design, detail-level design, UML modeling, code generation, continuous integration and revision management, the software life cycle, effort tracking, measurement and estimation, reviews and checklists, and software quality management. Laboratory assignments provide an opportunity for students to develop and enhance a defined process for their own work.
Prereq: CSC 1120
Format: 3 lecture hours, 2 lab hours, 4 credits
Textbook: Essential Scrum: A Practical Guide to the Most Popular Agile Process, Kenneth S. Rubin, Addison-Wesley, 2013.
Outcomes: On successful completion of this course, the student will be able to
Grading: Grades will be posted in Canvas as soon as they are available. Please monitor your grades in Canvas and notify the instructor right away if you notice any errors. Grades are computed using the following weights:
| Category | Percentage | |
|---|---|---|
| Labs | 50% | |
| Quizzes & Exercises | 20% | |
| Participation | 10% | |
| Final Exam | 20% | |
| Total: | 100% |
The MSOE grading scale will be used, though higher grades may be awarded to individual students if it increases fairness. In addition, successfully demonstrating mastery of course outcomes is a prerequisite for a passing grade. This includes taking the final exam, participating in the project, and, in some cases, completing assignments even if they are worth zero points.
Some quizzes will be in the classroom and others will be asynchronous. Asynchronous quizzes will have deadlines given Canvas. In some cases, the quizzes will be delivered using the lockdown browser; additional resources will not be allowed for these. But you may consult notes, readings, and other students in the course for any quiz not delivered through the lockdown browser. All quizzes are single-attempt, and makeup quizzes are rare.
Exercises are short activities, typically writing a bit of code or answering a question. Your lowest score in this category will be dropped.
Attendance and participation in lecture and lab periods are expected. If you miss a meeting, you are responsible for getting the material you missed from a classmate (not the instructor). Excessive absences will affect your participation and lab grades, and an excellent record of attendance and participation will likely benefit final grades in borderline cases.
You are expected to read the ENTIRE assignment before asking questions. No make ups will be allowed. Arriving more than 5 minutes late to lab may lead to significant point deductions for lab assignments. Detailed submission expectations will be included with each lab. Team labs where effort appears to be significantly imbalanced may cause group members to receive different grades for the same submission.
All labs will be handed in through Canvas and your code will be pulled from GitLab in later labs as well, although Canvas submissions will be expected for each lab. Group labs only need to be submitted on Canvas by a single team member, but the check in history on GitLab will be used to confirm contributions by all members of the team as appropriate. Each Canvas assignment will detail submission instructions.
Late work is not accepted in this class unless extenuating circumstances exist. Ask the instructor if you believe you qualify. It is always favorable for your case if you ask before a due date. Unless you have written permission, all assignments, including any late ones, must be submitted by the Saturday before the start of finals.
All work submitted is expected to be consistent with the academic integrity guidance for CSC and SWE courses [here]{.underline}. Violations may result in penalties. If you are unsure whether you or others might violate policy, talk to your instructor. We will use artificial intelligence systems extensively in this course. These technologies are new, so it is not surprising if students encounter situations that need clarification.
Raider Success Coaches are professional staff who assist students one-on-one with emotional, personal, and academic support to develop a plan, establish goals, and identify the habits to help achieve success. To schedule a meeting, contact RCAS (rcas@msoe.edu) or email the Coach listed on your class schedule.
Raider Success Allies are upperclassmen peers who assist students in their pursuit of success in and out of the classroom. An Ally serves in a variety of ways - mentorship, accountability, study partner. Students looking to enhance their academic skills can stop by the RCAS HYPE Desk in the library M-F | 830AM-430PM.
Tutoring offers free peer and professional academic support through one-on-one, group, and online sessions. Tutoring is located on the 2nd floor of the library and online via Teams. To schedule a one-on-one, group, or online session please go to [https://tutoring.msoe.edu]{.underline}
Course-Specific Academic Support is coordinated with the instructor or department for individual classes.
Support comes in a variety of offerings: High Impact Review Sessions, Learning Assistants, Interactive Study
Sessions. To identify course-specific academic support, inquire with your instructor or visit the RCAS Calendar [Help With Classes | MSOE]{.underline}
If you require special accommodations, please notify the instructor within the first three weeks of the term or soon after identifying the need.
See Canvas for the final schedule.
| Week | Topics | Readings | |
|---|---|---|---|
| 1 | Requirements, use cases, user stories | web readings, Rubin Ch. 5 | |
| 2 | Sequence diagrams, acceptance criteria | web readings | |
| 3 | Teams, Scrum | Rubin Ch. 2 | |
| 4 | Product backlog, GitLab, planning poker | Rubin Chs. 4, 6, 19 | |
| 5 | Version control, sprint 1 | ||
| 6 | Build tools, issue tracking, review, retro | web readings, Ruby Chs. 21, 22 | |
| 7 | Sprint 1 end, review, sprint 2 planning | Rubin Ch. 11 | |
| 8 | Git rebase, squash, unit tests, bug bounty | ||
| Spring Break | |||
| 9 | Effort estimation, sprint 2 | Rubin Ch. 7 | |
| 10 | Agile principles, review/retro, sprint 3, state diagrams | Rubin Ch. 3 | |
| 11 | Code reviews, bug bounty | ||
| 12 | Legal IP, licensing | Ruby Chs. 8, 18 | |
| 13 | Sprint 3 review, retro, sprint 4 | ||
| 14 | Product owner, Scrum Master, release | Rubin Chs. 9, 10 | |
| 15 | Sprint 4 review, retro; final review | ||
| Final exam |