Academic Integrity

CSE Department Academic Integrity Policy:

UB Academic Integrity Policy:

Course Academic Integrity Policy: Do not represent work as your own if you did not create it.

All violations will be result in:

An F in CSE442.

It is your responsibility to understand what constitutes an academic integrity violation. If you have any question whether something you are doing is a violation or not, ask for clarification before receiving an F in the course. I will not entertain excuses after you have been caught.

Examples of acceptable behavior:

  • Searching the Internet for coding help and examples.
  • Using libraries in your project.
  • Expanding an existing project as your course project.
  • Having people outside the group contribute to your project.
Examples of unacceptable behavior:
  • Copying a large amount of code into your project without crediting the source.
  • Allowing someone outside your group to write code for your project and representing it as the group's work.
  • Violating the licensing agreement of publicly available code.
  • Attempting to earn credit for a lecture activity without attending that lecture
  • Breaking laws.

Course Description

This course will help bridge the gap between academia and industry through the experience of a semester long group software project. Students will learn a variety of software engineering concepts and realities while functioning as a software development team. Students will also learn the importance of continual career development through self-learning.

Catalog Description


We will use the following Gitter team extensively throughout this course. Please sign up with you UB email address:

It is highly recommended that you install a Gitter app and turn on notifications. You are responsible for the messages posted on Gitter. This will be the primary method used by course staff to communicate to you, your group, and the class as a whole.

Course Structure

The value of this course largely depends on your choices. Make the most of it.

The intent of this course is to help bridge the gap between academia and industry by giving students experience working as groups of software engineers while they develop and deploy working software. The course is open-ended as students are free to choose their own groups and projects.

The open-ended structure of this course allows students to create their own experience. It is assumed that all students entering this course are competent programmers and are ready to apply and combine their skills to produce a quality software product. The role of the course and course staff is to assist the students while they navigate a large software engineering project and learn how to collaborate effectively. Course staff can be viewed as consultants and will tend to give advice rather than instruction.


The grading in this course is designed to simulate (in part) the way employees are assessed on the job. That is, in most cases you are not explicitly graded, but your co-workers and supervisors will notice if you do something exceptional, or if you neglect your responsibilities. Likewise, in this course you are given an initial grade and this grade can improve or decline based on your performance throughout the semester, but in most cases it will not change.

Your initial course grade: C

Grade Decreases

Your grade can decrease if you neglect your responsibilities in the course. Reasons for a grade decrease include, but not limited to:

  • More than 2 Protocol Violations
  • Making a late submission or not submitting at all
  • Not meeting a technical requirement for a project submission
  • Not completing a task assigned to you
  • Releasing buggy or broken code
  • Violating your team contract
  • Missing lectures

There should be very little ambiguity for grade reductions. Any student who is paying attention to their responsibilities should understand what actions need to be taken to avoid a grade decrease. Any shortcoming will result in a grade decrease.


All protocols must be followed at all times throughout the semester. Any action taken that that does not follow its corresponding protocol will result in a protocol violation. You can earn up to 2 protocol violations without any affect on your grade. Each protocol violation after the second will result in a grade decrease.

Grade Increases

On the positive end, your grade can increase if you or your team demonstrates exceptional understanding and implementation of software engineering concepts.

Practical Objectives: One way to earn grade increases is to complete practical objectives. With the exception of team formation, each project submission (7 in total) will contain a practical objective. If an objective is met for a particular submission, the team will receive a grade increase. The intent of these objectives is to determine if the project delivers on a practical scale as opposed to a technical scale. For example, it might be possible for a team to meet all the technical requirements for the project without delivering value to the end user (ex. the interface is confusing and instructions are unclear, but technically it meets the requirements for the course). However, to meet the practical objects the project must fulfill the practical, real-world objective for the submission (Engineering usable software). Final decisions of whether or not an objective has been met will ultimately be decided by the course instructor, however your project will be assessed by other students throughout the course who will act as your users.

Your final course grade is then based on the sum of these grade changes:

Total Grade Changes Final Grade
+6 A
+5 A-
+4 B+
+3 B
+2 B-
+1 C+
0 C
-1 C-
<= -2 F

For any grading decisions related to the team project the scope of the project may be taken into consideration, especially when assessing the practical objectives. In general, an effort will be made to grade each team and individual based on the magnitude of their accomplishments throughout the semester.

Class Votes

In this class you have the chance to make changes to the course that you deem necessary. Changes can be proposed by any student and will be voted on by the class. A vote passing with a 2/3 majority will be approved. The instructor reserves the right to deny a change only if it will interfere with the learning process of the students.

Contact Information

Instructor: Jesse Hartloff
Office: Davis 344
Lab: Baldy 19
Office Hours: Tuesday 1-3pm