Exploring the limits of what computers can do

Grading

Grades will be tentatively weighted as follows:

  • 25% lab assignments
  • 5% participation, clicker quizzes, and other quizzes
  • 15% exam 1
  • 15% exam 2
  • 15% exam 3
  • 25% final exam

Some work during lab sessions will consist of in-class practice exercises for group discussion and will not be graded. Weekly lab assignments are homework, which is separate from practice problems.

Quizzes

We will have quizzes for each lecture of the class. Some will be in-person quizzes in lecture using clickers; others will be "take-home" ~5 minute electronic quizzes using Gradescope. Quizzes are low-stakes --- they are meant to start a conversation, check in to make sure you got the big ideas from the readings, and bring up topics for you to ask follow-up questions about. Quizzes are open-book, open-notes.

Homework Policy

Homework is real. Written labs will typically go out Monday afternoon and be due the next Sunday evening. You'll be able to work with a partner on several but not all homework assignments; each homework assignment will specify if working with a partner is allowed. Lab assignments will be a mix of written problems (in LaTeX) and coding problems, both submitted on GitHub. Resources for LaTex are here.

Extra credit is imaginary. In many of the lab assignments, there will be one or two extra credit problems. These problems are completely optional -- do not feel obligated in any way to complete these problems. Extra credit is awarded in imaginary points (multiples of √(-1)); only the real component of your grade determines your letter grade. At best, the imaginary component might be used to make up some credit lost by not handing in assignments on time. Please contact me if you have questions about the extra credit policy, or real and imaginary numbers.

Late days. Each student will be given 3 late days for the semester. This will encompass any reason---illness, interviews, paper deadlines, hackathons, etc. For partnered assignments, both students need to have late days to use them. If only one partner has late days remaining, you cannot use late days for a partnered assignment. Once you use up your late days, further late assignments will not be accepted except in very unusual extreme circumstances. Even if you do not fully complete an assignment, you should submit what you have to receive partial credit. You do not need to notify my ahead of time to use late day(s). Instead, push your completed submission to github, and then email me to inform me of the late submission.

Absences and extensions. If you feel that you need an extension on an assignment or that you are unable to attend class for two or more meetings due to a medical condition (e.g., extended illness, concussion, hospitalization) or family emergency, you must provide your instructors with official documentation from the dean's office or student health center. Their documentation will help us to provide the appropriate accommodations. Obviously we continue to be living and trying to learn during a pandemic, so I will do my best to work with you under a banner of kindness and understanding. Please reach out to me if you are in extenuating circumstances! My goal is for you to learn the material.

Academic Integrity


Limited collaboration in planning and thinking through solutions to problems is allowed and encouraged, but no collaboration is allowed in writing up solutions. Your submitted write-up is your own. Please list your discussion partners and the extent of your discussions in your post-lab survey. If you used any resources beyond the textbook and professor, you MUST cite them in your survey.


Note: in the following paragraphs, "code" refers to all solutions, including written programs but also proofs, analysis, written reports, etc.

Academic honesty is required in all your work. Under no circumstances may you hand in work done with (or by) someone else under your own name. Your code should never be shared with anyone; you may not examine or use code belonging to someone else, nor may you let anyone else look at or make a copy of your code. This includes, but is not limited to, obtaining solutions from students who previously took the course or code that can be found online. You may not share solutions after the due date of the assignment.

Discussing ideas and approaches to problems with others on a general level is fine (in fact, we encourage you to discuss general strategies with each other), but you should never read anyone else's code or let anyone else read your code. But when you are through talking with others, you must write up your code independently and may not check them against each other. All code you submit must be your own with the following permissible exceptions: code distributed in class, code found in the course text book, and code worked on with an assigned partner. In these cases, you should always include detailed comments that indicates on which parts of the assignment you received help, and what your sources were.

Failure to abide by these rules constitutes academic dishonesty and will lead to a hearing of the College Judiciary Committee. According to the Faculty Handbook: "Because plagiarism is considered to be so serious a transgression, it is the opinion of the faculty that for the first offense, failure in the course and, as appropriate, suspension for a semester or deprivation of the degree in that year is suitable; for a second offense, the penalty should normally be expulsion."

Please contact me if you have any questions about what is permissible in this course.

Exam Policy

Students must strictly adhere to the following policy, which applies to all exams taken in a Computer Science course at Swarthmore:

    Exam takers must place all non-essential items at the front of the room (or other designated area). Unless otherwise permitted, students may not have any electronic devices or course materials in their possession during the entirety of the exam. This includes cell phones, tablets, laptops, smart watches, course notes, articles and books, among others. These items should be placed at the front of the room near the proctor. If you need to leave the room during the exam, you must obtain permission from an instructor first. Any non-permitted discussion or aide in regards to exam material will result in immediate forfeiture of the exam and a report to the College Judiciary Committee. Please discuss any concerns or accommodations with your instructor prior to starting the exam.

Unusual Exam Policies

Exams are an opportunity for you to demonstrate your awesome mastery of the course material. For any timed evaluation (pop quizzes, midterms, exams) in this class the following policy is in effect:
    You will earn 25% for any question you leave blank, or cross out all work and write “I cannot answer this question.”
This policy is designed to relieve some test-taking pressure, reward you for knowing the limits of your own abilities, and discourage you from writing a word salad on the exam (e.g., "here's every keyword I know!"). This policy is not in effect on homework and lab assignments, where my expectation is that you will spend the time necessary to learn and master the material.

There is often a small amount (1%) of real-valued extra credit available on exams for students who write a joke, draw a meme, have a clever course-related pun, or express how they feel about the class in a diagram. Some students have told me that they enjoy preparing this joke as part of the studying process.