This course focuses on the common structures used to store data and the standard algorithms for manipulating them. Standard data structures include lists, stacks, queues, trees, heaps, hash tables, and graphs. Standard algorithms include searching, sorting, and traversals. Along with implementation details, students will learn to analyze the time and space efficiency of algorithms and how to select appropriate data structures and algorithms for a specific application. In homework, labs, and programming projects, students will implement their own data structures and make use of existing libraries to solve a variety of computational problems.
There is no required textbook for this class. There are many exceptional online resources, however, for supplemental help in this class.
Here are some links to free online data structures textbooks:
If you would like more help finding good supplemental material, feel free to reach out to me!
Homework Assignments: Unless explicitly announced otherwise, the deadline for Homework Assignments will be 10pm on Wednesdays; I expect you will have 5-7 days to work on a weekly Homework Assignment.
Because we will go over each HW Assignment during Friday's class meeting--i.e., the next class meeting after the deadline--and graders and I should see your work well ahead of time so I can prepare, turning in Homeworks on time is essential for progress in class.
There will be a 12-hour grace period for submitting Homeworks; anything after that will be considered late, see Policies immediately below.
Policies:
As always, extenuating circumstances will be considered--please talk with your Prof. about any concerns that arise during the semester!
Scientific studies (e.g., Sana et al., 2013) demonstrate that the use of phones, computers, tablets, wearables, or other electronic devices during class meetings negatively affects the learning environment in the classroom---not just for the user of the device, but for classmates around them as well. To improve our learning environment, and as a courtesy to your classmates, the use of such devices during class meetings is discouraged; your Prof. may tighten this policy to prohibit their use as the semester goes along. If for any reason it is important that you use such a device during a class meeting, please talk with me about how best to accommodate you!
Homework assignments may be discussed between your current classmates under the condition that you write up your own answers separately. Feel free to reach out to me about clarification on this.
Always indicate all resources used / sources of assistance and collaborators (including anyone with whom you discussed the assignment) on every submitted assignment; if none, indicate that in writing. Not doing so may result in significant delays in grading your work or penalties for not following instructions.
Your professor reserves the right to ask students to verbally explain the reasoning behind any answer or code that they submit and to modify grades based on the answers. It is vitally important that you turn in work that is your own! Reports of academic dishonesty are handled by an academic review board and a finding of academic dishonesty may result in significant sanctions. Please also see the Statement on usage of generative AI below; for Homework Assignments in CS231B, content created or significantly inspired by generative AI is not considered work that is your own. For more details on Colby’s Academic Integrity policies and procedures, see https://www.colby.edu/academics/academic-integrity/.
Please see the CS231 Fall '24 Projects and Labs page for collaboration and academic integrity policies; they are consistent with policies for CS231B.
The use of generative AI tools (ChatGPT, GitHub Copilot, etc.) for written language, code generation, algorithms, ideas for solutions, etc. is considered inappropriate collaboration and prohibited for this class. The goals of CS231 focus on learning and demonstrating command of concepts, understanding programming techniques, analyzing programs, and understanding Computer Science from first principles / foundations; in general, the use of generative AI is inconsistent with this focus. If you have questions about this policy, or specific cases where you think using generative AI would improve the learning of course content from first principles / foundations, please ask me!
The following is standard suggested language regarding Academic Accommodations at Colby. It applies to this course.
I am committed to creating a course that is inclusive in its design. If you encounter barriers, please let me know immediately so we can determine if there is a design adjustment that can be made. I am happy to consider creative solutions as long as they do not compromise the intent of the assessment or learning activity.
If you are a student with a disability, or think you may have a disability, you are also welcome to initiate this conversation with the Dean of Students Office. The Dean of Students Office works with students with disabilities and faculty members to identify reasonable accommodations. Please visit their website for contact and other information: https://life.colby.edu/get-support/access-disability-services/. If you have already been approved for academic accommodations, please connect within the two weeks of the start of the semester so the office can develop an implementation plan.
Colby College is a community dedicated to learning and committed to the growth and well-being of all its members.
As a community devoted to intellectual growth, we value academic integrity. We agree to take ownership of our academic work, to submit only work that is our own, to fully acknowledge the research and ideas of others in our work, and to abide by the instructions and regulations governing academic work established by the faculty.
As a community built on respect for each other and our shared physical environments, we recognize the diversity of people who have gathered here and that genuine inclusivity requires active, honest, and compassionate engagement with one another and surrounding communities. We agree to respect each other, to honor community expectations, and to comply with College policies.
As a member of this community, I pledge to hold myself and others accountable to these values wherever I may find myself.
The following is standard suggested language regarding Sexual Misconduct / Title IX at Colby. It applies to this course.
Colby College prohibits and will not tolerate sexual misconduct or gender-based discrimination of any kind. Colby is legally obligated to investigate sexual misconduct (including, but not limited to, sexual assault and sexual harassment) and other specific forms of behavior that violate federal and state laws (Title IX and Title VII, and the Maine Human Rights Act). Such behavior also requires the College to fulfill certain obligations under two other federal laws, the Violence Against Women Act (VAWA) and the Jeanne Clery Disclosure of Campus Security Policy and Campus Statistics Act (Clery Act). To learn more about what constitutes sexual misconduct or to report an incident, see: https://life.colby.edu/your-safety/sexual-violence-title-ix/
I am committed to all Colby students feeling safe, accepted, and included in all aspects of their college experiences, including this course. Colby prohibits and will not tolerate sexual misconduct or gender based discrimination of any kind and is obligated, by federal and state laws, to respond to reports and provide resources to students. As your professor I am considered a "responsible employee" which requires me to report incidence of sexual assault, sexual harassment, dating violence, or stalking to the Title IX Coordinator.
If you wish to access confidential support services, you may contact:
The following is standard suggested language regarding Mental and Emotional Health at Colby. It applies to this course.
I am invested in the mental and emotional health of my students. Even as I establish and maintain the academic standards of my course, I value each of you as individuals with complex lives, identities, and challenges.
Throughout the semester, the responsibilities of your Colby education may interact with situational as well as ongoing mental and emotional challenges in foreseeable and unforeseeable ways. If you are in need of reasonable flexibility due to an emotional situation or an ongoing mental health issue, please communicate as openly as possible with your Class Dean, and/or members of the office of Access and Disability Services, preferably in advance of the need, so that we can discuss how your circumstances interface with course requirements. Together, we will consider what is needed and what is possible. If we can discuss the situation, we can manage the situation together.
Please do not allow academic responsibilities to prevent you from getting help you need. Our Colby Counseling Services staff (207-859-4490) and the staff in the Dean of Studies office (207-859-4560) are available to connect with you. The safety of my students and every member of this community is paramount. If you or someone you know is struggling with thoughts of suicide or may be a danger to themselves or others, please call the on-call counselor immediately (207-859-4490, press ‘0’).
The following is standard suggested language regarding Respect for Diversity and Religious Holidays at Colby. It applies to this course.
It is my intent that students from diverse backgrounds and perspectives be well-served by this course, that students' learning needs be addressed both in and out of class, and that the diversity that students bring to this class be viewed as a resource, strength and benefit. I expect you to feel challenged and sometimes outside of your comfort zone in this course, but it is my intent to present materials and activities that are inclusive and respectful of all persons, no matter their gender, sexual orientation, disability, age, socioeconomic status, ethnicity, race, culture, perspective, and other background characteristics.
I have attempted to avoid scheduling exams during major religious holidays. If, however, I have inadvertently scheduled an exam or major deadline that creates a conflict with your religious observances, please let me know within two weeks of the start of classes so that we can make other arrangements. Colby College is supportive of the religious practices of its students, faculty, and staff. The College is committed to ensuring that all students are able to observe their religious beliefs without academic penalty.
Class rosters are provided to each instructor with the student's legal name. I will gladly honor your request to address you by an alternate name and/or gender pronoun. Please advise me of this early in the semester so that I may make appropriate changes to my records.