CPSC 225 Data Structures and Algorithms Spring 2025

CPSC 225 Course 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 things (such as class prep assignments) 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 monitor both Canvas and the schedule page for due dates — use the schedule page for this.

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 and lab — please do not surf the web, text, play games, do assignments for other courses, etc during class/lab time. Also please do not wear headphones during lab as it makes it difficult to interact with you.

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 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.


Coding Standards

You should follow common conventions for readability in your programs. You are strongly encouraged to use the CPSC 225 coding standards. As with a paper that is poorly formatted, a program which is difficult to follow due to poor programming style may be marked down even if it otherwise satisfies the requirements of the assignment.


Attendance and Making Up Work

You are expected to be on time for all class 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 physically present but doing something else.) Repeated late arrivals or early departures may be counted as an absence.

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.

However, any absence, no matter the reason, means that you miss out on discussions, activities, and opportunities for participation, practice, and help that take place in class and lab. Missing more than three classes or more than one lab for any reason will impact the attendance portion of your engagement grade and missing more than six classes or two labs will result in a less-than-passing grade for attendance. In addition, missing class/lab puts a greater burden on you to catch up on content missed. Students who regularly miss class/lab often end up falling behind and not doing as well in the course.

If you miss class, 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.


Late Policy, Extensions, and Rescheduling Exams

There is a steady workload throughout the course and foundational topics introduced earlier are used and built on later in the course. This means that it is important to be organized and to stay on track.

Late work is generally not accepted. Every effort should be made to complete class prep and to hand in labs and projects on time, even if you are absent from class on the due date. If a last-minute emergency prevents you from an on-time handin, arrangements need to be made as soon as possible to get your already-completed work handed in.

Extensions allow work to be completed and handed in after the due date without penalty. Extensions will not generally be granted. While it can be useful to complete a class prep assignment as a self-test after class, the primary purpose is to prepare for class. To account for occasional extenuating circumstances, a few will be dropped. For labs and projects, revise-and-resubmit provides an extended window and a second-chance opportunity to complete an assignment for full credit. Note, however, that the value of revise-and-resubmit is in responding to feedback and correcting mistakes — it is not meant as a de facto extension. If there are circumstances outside your control that prevent you from completing enough of an assignment on time to qualify for revise-and-resubmit and/or you need to rely on revise-and-resubmit as an extension more than once or twice over the course of the semester, you are at significant risk of falling behind and not being successful in the course. Come talk to me ASAP about getting back on track!

Exams should be a high priority; the dates are on the schedule page so you can plan ahead. If you have an unavoidable conflict with the date of an exam, please see me as soon as possible (before the exam date!) to discuss options for rescheduling. Last minute rescheduling will not be accommodated for something known about in advance. Final exams can only be rescheduled if you have three exams on the same day. If a last-minute serious illness, personal or family emergency, or other crisis outside your control keeps you from attending an exam, you must be in touch as soon as possible about arranging a makeup time.

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

