CPSC 120 | Principles of Computer Science | Fall 2025 |
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 or earbuds during individual or group work times — it makes it difficult to interact with you, and you may miss important announcements to the class about assignments. The classroom computers are to be used only when directed for class activities. Handwriting notes, whether on paper or a tablet, rather than typing has many advantages for retention, including making you think about the material to determine what to write down instead of simply trying to capture everything verbatim. Keep in mind that everything that appears on the screen in class — slides, examples, and code written in class — will be posted on the schedule page after class so that you do not need to try to copy it all down. 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 both physically and mentally 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 engagement grade. |
Assignments and Evaluation |
AssignmentsReadings: Readings provide an initial exposure to new material before class, and are a supplement and reference for material covered in class. When reading, you should make an effort to understand the reading and the examples, which means that you may need to read over things multiple times. Trying some of the exercises in the book is also valuable as that can reveal that something that seemed clear when you read about it isn't actually that clear. Core readings are to be completed for the class period where they are listed on the schedule page; those labelled "supplemental" or "optional" can be read after class. (Supplemental readings are still expected; optional readings are encouraged for greater depth but are not required.) In-class Exercises: Many class periods will include hands-on activities to practice the day's material. In-class exercises are graded on a 0 / – / ✓ scale according to effort rather than correctness. Labs: Hands-on practice is essential for learning and mastery, and labs provide an opportunity to apply the material for yourself. There will be weekly lab assignments consisting of programming and related exercises for the core topics of the course. Your time in lab will be most effective if you review the material from the previous few class sessions before lab and come prepared with any questions that may have arisen. Topics Problems: Each of the applications topics covered in the course will be accompanied by some programming problems, similar to lab assignments. Capstone Project: A final capstone project will provide an opportunity to create a larger program bringing together all of the material covered in the course. Exams: There will be two midterm exams and a final exam. The midterms will be held during regular class periods and the final will be in the registrar-assigned final exam period. These will be written exams (not on the computer); more details will be provided closer to each exam. Dates and times are posted on the schedule page — be sure to consult this schedule before making travel arrangements! AssessmentProficiency-based grading will be used in this course. This means that instead of accumulating points by completing assignments, you will need to demonstrate a certain level of mastery of the course material. Grading Levels: There are five grading levels for individual concepts and skills:
Programming tasks will also be assessed on how well the specifications are met — does the program work correctly and do what it is supposed to do. This is graded on a scale of 0-10. Demonstrating Proficiency: In most cases, demonstrating proficiency for a standard means achieving the level of "proficient" or "advanced" twice in different forms of proctored assessment (presentation meetings and exams). In cases where something is only assessed in one form, it is only necessary to achieve "proficient" or "advanced" in that form. For topics problems, it is necessary to achieve an average score of 7 or better for the topic. Second Chances: You may revise and resubmit labs, topic problems, and the project once each. Resubmits are due within three weeks of when an assignment is handed back to the class or by the final end-of-semester deadline, whichever comes first. (A few things late in the semester may not have second chance opportunities or only abbreviated opportunities due to lack of time.) If you do not achieve "proficient" or better the first time for standards assessed in a presentation meeting, you will need to schedule a redo presentation meeting. Final Grades: The course material is divided into three groups — core concepts, programming elements, and topics.
Extra credit: There will be opportunities on the project and some labs to go above and beyond the requirements of the assignment and/or tackle some harder problems. You are encouraged to take advantage of these opportunities to challenge yourself! Extra credit can raise your final grade up to 1/3 of a letter grade (e.g. from a B to a B+). It must be presented in a presentation meeting to count. Attendance and Participation: Attendance and participation in in-class activities are important factors in being successful in the course. Poor attendance can result in up to 1/3 of a letter grade deduction in your final grade; see the attendance policy below for details. More than a handful of non-✓ scores on in-class exercises can also result in up to a 1/3 letter grade deduction regardless of the number of absences. Engagement: Learning isn't a passive activity where you sit back and watch someone else do things — you need to work with the material by thinking about it, trying to apply it, asking questions about it, and so forth, and a lack of engagement often translates into poorer performance on assignments and exams. Being fully engaged in the course means being prepared for class by reviewing the previous material and doing any assigned reading, being on task during class and lab, making meaningful contributions to class by asking or answering questions, and going to office hours and Teaching Fellows. |
Attendance, Making Up Work, and Rescheduling Exams |
You are expected to be on time for all class meetings, and to be present and engaged in the class for the full period. ("Engaged" means paying attention and participating when appropriate, not just being physically present but doing something else.) However, while attending and participating in class should be a high priority, it is understood that there are occasionally 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.
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. Students who regularly miss class often struggle to catch up and consequently end up doing poorly in the course.
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 foundational topics introduced earlier are used and built on later in the course. Both of these mean that it is important to stay on track — it is difficult to catch up if you get behind, and every effort should be made to hand in assignments on time. The deadlines are where they are for a reason! However, as with attendance, it is understood that there may occasionally be extenuating circumstances which make meeting a particular deadline difficult. Late handins: Late work is not accepted. Revise and resubmit provides an opportunity to make up for deficiencies in an initial handin, but it is not meant as a de facto extension — you must hand in something by the deadline in order to be eligible for revise and resubmit for a particular problem.
Extensions: Four extension tokens are available —
tokens allow bypassing the "must hand in something" requirement
for revise and resubmit, allowing a first handin up until the
resubmit deadline. Extension tokens and late handins are meant to allow for the occasional need for a little extra time on a particular assignment. If you are struggling with the material, seek help promptly at office hours in order to stay on track. Major disruptions: If a situation arises that has (or has the potential to have) a significant and/or long-term impact on your academics, see me as soon as possible to discuss managing your coursework and a timeline for getting back on track. No work will be accepted after the end of the Registrar-scheduled final exam time slot except in the case of an incomplete. |
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:
Assignments in this course involve creating programs to meet certain specifications. The following excerpt from a post by Alex Gourevitch, a professor at Brown University, provides perspective for understanding what is acceptable and what is not:
Prof. Gourevitch addresses writing assignments, but the same ideas apply to writing programs: the point of these assignments is the process of creating the end result — having to face a task, work out how to accomplish it, understand the underlying concepts and the necessary skills, make mistakes, fix bugs, and, after all that, develop how to solve future problems. Your ideas and your effort means not shortcutting that process.
Beyond the hopefully crystal clear don't copy someone else's files, things can get murky — in technical fields, a great deal of learning how to do something comes from following and adapting examples. Furthermore, collaboration is a norm and AI tools are rapidly gaining ground in software development. It is important to recognize that academic settings — where the goal is learning the process, not merely producing the end result — are different from professional settings, and that understanding and adhering to principles of academic integrity now sets the stage for avoiding problems in future courses and in your career, whether in computer science or something else. In this course:
A first offense may result in a warning, depending on the nature of the infraction. A second offense (and more severe first offenses) will result in a penalty up to and including 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. |
Use of AI |
|
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. There are many resources to help you be successful in the course:
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. CTL Syllabus StatementAt Hobart and William Smith Colleges, we encourage you to learn collaboratively and to seek the resources that will enable you to succeed. The Center for Teaching and Learning (CTL) is one of those resources: 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 13 departments, Study Mentors help you manage your time and responsibilities, Writing Fellows help you think well on paper, and professional staff help you assess academic needs. I encourage you to explore these and other CTL resources designed to encourage your very best work. You can talk with me about these resources, visit the CTL office on the 2nd floor of the library to discuss options with the staff, or visit the CTL website. Study Mentors: The CTL resource especially valuable to students either just starting college OR adjusting to the major's demands is the Study Mentor program. Study Mentors engage directly with each student: they help you find the time you need for both your academic and co-curricular activities, and can help you find strategies to enhance your reading and study time. Study Mentors may be especially important for those of you who are involved in many activities, work on or off campus, are studying for Teaching Certification, graduate school exams, or prepping for fellowships, or any demanding schedule. To meet with a Study Mentor, make an appointment via StudyHub on the CTL website. You can also contact Ingrid Keenan, x3832, keenan@hws.edu, or drop in at the CTL office on the 2nd floor of the library. HWS Deans' Syllabus StatementAt Hobart and William Smith, the deans are one of the academic resources that will enable you to succeed in your learning and degree goals. The Office of the HWS Deans (located on the first floor of Smith Hall) is open Monday-Friday 8:30am to 5:00pm and is a central space where students can meet with a dean to: 1) talk about academic plans; 2) be connected to resources and assistance for academic success; 3) learn about honor societies, mentorship, and deeper academic involvement; 4) receive help communicating with faculty and other staff on campus; and 5) discuss challenges that impact academics. We encourage you to learn about your dean (individual dean assignments are listed in PeopleSoft) by visiting our website (Office of the Deans) and our Resources page to help you have the best possible learning experiences on campus. Students can schedule individual meetings with a dean by calling (315) 781-3467 or emailing HWSdeans@hws.edu. Office of Disability Services Syllabus StatementIf 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, 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. |