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. 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.” Be aware that we will be routinely running plagiarism detection software on your submissions!
Please contact your instructor if you have any questions about what is permissible in this course.
Swarthmore’s CS35 course in Fall 2020 is held remotely. To provide a good classroom experience in this setting, we will use a variety of software.
Throughout this course, we will use a CS35 Slack organization as our primary means of communication. Slack is a closed direct messaging system similar to Discord and is designed for team collaborations. On this platform, you will be able to send direct messages to your instructors and other members of the course. You can use Slack to discuss course materials, talk to your classmates, and get help from course staff during office hours, labs, and ninja sessions. Please see the CS35 Slack Guide for information on how this will work.
Swarthmore College offers a course management system called Moodle. Your Swarthmore College login will give you access to the Moodle site. While we will use Slack for our instant messaging and discussion, Moodle will be used to post course announcements and to administer weekly quizzes (see Quizzes below).
We will use Zoom to conduct video meetings. As a Swarthmore College student, you are covered under the college’s Zoom plan and can use your Swarthmore credentials to create and join video chats. We will use Zoom to hold lab sessions as well as group discussion sections as described below.
The Fall 2020 offering of CS35 will use pre-recorded lecture videos available on the schedule page. There are many videos each week, but they’re each pretty short and together account for roughly the amount of time spent in a normal in-person lecture. You’ll watch these videos when it’s convenient for you; there’s no requirement to watch them at a particular time.
Instead of a traditional lecture, we will have small discussion groups. You will be contacted by your professor prior to the start of the semester, who will give you the weekday and time of your discussion group; this will always be within the time of the normal CS35 lecture, so it won’t conflict with anything else on your schedule. We will hold that discussion group remotely via Zoom.
During that discussion group section, we will discuss a question which is posed during the lecture videos. Attendance and participation in discussion groups is required. (See Participation below.) To be prepared for the discussion, make sure that you have watched all lecture videos from previous weeks and at least the first half of the lecture videos from the current week.
Every student taking CS35 must also be enrolled in a corresponding lab section. At the start of each lab section, you will attend a Zoom meeting for your enrolled lab. During this meeting, we introduce the lab assignment you will complete that week; we may also work through a small exercise to illustrate a tool that you will be using during the assignment. After this initial meeting, you will work on your lab assignment for the remainder of the lab period. We will use the CS35 Slack to coordinate questions and make sure you have the information you need to do your work. You can learn more about how we will use this software in the CS35 Slack Guide
Throughout the course, there are two forms of lab assignment: individual labs and team labs. The first labs will be individual labs to ensure that everyone is familiar with the basics of C++ and the course material. Later, we will transition to labs completed in two person teams to allow you to work on larger, more interesting projects and to ensure that each student has experience working in groups to build software.
Grades in the course are weighted as follows:
Lab Assignments | 45% |
Quizzes | 25% |
Final Exam | 25% |
Class Participation | 5% |
Quizzes will be administered on Moodle. Quizzes will be made available on Tuesday morning and must be completed by Thursday night (at 11:59pm ET).
All quizzes are open-book, open-note, and open-Internet, but your answers must be your own writing and ideas. If you have any difficulties in taking a quiz (technical or otherwise), please contact your instructor as soon as possible to make appropriate arrangements.
Labs assignments are always due on Wednesday night (at 11:59 pm ET) unless an exception is noted in the schedule. You will also be asked to complete a questionnaire after each lab assignment to provide a short reflection on your experience. The lab reflection is required and is part of your participation grade. (See Participation below.)
Lab assignments will typically be assigned on Thursday morning and will be due before midnight on Wednesday. You are strongly encouraged to start early and to attend the ninja sessions for extra practice.
You must submit your assignments electronically by pushing to your assigned git repository. You may push your assignment multiple times, and a history of previous submissions will be saved. You are encouraged to push your work regularly.
To help with cases of minor illnesses, athletic conflicts, or other short-term time limitations, all students start the course with three “late days” to be used at your discretion, with no questions asked. To use your extra time, you must email your professor after you have completed the lab and pushed to your repository. You do not need to inform anyone ahead of time. You may not use more than two late days on a single assignment. These late days do not affect your due dates for other assignments, so you should be prepared to work on the next assignment during the following lab meeting. The professor and ninjas will prioritize answering questions related to the current lab assignment.
Your late days will be counted at the granularity of full days and will be tracked on a per-student (NOT per-partnership) basis. That is, if you turn in an assignment five minutes after the deadline, it counts as using one day. For partnered labs, using a late day counts towards the late days for each partner. In the rare cases in which only one partner has unused late days, that partner’s late days may be used.
If you feel that you need an extension on an assignment or that you are unable to attend class or lab for two or more meetings due to a medical condition (e.g., extended illness, concussion, hospitalization) or other emergency, you must contact the dean’s office and your instructors. Faculty will coordinate with the deans to determine and provide the appropriate accommodations.
Your final exam is in the format of a few long quizzes. These parts of the final exam are separated in order to allow you to take your final exam in multiple sittings in case your work environment does not provide for a single long evaluation. By the time you take the final, you’ll have prepared for it by taking weekly quizzes. As long as you’re comfortable with those questions, you should have very little to worry about.
This portion of your grade is established based upon your engagement in the course. It is not graded stringently; participation is effectively a free boost to your grade as long as you:
Students who are routinely absent from lab or otherwise do not interact meaningfully with the course will not receive full credit here. This is an easy way to improve your grade; don’t miss out!
If you believe you need accommodations for a disability or a chronic medical condition, please contact Student Disability Services via email at studentdisabilityservices@swarthmore.edu to arrange an appointment to discuss your needs. As appropriate, the office will issue students with documented disabilities or medical conditions a formal Accommodations Letter. Since accommodations require early planning and are not retroactive, please contact Student Disability Services as soon as possible. For details about the accommodations process, visit the Student Disability Services website. You are also welcome to contact your instructor privately to discuss your academic needs. However, all disability-related accommodations must be arranged, in advance, through Student Disability Services.