Image: ESA - C.Carreau (SEMPDN9OY2F)
Overview | Assignments | Policies

CIS 4550/5550: Policies

Homework submissions: You must submit all homework solutions via Gradescope; we will not accept submissions via email. Please double-check that your solution is complete before you submit it; Gradescope won't allow changes or additions after the deadline. Submissions that do not compile will not be graded and will receive a zero.

Public test cases: Some homework assignments might come with public test cases. We will not give credit for solutions that hard-code responses to our tests, instead of implementing the functionality that is being tested. If we find evidence of hard-coding, we may give a zero for the entire assignment.

Extensions: You can use three late days per semester, no questions asked. We will round up when accounting for late days; thus, for instance, submitting an assignment two hours late would could as one late day, and submitting 30 hours late would count as two. We will give additional extensions for genuine, documented emergencies, such as a serious illness, but not for any other reason. If you have travel plans, have assignments due in other classes, or are attending an event, please plan ahead to make sure that you can finish the assignments on time.

Documentation: If you had to miss a deadline, exam, or demo because of an emergency (medical or otherwise), please send your documentation to the Office of Academic Services (their email is oasadvi@seas.upenn.edu) or, if you are not a SEAS student, to the equivalent office in your school. Please ask them to send a confirmation email to the instructor, and we can then discuss extensions, make-up exams, etc. In simple cases, when your documentation does not contain sensitive details or medical information, you may also share it with the instructor directly, if you prefer.

Late submissions: You can submit homework assignments up to three days late. Once you are out of 'free' late days, the penalty is 10% for each additional late day. In order to meet the University's deadline for letter grades, we cannot let you submit the final project late; you must submit this on time in order to get credit.

Regrades: Once we release your score for a homework assignment, you have one week to request a regrade, if 1) you think we made a mistake while grading your solution, or 2) you think there is a small problem with your solution that caused a disproportionate number of our tests to fail. In case #2, you must provide a patch of up to 10 lines that fixes the problem.

If you are ill: Please take care of your health first! However, if you have to miss a homework deadline, exam, or demo, please let us know as soon as it is practical. Once you feel better, please submit your documentation as described above, and we will discuss suitable accommodations once it is confirmed. Please do not come to class, office hours, exams, or project demos if you think you might be infectious!! If you let us know sufficiently in advance, we will look for other ways to support you, e.g., by calling you in via Zoom.

Collaboration: You are encouraged to discuss your homework assignments with your classmates; however, 1) any code you submit must be your own work, and 2) you may not show your code to a classmate or look at a classmate's code. Using code from outside sources is not allowed, except where the assignment specifically allows it. Please review Penn's Code of Academic Integrity, which is broader than you may expect, as well as the serious consequences of violations, which can include permanent notes on your transcript, and even expulsion from Penn! Here are a few examples of things that are not allowed: Copying a file from someone else; allowing someone else to copy one of your files; editing each other's files; showing your code to another student, e.g., to someone in your study group or to someone who is having trouble; having someone else debug your code; posting your code on the discussion group; and using any form of generative AI (ChatGPT or similar). Try to use your own best judgment to recognize problematic behavior: if someone is getting a substantial advantage on an assignment, it is probably not allowed. If you are still unsure, please ask the instructor or a TA.

For clarity, here is a quick example: Suppose Alice is having trouble with an assignment and asks Bob to send her his code. Without Bob's knowledge, Alice then modifies the code a bit, so it won't look exactly like Bob's code, and turns it in as her own. In this situation, Alice would be in trouble for three reasons: (1) she looked at Bob's code; (2) she turned in code that she didn't write herself; and (3) she tried to deceive the grader with her modifications. However, Bob would also be in trouble because he showed his code to Alice. This is not allowed under any circumstances, even if Bob's intentions were good, and even if Bob did not know that Alice was going to turn in his code as her own.

