CS 231 Data Structures and AlgorithmsFocuses 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.
Hannah Wolfe (lectures)
Office: Davis 114
Office hours: M 4-6pm, TW 3-5pm
Please email with any questions, will respond within 24hrs, M-F 9am-6pm
Bruce A. Maxwell (labs)
Office: Davis 112
Office hours: Knock
M 10pm-late, R 9:00pm-late
Thursday mornings and Friday afternoons are good times to find me.
Any time my office door is open.
Time: MWF 9:00-9:50am
Place: Davis 301
Lab A: M 1-2:20pm
Lab B: M 2:30-3:50pm
Place: Davis 102
Weekly Course Schedule
Monday: Homework assigned
Monday: Previous week's project due at 11:59pm
Wednesday: Project assigned in class
Thursday: Homework due at noon
Friday: 15 minute weekly quiz in class
Final Exam: Thursday December 12th, 9am-12pm
Wednesday: Project assigned in class
Monday: Project due at 11:59pm
Monday: Homework assigned
Thursday: Homework due at noon
Friday: 15 minute weekly quiz in class.
Thursday December 12th, 9am-12pm
Based on Friday quizzes
You are expected to attend every class. The course will involve both lectures and hands-on activities in lab. For this course to be truly successful, your presence and participation in lecture and lab is important. When you have a question, ask it. It is highly probable that one of your classmates has the same question. When we give you an opportunity to share your opinion or your answer, please speak up. We want to hear what you have to say. Discussion is a vital part of the learning experience. Good class discussion needs your contribution. If you must miss a class, you are responsible for making up the material covered in that lecture.
You may choose from any number of Data Structures with Java textbooks that are available, however, we do not require any specific text. There are also lots of on-line resources available.Links to free online data structures textbooks:
Use of electronics in classPlease make sure your cell phones are off. I discourage the use of smartphones unless used as a mandated accommodation. It is distracting for those around you (Sana et al., 2013), for lecturers, and can be distracting for you. There is also empirical evidence that students learn better and remember more by taking notes by hand (Mueller & Oppenheimer, 2014). Please see me if you have concerns about this and I will work with you to support your learning needs.
Collaboration, Academic HonestyComputer science, both academically and professionally, is a collaborative discipline. In any collaboration, however, all parties are expected to make their own contributions and to generously credit the contributions of others. In our class, therefore, collaboration on homework and programming assignments is encouraged, but you as an individual are responsible for understanding all the material in the assignment and doing your own work. Always strive to do your best, give generous credit to others, start early, and seek help early from both your professors and classmates.
The following rules are intended to help you get the most out of your education and to clarify the line between honest and dishonest work. We reserve the right to ask you to verbally explain the reasoning behind any answer or code that you turn in and to modify your project grade based on your answers. It is vitally important that you turn in work that is your own. We do use automated plagiarism detection software, so please be sure to abide by these, rather minimal, rules. Reports of academic dishonesty are handled by an academic review board and a finding of academic dishonesty may result in significant sanctions. For more details on Colby's Academic Integrity policies and procedures, see colby.edu/academicintegrity.
How to succeed
Labs and Projects: Come to lab ready to focus on the new project. Ask the lab instructor and TA for help if you need it. Talk to your peers about the course concepts.
Quizzes: Study for the quizzes by doing the homeworks. We will drop the lowest two quiz grades. If you make a silly mistake one week, it won't affect your grade.
Short homeworks: Try them. You will receive full credit as long as
you make an honest attempt to complete every question. Please ask or email questions to the professor
if something isn't clear (see 30-Minute Rule below).
As long as you submit your response by Thursday at noon on
Participation: Speak up in class. Come to office hours. Ask your your instructor or TA for help.
Final Exam: The final exam will be similar to a large set of quizzes (but written from a more wholistic perspective). The best way to study for the final exam is to retake all of the old quizzes (and quizzes from old semesters). Also, read through your notes and make sure you understand everything in them.
For more information about expectations and the assignment of grades, see this document.
Help and Discussion Outside of Lecture
MiscellaneousYou should back up any files related to this course. If the code you submit to us is somehow lost (through your fault or our fault), we must be able to get another copy from you. We suggest you use the college's personal server (filer.colby.edu) to store your work in this class, as it is regularly backed up.
You should never leave your work in a public folder on a computer in a public lab. Instead your work should always be kept in your private account or copied to your own media such as flash drives and deleted from the computer's hard disk when you are finished using the computer.
Don't gloss over errors in your code. That is, if you pretend there are no errors in your code when you know there are some there, we will take off more points than if you point out the errors that you were unable to fix.
The Colby AffirmationColby 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 ourselves, each other, and our physical environment, we recognize the diversity of people that have gathered here and that genuine inclusivity requires active, honest, and compassionate engagement with one another. 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.
What does this mean to students?
Title IX StatementColby 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). You can learn more about what constitutes sexual misconduct or to report an incident here.
If you wish to speak confidentially about an incident of sexual misconduct, you may contact:
Academic AccommodationsI am available to discuss academic accommodations that any student with a documented disability may require. Please note that you’ll need to provide a letter from the Dean of Studies Office documenting your approved accommodations. Please meet with me within two weeks of the start of the semester to make a request for accommodations so that we can work together with the College to make the appropriate arrangements for you. Kate McLaughlin, Associate Director of Access and Disability Services (firstname.lastname@example.org) is the primary contact for accommodations and any questions related to educational testing and documentation.
Mental health: I care about my students’ well-being and understand they may face mental health challenges. Students are encouraged to seek support from the College’s available resources, including your advising dean and Counseling Services. (For immediate care, please call 207-859-4490 and press “0” to reach the on-call counselor.) I am willing to discuss reasonable accommodations during a crisis, but to fulfill our educational mission, students are expected to adhere to the attendance policy. Failure to do so because of mental health challenges may require consultation with the Dean of Studies Office.
Respect for DiversityIt 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.