The HWS Principle of Academic Integrity, stated below, governs all of the work completed in this course. From the HWS Catalogue: (available online at https://www.hws.edu/catalogue/academic-policies.aspx)

Principle of Academic Integrity

The faculty of Hobart and William Smith Colleges has oversight of the curriculum and the classroom experience, and insists that students undertake all academic exercises with the utmost honesty and integrity. This principle of academic integrity lies at the heart of our learning community and forms the foundation for everyone's academic efforts.

Starting with adherence to the principle of academic integrity, the individual student bears responsibility for his or her own education and must undertake all academic work with complete honesty and integrity. As well, each student must do his or her best to assure that this principle extends to all others in the community. Categories of academic work covered by the principle of academic integrity include, but are not limited to, the following:

  • Examinations: Giving or receiving assistance during an in-class or take-home examination, quiz, or any other academic exercise, except as specifically authorized by an individual course instructor, violates this principle.
  • Papers: The presentation or reproduction of ideas, words, or statements of another person as one's own, without due acknowledgment, is considered plagiarism and violates this principle.
  • Library Use: Failure to sign for materials taken from the library, destruction or theft of any library materials, and similar abuses of library privileges infringe upon the rights of other students to fair and equal access and violate this principle.
  • Reports and Laboratory Exercises: Giving or receiving unauthorized assistance and the fabrication of data or research results violate this principle.
  • Computer Use: Any deliberate attempt to prevent other users' access to computer services, deprive them of resources, or degrade system performance violates this principle. The use of programs or files of another computer user or the use of another person's account number or password without permission also violates this principle. Failure to attribute the source for any information or writing derived from any computer source (database, website, internet, etc.) and incorporated in any academic work submitted is also a violation.
  • Advising and Registration Forms: Forging an adviser's signature or altering any signed document will result in the student's de-registration. The student will not be allowed to re-register until the adviser has approved any changes. Any student suspected of forgery of any faculty or administrator signature may face disciplinary action by the student's dean or the Committee on Standards, a faculty, student, and administrative committee charged with enforcing the academic and behavioral expectations of the Colleges' community (for more information about the Committee on Standards, please review the Disciplinary Process section, Hearing Bodies of the Community Standards).

Academic dishonesty is determined in every case by the evidence presented and not by intent. Questions of intent and circumstances under which an infraction occurred may be considered in determining a sanction.


Assignments in this course are not about obtaining that particular program or the solution to that particular problem — they are instead about the process of producing programs and solving problems, something that can then be applied to a variety of situations involving writing programs and solving problems. The expectation is that when you hand in work with your name on it, that program or solution reflects your effort and understanding of the process needed to produce that result. (Note that "the process" includes not only doing everything right in terms of progressing towards the completed program or solution, but also getting both stuck and unstuck and both making and fixing mistakes.)

Handing in a program or solution written or generated by someone else, whether that "someone else" is a friend or classmate, an anonymous poster on a website, or generative AI (such as ChatGPT), violates that expectation and is a violation of academic integrity — you've shortcut to the end product without the effort and understanding of the process. This is still true if only a portion of the program or solution comes from another source, or if minor modifications were made.

There are some situations where things acceptable in other contexts may not be acceptable in an academic setting. In general, it should be assumed that unless otherwise specified, anything that shortcuts or has the potential to shortcut the process of producing the entire program or solution yourself is not permitted in this course.

  • Incorporating code written by others into your program can be acceptable in a personal or professional setting if permitted by the licensing terms of the code in question. (Lack of an obvious license does not constitute blanket permission.) In an academic setting, use of code written by others may be shortcutting the intended learning objectives of an assignment and it should be assumed that such usage is not permitted unless explicitly allowed by the assignment instructions.

  • Like calculator can speed routine computation, the use of code generation, mathematical solvers, and other tools can greatly speed along routine tasks. However, this can also shortcut intended learning objectives. It should be assumed that the use of such tools, especially generative AI-based tools, is not permitted unless otherwise stated. An exception is basic (non-AI) code generation and refactoring features of an IDE such as Eclipse.

  • Learning by adapting examples is a primary way of learning new things. Unless the use of certain resources is forbidden, the use of examples is permitted. What distinguishes "use of examples" from "incorporating other people's code" is largely how closely the "example" matches the particular solution you are trying to produce — using examples of how to write for loops in order to figure out how to write a for loop for a particular task or examples of how to solve a type of problem to figure out how to solve a particular problem of that type is OK, but using code or a solution for your particular problem as an example of how to write that code or solve that problem is not.

Unless otherwise specified on a particular assignment, in this course:

  • Exams and interviews measure your individual level of mastery of the course material, and thus are to be completed solely by you. The only resources you may use are those explicitly authorized in the instructions.

  • Labs and projects are individual assignments intended primarily for practice and learning. You may use resources other than the textbook and slides/examples posted on the course webpage for learning about a topic, and you may get help from or discuss ideas with others. However, you may not work collaboratively with others to produce a result and you may not do things which shortcut the learning process.

  • Class prep is about self-assessment and identifying points that need more attention in class. For that reason, they should be completed individually, without discussion with or help from others. (Though discussion is encouraged after you've submitted the warmup!) Class prep is graded on effort rather than correctness so your grade won't suffer if you don't get an answer right.

When it comes to figuring out how to do an assignment, your first source of information should be the course materials (textbook, slides, and other materials made available on the course website) and reference materials linked on the course website. For help, you should turn first to office hours and the Teaching Fellows. Using other resources, where permitted, can easily cross the line from acceptable to not. When completing assignments, the use of generative AI systems such as ChatGPT or Codex, "homework help" or "study aid" sites such as Chegg or Course Hero, and sites where you post a homework problem or question and solicit answers from others is very likely to cross the line into shortcutting learning and should be avoided. The use of ChatGPT to learn about a topic outside of the specific context of a particular task is not forbidden, though it is also not recommended in general since AI can be unreliable in its answers.

If any case you are unsure about what is acceptable and what crosses the line when it comes to collaboration and use of outside resources, please ask first!


Being Successful

Note taking on paper is encouraged as it avoids the distraction of electronic devices and the act of handwriting helps with retention of information. (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.) 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.

There is a steady workload throughout the course, and foundational topics introduced earlier are used and built on later in the course. Review each day's material soon after class, start on labs and projects early, 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 often snowballs, and it is easy to find yourself falling behind.

Your first resource if you need help with any aspect of the course material should be the instructor — ask questions during class, stop by office hours, send email, or drop by or schedule a meeting.

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 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 14 departments, Study Mentors help you juggle your 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 resources that encourage your very best work. To learn more, you can 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.


Accommodations

If you are a student with a disability for which you may need accommodations and are new to the HWS Disabilities Services 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 determined and 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, Thom Mascia, Assistant Director of Disability Services, and Gretchen Marr, Academic Support and Program Coordinator, are the main contacts staff for Disability Services.