Course Description:

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.

Desired Course Outcomes:

The learning goals for the lecture and lab are the same -- both are meant to work together to accomplish the goals for the course as a whole. They are:

Professor Details:

TA Details:


Course Text:

There is no required textbook for this class. There are many exceptional online resources for supplemental help in this class via Youtube, etc. If you would like some help finding good supplemental material, feel free to reach out to me!


How to succeed in this Course

Policy on Collaboration and Academic Integrity:

Homeworks and quizzes 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.

Your professor reserves the right to ask students to verbally explain the reasoning behind any answer or code that they submit and to modify project 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. For more details on Colby’s Academic Integrity policies and procedures, see

The Colby Affirmation:

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.

Statement regarding Academic Accommodations:

The following is the standard suggested language regarding Academic Accommodations at Colby. It applies to this course. I 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. Kevin Murray, Associate Director of Access and Disability Services (, is the primary contact for accommodations and any questions related to educational testing and documentation.

Mental health:

I care about our 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.