Course Description:

This course is an introduction to Software Engineering. It is meant to give students an appreciation for software engineering princples and patterns, the impact of design, and the have students practice that knowledge by working on a term-long team-based project.

Course Topics:

The course will cover several broad areas of software engineering. Among them:

Course Objectives:

Quality software designs and architectures reflect software engineering principles that represent best contemporary practice. This course focuses on explicating these fundamental principles, examining a set of design and architecture patterns that embody the principles, and applying patterns appropriate to a design problem in a given context.

Method of Instruction:

This course will combine lecture and in-class activities along with a multi-phase team software development project. Students will collaborate inside and outside of class in support of project activities and deliverables. There are several phased project deliverables highlighted on the course schedule and in the project information.

Textbook:

There is no required textbook for this course. Each course topic will list the resources that students will use for their study. These resources will include: lectures, class exercises, project work, public resources on the web, and elearning resources available through the RIT libray, such as material on lynda.com and books24x7.com.

ChatGPT/ AI Policy:

Original Student work

All student work is required to be their own. While we encourage research and reuse, all submissions must be your own, original creation. Copying/ Plagiarism is NOT tolerated. This is standard policy. This applies to ALL work, be it code related or written/ essay style submission.

Use of a GPT/ AI

Again, all work is required to be your original creation. In situations where use of online resources is prohibited, this includes prohibition of GPT/ AI. In situations where it is not prohibited (unless otherwise stated), you may use online search for reference, but the output you create must be your own. This includes situations where you may use GPT or other AI tools for searching and/ or reference, with the following provisons:

  1. Submit your prompts for GPT (as a separate file) as part of your work
  2. Provide a confirming statement that GPT was used as reference only, and your work is original.

In short - just don't do it. It's not worth the consequences to cheat (and it's not ethical)!

Attendance Policy:

It is imperative that you come to class, especially once the team project is in full gear. If you miss class, you cannot get credit for the exercises. There will also be class time set aside for term project work. All team members not being present to participate in these team activities will be a detriment to the effectiveness of your project team. That said, you have one late arrival and one unexcused absence (slept in, car won't start, etc.) with no additional deduction.

* It is your responsibility to notify the instructor at the end of class the day you arrived late to avoid it being counted as absence. Attempts to correct this at later dates will not be granted. If you have to be absent due to health concerns be sure to reach out as soon as you are aware and in advance of the class session. (e.g. you are experiencing severe enough symptoms that warrant not coming to class or quarantining).

Be professional. Practice common courtesy when your instructor or your fellow colleagues are speaking. Refrain from game play, social media or any other unprofessional use of devices while in class.

Be compliant and safe for ALL of us. Despite current RIT policy is no longer under pandemic emergency, if we have learned something, it is that as Staff, Faculty and Students we ought to be on the ready and preemptively follow reasonable norms of conduct and hygene. You can always check out RIT READY! and visit the site if you have any questions or concerns related to this subject. The usual common sense applies: if you are experiencing symptoms that merit it, stay at home or consult a professional and minimally use a mask to protect others.

Additional deductions to your final grade will apply per the breakdown below. The bottom line: don't be M.I.A. and come to class!!!

Make up exams will only be granted for very good reasons (job interviews known in advance, documented sickness, family emergencies, etc.) Heavy workload in other (maybe to you more important) courses is typically not a very good reason.

Grading Breakdown:

Your final course grade is a combination of your grades on the following course elements in the percentages shown.

Component Percentage of Final Grade
Exam 1 15%
Exam 2 15%
Final Exam 20%
Activities 10%
Team Project - Phase 1 20%
Team Project - Phase 2 20%
After 1st Unexcused Absence -2% per absence
After 1st Late Arrival -1% per late arrival

Note: Your instructor may make individual adjustments to the team project grade in either direction based on the assessment of your contribution to the project through his or her own observations and the assessment of your teammates through peer evaluations.

Exams (50%)

There will be two exams during the semester and a final comprehensive exam at the end of the term. Whether an exam is closed book, open book, or a combination of both is at the discretion of your instructor.

Activities (10%)

Activities will be the focus of the first five weeks of the course. Each activity will be graded on a 10 point basis, but each will also have a weight associated with it (more challenging activities will carry higher weight). The weighted average of the activities will contribute this portion of your grade.

Project (40%)

The team project will be conducted in two phases worth 20% each. A phase will be graded on a 100 point basis, broken down into smaller portions for various project activities - see the project phase descriptions for details. At a minimum, each phase will include proper design documentation (including UML diagrams), the associated code (which will be assessed for adherence to the design, overall functionality, and internal quality), and a formal team presentation. As a team member, you will receive an grade based on that of the team, adjusted for your instructor's assessment of your individual contributions to the team's work based on:

Grading Letter Breakdown:

The instructor will use the following chart to determine your letter grade at the conclusion of the term.

Grade Percentage Range
A >=93
A- >=90 and <93
B+ >=87 and <90
B >=83 and <87
B- >=80 and <83
C+ >=77 and <80
C >=73 and <77
C- >=70 and <73
D >=60 and <70
F <60

Deliverables

The due date and time for deliverables are noted on the course schedule. Most activity submissions are done through myCourses dropbox, whereas project work will be done via the team's repository. Note: deadlines are subject to change, when in doubt consult the course website or ask your instructor in advance and not after deadline has passed.