Course Description:

This course is an introduction to Software Engineering. This course is meant to introduce students to general topics in software engineering, and have students practice that knowledge by working on a term-long team-based project.

Course Topics:

The course will discuss software engineering in four broad areas of a software engineer's daily practice:

Course Objectives:

This course aims for you to learn both individual and team-based software engineering skills. Software design skills include basic object-oriented design skills and design principles relevant across classes and application subsystems. Software development teams need to appreciate the benefits derived from following a disciplined process and the practices that lead to high product quality. Teamwork is a critical skill that students will develop primarily through their project activities. These team skills will include running effective team meetings, assigning tasks, coordinating activities, and handling issues within the team. Finally, you will learn communication skills from code and design documentation to oral presentations about your completed project work. Project teams will use up-to-date development techniques and tools when performing their project work.

Method of Instruction:

This course will combine lecture and in-class activities along with a term-long software development project. In addition, 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.

*At the discretion of your instructor, there may be alternations to the method of instruction. (e.g. as a result of collective health concerns)

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 e-learning resources available through the RIT library, such as material on LinkedIn and O'Reilly for Higher Education resources

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:

No other way to say it: Come to class, your and (indirectly) your teammates' grade depend on it! Many class sessions will have class exercises and activities with submitted work that contributes to the Class Exercises portion of your grade. 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.

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 10%
Final Exam 25%
Term Project 43%
Individual Exercises [including possible Take-home(s)] 22%
After 1st Unexcused Absence -2% per absence
After 1st Late Arrival -1% per late arrival

Note: Your instructor may make individual adjustments to the term 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.

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

Exams

Two exams take place during the term on topics covered up to that point. A cumulative final exam is given during finals week. Note that exam topics may cover lectures, topic resources, class activities, and project work whether discussed in class or not.

As per department policy, make up exams will only be granted for very good reasons (RIT sports team activities, job interviews known in advance, documented sickness, family emergencies, etc.) Except for the unplanned medical or personal emergencies, all other requests for exam variances must be made in writing, email is OK, to your instructor at least one week prior to the scheduled exam. For the final exam, your instructor will inform you when the last point is to ask for a variance due to exam time conflicts, or three or more exams on one day.

Students who have accommodations for exams documented through the Disabilities Services Office are responsible for discussing these accommodations with your instructor at least one week prior to the scheduled exam. Accommodations for the final exam typical must be scheduled with the DSO several weeks before finals week. Your instructor is here to help you and is required to make every attempt to provide your accommodation, but it is the student's responsibility to initiate the accommodation with a timely request to your instructor prior to each exam.

Term Project:

Overview

The focal point of the course is a term long project executed by a team of 4-5 students. The goal of the project is to introduce and practice the fundamental team-based software development skills that lead to delivery of a quality software product. Teams will be formed during Week 1 and will remain together throughout the term. Your instructor will explain the process for forming teams during the first class session. Simulating a real world project development environment is challenging due to the short amount of time teams are able to meet in person. Time will be allocated during some class sessions for project teams to meet and work. It is critical that you are present for these sessions, as your absence from class adversely affects your team's ability to make progress. It is also equally important for the team to take advantage of this time to interact with their instructor who will be available to offer guidance and provide clarification on product requirements. Significant time will also be required outside of the classroom to meet and work as a team.

Project Artifacts

There are several deliveries of project artifacts through the term. Artifacts in a delivery may include product code, documentation, test results, information about team activity, and a team reflection on the work accomplished. There are also multiple team exercises that get submitted through the term and contribute to a portion of the team grade. Through the term, there will also be several in-class team presentations and product demonstrations. Exactly which artifacts are contained in each delivery is described on webpages linked on the course schedule page. Your instructor will grade the artifacts in each delivery and provide feedback to the team.

Expectations

Participating in the term project is perhaps the most valuable experience you will take from this course. Far more projects fail as a result of poor collaboration and communication within project teams than they do for any technical short-comings. Becoming an effective team member is a critical career skill and the goal of this project is to gain some experience with effective (and non-effective) teaming practices. The expectation is that each team member will make an honest effort in participating in team activities to the best of his or her ability. Should non-constructive conflict arise, your instructor will expect the team to first make an effort to resolve issues internally. Beyond that your instructor will intercede as needed to help in resolving team issues.

Individual Exercises

A number of exercises will be conducted throughout the term to reinforce course topics and activities the teams are performing on their projects. Other exercises will also be run to support the introduction of tools and techniques used in the team's product development. Most class exercises will have a submission which depending on the activity are done individually, by project team, or by a group setup for the specific activity. These exercises will be scheduled to be done both in-class and outside of class. There will be no acceptance of class exercise submissions after its due date. You can easily gain those points back in the ways just described.

Grading of Individual Exercises and possible Take-home(s)

Your Individual Exercises are evaluated based on whether you were engaged with the activity more than detailed grading of each element of the activity. In most cases, for each activity you will be given 0 (no submission or very poor work) or 1 (expected level of engagement) point. Occasionally, a student will make an exceptional contribution in a class exercise, and the instructor may award a bonus point, i.e. 2 points for the activity. For some class exercises that have multiple parts, the exercise may have a value of 1 point for each part. Each individual part is graded on the 0, 1, or 2 scale. Note: activities that use a myCourses quiz, have fractional grading based on the number of questions answered correctly. The total for most quizzes is 1 point, though some with more detailed questions are worth more than one point. Your instructor may add bonus points for exceptional answers to individual quiz questions. At the discretion of your instructor, other take-home assignments may be given to confirm your grasp of the material and to prepare you for formal exams.

All of your Individual Exercise and take-home contribution points are summed together to compute the Individual Exercises portion of your final grade. The grading is based on the percentage of contributions you made against the expected number of contributions. You are expected to submit every class exercise. A the discretion of your instructor, if you miss submitting a class exercise, you may be able to make up those points at a later date through a take-home. You can also make up the points by obtaining bonus points in one or more of your class exercise submissions.

Deliverables

The due date and time for deliverables are noted on the course schedule. Deliveries are done through myCourses dropbox, or the online development tools that the project team is using, i.e. GitHub, Trello, and Slack.
* All grading schemes and information contain here are subject to change pending your instructor's discretion.