How are violations handled? Anyone who violates the collaboration policy or Penn's Code of Academic Integrity will receive a zero on the relevant assignment or exam. If the same person has already had a previous violation, they will receive an F as their final letter grade. Additionally, we reserve the right to refer cases to the Center for Community Standards and Accountability.

Grading: Homeworks count for 40% of your grade, the project for 25%, the exams for 30%, and participation for 5%. The participation score measures things like coming to class regularly, answering questions asked in class, and answering questions in the discussion group. Since this is a project elective, you will need to submit solutions for at least 2/3 of the assignments, and to participate substantially in the final project, in order to get a passing grade.

WPE-I: If you are a PhD student and would like to use this course towards your WPE-I requirement, you must take the class for credit and get a B+ or higher. There is no exam-based option for this class.

Extra credit: We may offer extra-credit tasks on some assignments. If you complete these tasks and earn extra points, these points will count the same way as the regular points. For instance, if you lose 10 points on one assignment but earn 10 extra-credit points on another, the situation will be the same as if you had submitted perfect solutions for both assignments without any extra credit.

Lecture attendance: You are expected to come to most of the lectures. We may record attendance, using a method that will be announced in class, and attendance will count towards your participation grade. If you have to miss a nontrivial number of lectures, please discuss your situation with the instructor during office hours.

Acceptable behavior: Broadly speaking, you are expected to behave yourself – in class, during office hours, on the discussion group, and during the team project. Be respectful, and don't make others feel bad! If you think someone else is not following this rule, please document their behavior and contact the instructor. We will not tolerate racism, misogyny, etc.; this should go without saying.

Recordings: We will not record the lectures, but we will make the slides available online. Each slide deck will be posted after the class in which the last slide is covered; we might restrict access to students who attended that class. You are not allowed to make your own recordings of class sessions.

Accommodations: Penn provides reasonable accommodations to students with disabilities who have self-identified and received approval from the Office of Student Disabilities Services (SDS). If you think you might need an accommodation, please have a look at the Provost's Memorandum, which describes the necessary steps. If you are observing a secular or religious holiday and think you might need special arrangements, please have a look at Penn's Policy on Secular and Religious Holidays. Note that, in general, any requests must be made within the first two weeks of the semester.

Team sizes: Project teams must consist of four members. If the size of the class is not divisible by four, we will approve a limited number of five-person teams. Five-person teams can only be approved after the last day to withdraw, since the size of the class can change until then, and such teams will need to do some extra work to compensate for the additional resources.

Project demos: Each team must do a demo of their project at some point during the finals period. We will offer time slots on different days, and teams will be able to reserve these slots on a first-come-first-served basis. Reservations will become available once the team formation deadline has passed, and a reservation that has already been made cannot be changed, except by swapping slots with another team. We cannot guarantee that your team will get a slot in a particular time range; if you have specific constraints (such as travel plans, final exams, etc.), please discuss these with your team and reserve a suitable slot as soon as possible. Each member of the team must be physically present during the demo in order to receive credit for the project, except in documented medical emergencies. Having made travel arrangements without taking this policy into account does not qualify as an emergency.

Peer evaluations: The final project will be graded in two steps. First, we will compute a base score, based on the team's performance during the demo, the video, the written report, and the submitted code. We will then ask each member of the team to complete a feedback form, which will ask (among other things) what fraction of the overall system were written by the other members of the team. If a team member's reported fractions are reasonably close to 25%, that team member will receive the base score; otherwise the score will be lower or, in cases of exceptional contributions, slightly higher than the base score. We will disclose to each team member the three percentages he or she received by the other members, without stating which percentage came from which member.

Use of materials: All course materials (slides, handouts, framework code, etc.) are solely for your personal, educational use. You are not allowed to share, copy, or redistribute them in any way, unless the instructor explicitly gives you permission.

Posting your solutions: Please do not post any part of your solutions - even your final project! - in any public place. For instance, do not check your code into a public GitHub repository. This could tempt other students to copy your code, and get them in trouble.