|Overview | Assignments ||
CIS 5550: Policies
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.
Homework submissions: All homework solutions must be submitted via Gradescope; we will not accept submissions via email. Please double-check that your solution is complete before you submit it; we will not 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: Each student can use three late days ("jokers") per semester, no questions asked. We will give additional extensions for genuine, documented emergencies, such as a serious illness, but not for any other reason. Please include suitable evidence, such as a doctor's note, with any request. 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.
Late submissions: You can submit homework assignments up to four days late; the late penalty is 20% per day, or part of a day. In order to meet the University's deadline for letter grades, we cannot give extensions for the final project.
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, please let us know as soon as it is practical. Once you submit a doctor's note or other suitable documentation, we can discuss suitable accommodations. 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.
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. The class is not curved. In earlier years, students have needed a weighted average of 90/100 for an A and a 60/100 to pass, but we reserve the right to adjust these thresholds slightly, e.g., based on how difficult the midterms were. Since this is a project elective, we additionally expect you 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. An exam-based option is not available.
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.
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: The lectures will not be recorded, but the slides will be made available online. Each slide deck will be posted after the class in which the last slide is covered. 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.
Project demos: Each team must do an in-person 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 a score, 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.