CPSC 120 Principles of Computer Science Fall 2024

CPSC 120 Policies

On this page:


Course Communication

Assignments, handouts, and materials from class will be posted on the course web page, specifically the schedule page. You will need to check this page regularly to make sure you stay up-to-date.

Some material may be posted on Canvas. There will always be a reference to the existence of this material on the schedule page so that you don't need to also check Canvas to see if something new has appeared.

Email will be used for individual communications and for time-sensitive announcements, so you should also regularly check your HWS email account.


Classroom Conduct

Learning is much more effective if you are engaged in the material. You should come to class prepared for the day's activities, and should be on task during class — please do not surf the web, text, play games, do assignments for other courses, etc during class or lab time. Also please do not wear headphones during lab — it makes it difficult to interact with you, and you may miss important announcements to the class about assignments.

You are encouraged to bring a laptop to class for use during group activities. Outside of these activities, note taking on paper is encouraged as it avoids the distraction of electronic devices; if you do use a laptop or other device to take notes, you are encouraged to turn off notifications and close other applications to reduce the temptation of those distractions.

Arriving late, leaving early, and coming and going during class is distracting to me and your fellow classmates. Please endeavor to arrive on time, and to take care of any necessary business before or after class so you can be present for the whole class period. If you know in advance that you will need to miss part or all of a class, please let me know.

Disruptive classroom behavior will negatively impact your participation grade.


Coding Standards

Following reasonable conventions is important for the readability of your programs. These will be introduced in class. Not following these standards may result in points lost even if your program otherwise works correctly.


Attendance, Making Up Work, and Rescheduling Exams

You are expected to be on time for all class meetings and lab sessions, and to be present and engaged in the class/lab for the full period. ("Engaged" means paying attention and participating when appropriate, not just being physically present but doing something else.)

While attending and participating in class and lab should be a high priority, it is understood that there are sometimes circumstances when you may be unable to attend class/lab. It is especially important that you not expose others to illness if you are sick.

If you have an unavoidable conflict with the date of an exam, you must notify me as soon as possible and make arrangements beforehand. Note that only your dean can reschedule the final exam. A missed exam can only be made up after the fact in the case of a last-minute emergency that prevents you from attending class. You must notify me of the situation as soon as possible, and may not discuss any aspect of the exam with anyone else.

If you miss class or lab, you are responsible for making up missed content — make sure that you check the schedule page for new assignments and materials from class, and come to office hours if you have any questions or need help with any aspect of the material. This should be done promptly to avoid falling behind — the course material is cumulative, and we move steadily through it.

Any absence, no matter the reason, puts a greater burden on you to catch up on missed content and means that you miss out on the discussions, activities, and opportunities for participation and practice that take place in class and lab. Students who regularly miss class/lab often struggle to catch up and consequently end up doing poorly in the course.

As a result, missing more than six classes for any reason will lower your engagement grade. Missing four, five, or six classes will also lower your engagement grade unless you are proactive about communication regarding your absences (including notifying me of an upcoming absence as soon as you know about it), diligent about making up missed content (including completing some of the missed in-class activities on your own), and more engaged in other aspects of the course (participating in class, asking questions, coming to office hours, etc).

Repeated late arrivals or early departures may be counted as an absence.


Late Work and Extensions

There is a steady workload throughout the course and the material is cumulative — foundational topics introduced earlier are used and built on throughout the rest of the course. This means that it is important to be organized and to stay on track; you cannot skip a topic and figure that you'll just jump in again with the next one, and once you get behind it can quickly snowball. Every effort should be made to hand in assignments on time, however, as with attendance, it is understood that there may sometimes be extenuating circumstances which make meeting every deadline difficult.

Late work will be penalized 10% per day up to a maximum of 30% and will generally not be accepted more than one week late. An exception is a late handin for an assignment completed on time (as established by timestamps) — there will be a (small) point penalty if the late handin was due to a handin error or forgetfulness, and while handin problems should be corrected as soon as possible, there is not a one-week limit. Late work/handins may not be handed back as promptly.

Partial handins are accepted, for example, if you've only finished the first two exercises of a lab by the due date but intend to keep working on the third, hand in the two you have completed on time and then just the third when you finish it. Also, handing in something is better than nothing — if you don't end up completing that third exercise before the late work cutoff, hand in what you have anyway. Please do not, however, hand in an incomplete solution that you intend to complete.

