CPSC 225 | Data Structures and Algorithms | Spring 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 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)
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.
Unless otherwise specified on a particular assignment, in this course:
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):
|
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. |