Course Syllabus¶
Evaluation¶
- Participation: 20%
- Assignments: 40%
- Midterm Project: 20%
- Final Project: 20%
Late Assignment Policy¶
All assignments are due at midnight on the day listed. Each squad gets 3 late days which can be used to turn in homework late without penalty. These 3 late days are for the entire semester.
The late day is measured up to hour precision after the supposed deadline. For example, if you submit your homework one minute after midnight, you have used 1 hour of late days. It is the student's responsibility to submit his/her homework online. If late days are used, please write at the head of your homework ReadME.md file in the format: XX late days used for this homework, and XX days remained. Check the Bit Battle Rules if you are buying late days. No matter how many late days you have earned, you have to submit all your homework before the last day of the semester.
We will average the late days used by each squad member for the first two assignments and take the closest integer to the average as the late days used for the squad for the first two assignments.
Squad can buy additional late days using the course currency $byte. Please see Bit Battle Rules for more details.
Once you run out of late days, late submissions are penalized 25% per day. (For example, a homework turned in two days late will receive only 50% credit.) More importantly, we will not grant additional late days once you have used up all late days.
No matter the late days are run out or not, submission more than five days late receive a grade of 0, but they must still be completed and turned in regardless. If a student ends the semester not having handed in a homework assignment, he/she is in risk of receiving a final grade of D or F for the semester regardless of their performance on other components of the course.
We will only grade the commit with the tag hw-ready-for-grade
on Github. See Homework Submission Guidelines for more details. We will count the late days based on the time stamp of the tag.
If you commit multiple versions without the hw-ready-for-grade
tag, we will only grade the last commit on Github within the 5 days maximum extension and take your late days based the time stamp of the last commit.
It is your own responsibility to keep track of how many late days you used. But we will follow the time stamp on Github as the criterion.
Class Participation¶
Class participation will be graded based on following parts:
- Classroom discussions and questions asked in the courses.
- The approved pull requests in the course website repository. Follow the contribution guidelines to contribute to the course website.
- Discussions and questions asked in the Github Discussions, especially when you help with your classmates questions.
- One-minute summary on the Canvas Assignment. You need to summarize the content and confusions in each class, which is submitted via the Canvas assignment. The summary just goes in the textbox once you begin the assignment. You only need to spend 1 minute to write it and stop whereever you are when time is up. It is due at the midnight of each class day.
Students are expected to behave professionally at all times, with courtesy towards other students, the TAs, and the instructor.
Code Squad¶
During class, we will have code squad for homework and projects through the semester (expect first two homework before students can drop). In principle, each squad should have 3 students. We enforce the squad work because
- Learning to code alone is frustrating.
- Learning from each other is more efficient.
- Learning how to work in a team is important.
The squad homework will start from the third homework. Please assemble your squad by then. You should let us know your squad members. Each squad should have a squad name, squad logo, and squad anthem.
Each squad should discuss their own rules on how to work together. Squad members shall conduct themselves professionally and respectfully toward one another and shall, in good faith, contribute to squad tasks in a manner that is fair and proportionate to their roles and responsibilities. Each squad shall establish internal rules for resolving disagreements, and if disputes persist despite these mechanisms, squad members may seek guidance from the instructor.
Each squad only needs to submit one repository for each homework/project. We will grade your homework based on the repository and all the squad members' will receive the same grade by default. Read the Code Squad Amendment Rules for more the exceptional cases.
The instructor may reassign the squad members if the instructor thinks it is necessary.
See Homework Submission Guidelines for submission guidelines.
We will have bit battles for some homework. The bit battle is a competition to see which squad can write the best code (measured by the running time, precision, and etc, which will be specified in each homework.) We will have a leaderboard to track the performance of each squad. The best squads will be rewarded with the course currency $byte to buy more late days. See Bit Battle Rules for more details.
Code Squad Amendment Rules¶
- Each squad must discuss and document their own internal rules for collaboration, ensuring professional and respectful conduct.
- All squad members must contribute proportionally to assigned tasks.
- Each squad must establish written internal procedures for resolving disputes.
- If a squad cannot resolve an issue internally, members may escalate the concern to the instructor.
- To ensure transparency, each squad member is required to:
- Individually document their own contributions in the README file. - Use GitHub commits under their own account to track progress and contributions.
-
If a squad member cannot complete their assigned work by the agreed-upon deadline, they must:
- Notify both their squadmates and the instructor in writing within 24 hours before the homework deadline specified in the homework repository.
- In the notification, the student should clearly specify which portion of the work was designated as their contribution and will be delayed.
- If a squad member requires an extension, other squad members may submit the assignment without the delayed portion and document contributions in the README file. Their grade will be based solely on their completed contributions.
- The delayed squad member will submit their work by further adding commits to the homework repository for the delayed portion, and their grade will be based solely on their contributions.
- If a squad submits the assignment on time, but a member requires an individual extension, the available late days for that member will be recalculated separately.
-
The new late day count will be determined by:
-
Averaging the remaining squad late days evenly and applying that the late days to each squad member's work submission time.
- The byte balance will also be split evenly among the squad members. Future bit battle rewards will distribute based on the contribution of each squad member.
- Example: If a squad has 6 remaining late days before that homework and has 3 members, each member's available late days after separation will be 2 late days each.
-
If a disagreement arises regarding workload distribution, contributions, or fairness, squad members should:
-
Attempt to resolve the dispute internally using their squad's documented collaboration rules. If the dispute remains unresolved, escalate the issue to the instructor for resolution.
- The instructor will evaluate the dispute based on the squad's documented workload distribution in the README file and GitHub commit history, which will serve as an objective measure of individual contributions. If the dispute persists, we will grade each squad member's work based on their contributions from the GitHub commit history.
-
Generative AI Tools Policy¶
We allow and encourage you to use ChatGPT and other generative AI tools for the homework and project. In fact, this course is designed to help you understand how these tools work. You can try to use GPTZero Detector to check if the current technology can detect the use of AI. However, do not worry, we will not use this tool to check your homework and project.
Github Classroom¶
The homework and project will be assigned through Github Classroom. Refer to the Appendix for more details.
All the course materials are hosted on Github Classroom. The course canvas site is only for one-minute summary, posting the grades, and zoom recordings.
Homework Submission Guidelines¶
Here are the general guidelines for the homework submission. We will specify the specific requirements for each homework in the homework repository in Github Classroom.
- Each homework should be submitted as a single repository. We will post the homework link in the Canvas assignment. See Appendix for instructions.
- In the repository, you should have a README.md file to present your code as a tutorial of how to reproducibly use your code. The README.md file should at least include the following sections:
- Introduction: Briefly describe the purpose of the repository.
- Installation: How to set up your code. For example, from
git clone
to installing the dependencies. Make sure users can run your code and reproduce the results in the next usage step after they follow your installation instructions. - Usage: Provide a sample usage of your code with the expected output. You may need to have test input cases to show the expected output. You can also use images and gifs to illustrate the usage or the output if necessary.
- Report: Report how you solve the problem and other information that is required by the homework.
- Contributions: How each group member contributes to the project.
- The repository should have all the necessary code and files to replicate the installation and usage in your README.md file.
- Tag the commit which you want us to grade with
hw-ready-for-grade
using the commandgit tag -a hw-ready-for-grade -m "Homework Submission"
. The late days will be counted based on the date of the commit with this tag. - Do not make other commits after this tag.
- Each squad only needs to submit one repository. We will grade your homework based on the repository and all the squad members' will receive the same grade.
Harvard Chan Policies and Expectations¶
Inclusivity Statement¶
Diversity and inclusiveness are fundamental to public health education and practice. It is a requirement that you have an open mind and respect differences of all kinds. We share responsibility with you for creating a learning climate that is hospitable to all perspectives and cultures; please contact us if you have any concerns or suggestions.
Bias Related Incident Reporting¶
The Harvard Chan School believes all members of our community should be able to study and work in an environment where they feel safe and respected. As a mechanism to promote an inclusive community, we have created an anonymous bias-related incident reporting system. If you have experienced bias, please submit a report here so that the administration can track and address concerns as they arise and to better support members of the Harvard Chan community.
Title IX¶
For information on Harvard University policies and procedures and Title IX Resource Coordinators at Harvard Chan, please see:
- Harvard University Title IX Sexual Harassment and Other Sexual Misconduct policies and procedures
- Title IX Resource Coordinators
- Title IX Sexual Harassment and Other Sexual Misconduct resource guide
Academic Integrity¶
You are expected to abide by the Harvard University and the Harvard T.H. Chan School of Public Health School’s Standards of Conduct and Academic Integrity in conjunction with the expectations outlined in the Course Structure and Assessment of Learning section of this syllabus. All work submitted to meet course requirements is expected to be your own work, except if permission is otherwise granted by this course’s Generative AI policy. In the preparation of work submitted to meet course requirements, you should always take great care to distinguish your own ideas and knowledge from information derived from sources.
You must assume that collaboration in the completion of assignments is prohibited unless explicitly specified. You must acknowledge any collaboration and its extent in all submitted work. This requirement applies to collaboration on editing as well as collaboration on substance.
Should academic misconduct occur, you may be subject to disciplinary action as outlined in the Student Handbook.
Accommodations for Students with Disabilities¶
The Harvard T.H. Chan School of Public Health values inclusive excellence and providing equal educational opportunities for all students. Our goal is to remove barriers for disabled students related to inaccessible elements of instruction or design in this course. If reasonable accommodations are necessary to provide access, please contact studentsupport@hsph.harvard.edu. Accommodations do not alter fundamental requirements of the course and are not retroactive. Students should request accommodations as early as possible, since they may take time to implement. Students should notify studentsupport@hsph.harvard.edu at any time during the semester if adjustments to their communicated accommodation plan are needed. Accommodations may include the use of assistive technology which allows recording in courses. Students who are eligible to utilize these technologies are required to only use them for personal academic purposes and cannot share or distribute the recordings to protect the privacy of all individuals in the course. Students are expected to comply with institutional policies and applicable privacy laws when utilizing recording devices for their learning.
Religious Holidays, Absence Due to¶
According to Chapter 151c, Section 2B, of the General Laws of Massachusetts, any student in an educational or vocational training institution, other than a religious or denominational training institution, who is unable, because of his or her religious beliefs, to attend classes or to participate in any examination, study, or work requirement on a particular day shall be excused from any such examination or requirement which he or she may have missed because of such absence on any particular day, provided that such makeup examination or work shall not create an unreasonable burden upon the School. See the Student Handbook for more information.