Extensions allow work to be handed in after the due date without penalty. Extensions are expected to be rare — they are intended to accommodate exceptional circumstances, not to routinely miss deadlines.

  • For labs and projects, a two-day extension can be requested (up to one per assignment), but it must be requested before the due date. (For Friday due dates, this means the assignment must be handed in by 11:59pm Sunday night.) You do not need to provide a reason as it is assumed that you have an important one — an extension does not magically create time without strings attached, and comes at the expense of the time available for the next assignment. Work may also not be handed back as promptly. As a result, extensions should not be requested lightly.

  • If there are circumstances outside your control which are significantly impacting your ability to focus on academics for several days or more and a two-day extension is insufficient, it is essential that you reach out as soon as possible to discuss a plan for getting back on track.

More than the occasional missed deadline (whether you have an extension or not) is cause for concern. Reach out for help!

No work will be accepted after the end of the Registrar-scheduled final exam time slot except in the case of an incomplete. (Extensions and late handins don't apply in this case.)


Academic Integrity and Collaboration

The HWS Principle of Academic Integrity governs all of the work completed in this course. Students should read the full policy in the HWS Catalogue: https://www.hws.edu/catalogue/academic-policies.aspx

For this course:

What you turn in for a grade must be your workyour ideas and your effort.

To borrow heavily from a post by Alex Gourevitch, a professor at Brown University, adapting his words for this course —

The point of programming assignments in an introductory programming course is not the product but the process. The process involves having to face a task, work out how to approach it, roll it over in your mind, make false starts, try again, and, after all that, develop your own solution. It is true that the programming process happens to issue ina product: the program. And yes, you only go through the process because you have to produce the program, and you feel pressure to produce a working program because you know that is what will be graded. But it's still not the product that is the point. It is the development of those capacities for understanding tasks, considering possible algorithms, working with and through the programming language for yourself. Those are abilities of general value in life — maybe not writing a program as such, but in the problem-solving process and logical thinking that gets you from a problem to its solution — not just in a specialized academic setting. Which again, is why the particular product is not really the point, at least not in college.

The core content of this course is that process of going from an idea to a working program, which includes not just the syntax and semantics of a particular programming language, but also a way of thinking, of organizing, and of breaking down large problems into smaller tasks as well as knowing where to find information to help you understand something new. Success means gaining proficiency with that process, not simply turning out programs, and starting to move towards self-sufficiency as a learner, and academic integrity requires that the programs you hand in reflect your engagement with that process.

So, what exactly does that mean for this course?

  • Copying part or all of someone else's solution (whether a program or otherwise; whether or not you copy it exactly, make modifications, or only use it "as a guide" for your own solution; and whether or not it is only a small part of your solution or most of it) is expressly prohibited, and it is never acceptable to be in possession of someone else's program or solution before you have handed in your own. "Someone else" covers any source other than you, whether it is another student, generative AI such as ChatGPT, "homework help" or "study aid" sites such as Chegg and Course Hero, and sites where you post a homework problem or question and solicit answers from others.

  • You may not write code or otherwise work collaboratively on producing a solution with another student — assignments are individual assignments, not group assignments — though it is OK to consult with TFs in a group if several students have similar questions.

  • You must document help received (other than during lab or office hours) and any outside resources used (other than the course materials posted on the schedule page) — include a comment in your sketch identifying the source along with a brief description of the assistance (e.g. "TFs helped me figure out why the different parts of the balloon didn't move together" or "I looked up some examples of loops at [give URL]").

A first offense may result in a warning, depending on the nature of the infraction. A second offense (and more severe first offenses) may result in a 0 on the assignment or portion of the assignment. Additional offenses are grounds for failure in the course. In all cases, the situation may also be referred to the Committee on Standards.

Ignorance of the policy and desperation ("It was the night before it was due and there wasn't anyone else to ask!") are specifically not excuses for violating academic integrity policies. If you are having trouble with the course material, come to the instructor! It is never advantageous to "borrow" someone else's solution, and the time spent trying to disguise this "borrowing" is far better spent getting help. Remember, too, that the late policy allows for two-day extensions on most assignments — while extensions should not become routine, if you are stuck at the last minute, an extension can provide time for you to get help. (And beyond that, a late handin provides a little more time, though with a point penalty.)


Being Successful

There is a steady schedule of assignments and the course material is cumulative — don't fall behind! Review each day's material soon after class, start on assignments early (it is better to spend some time each day than to set aside a large block of time the night before the assignment is due), ask questions, and take advantage of office hours and Teaching Fellows if you are stuck on something or want to discuss ideas. Letting a point of confusion slide can quickly snowball and then it is very difficult to catch up.

Note taking on paper is encouraged as it avoids the distraction of electronic devices and the act of handwriting helps with retention of information. If you do use a laptop or other device to take notes, you are encouraged to turn off notifications and close other applications to reduce the temptation of those distractions. Either way, anything that appears on the projector screen — slides or code — will be posted on the schedule page soon after class, so you don't need to copy down all of that material in your notes. I recommend that you (only) make note of key ideas and examples during class and then rewrite your notes, filling in other details and relevant information, soon after class. This allows you to pay more attention during class, increases your engagement with the material, and helps you identify what you need to ask questions about.

Getting help:

  • The primary resources for this course are the textbook, course website, materials provided in class, and office hours. Start with these! (If you can't make the scheduled drop-in office hours, email me to arrange another time.)

  • An important additional resource is the Teaching Fellows. CTL works with the Math/CS Department to offer an essential learning resource in this course, the CS Teaching Fellows (TFs). TFs are accomplished computer science majors and minors who assist other students. They hold regular study hours Sunday-Thursday. Note that the TFs are not necessarily familiar with the details of Processing or the specific programming patterns discussed in class, but they should still be able to provide some assistance with how to approach solving problems and tracking down bugs. You can help by having the relevant notes and handouts available.

  • For more general help, such as with writing, study skills, or time management, you are encouraged to check out the Center for Teaching and Learning (CTL):

    At Hobart and William Smith Colleges, we encourage you to learn collaboratively and to seek the resources that help you succeed. The Center for Teaching and Learning (CTL) is one: CTL programs and staff help you engage with your learning, accomplish the tasks before you, enhance your thinking and skills, and empower you to do your best. Resources at CTL are many: Teaching Fellows provide content support in 15 departments, Study Mentors help you juggle your responsibilities, Writing Fellows help you think well on paper, and professional staff help assess academic needs.

    I encourage you to explore these and other resources that encourage your very best work. To learn more, talk with me, visit the CTL office on the 2nd floor of the library, or visit the CTL website: Center for Teaching and Learning | Hobart and William Smith (hws.edu).

    Study Mentors: The CTL resource especially valuable to students either a) just starting college OR b) adjusting to the demands of their Major is the Study Mentor (SMs) program. SMs engage directly with you as you adjust to new academic demands: they help you find the time for both academic and co-curricular activities, expand strategies to accomplish the tasks in front of you, and enhance reading and study time. If you have many activities, work on or off campus, are studying for Teacher Certification or graduate school exams, or have several unusually demanding courses, SMs can help! To meet with a Study Mentor, make an appointment via StudyHub on the CTL website: Log in Appointments (hws.edu). You can also contact Ingrid Keenan, x3832, keenan@hws.edu, or drop in at the CTL office on the 2nd floor of the library.

  • There are a number of resources on campus for help or support with mental health or other issues. Contact the Counseling Center, or reach out to me, your dean, or anyone else you feel comfortable talking to.

Finally, if there is something related to the course format or materials that would help you be more successful in the course, please come discuss it with me.


Office of Disability Services

If you are a student with a disability for which you may need accommodations and are new to our office, you should self-identify by logging into the Accommodate Portal, Initial Accommodation Request Form (symplicity.com), and completing the Accommodation Request Form. Disability-related accommodations and services will be provided when the registration and documentation process is complete.

Returning students may request accommodations by logging into the Accommodate Portal and submitting a Semester Request. Should you need to meet to add or discuss accommodations, please schedule an appointment with the Associate Director of CTL for Disability Services.

Please direct questions about this process or Disability Services at HWS to ctl@hws.edu or x3351. Shanelle France, Associate Director of CTL for Disability Services and Thom Mascia, Disability Services Accommodations Manager, are the main contacts staff for Disability Services.