CS 211
Data Structures

Instructor

    Elodie Fourquet
Office     Clapp 226
Phone 538-2241
Email efourque   mtholyoke.edu
Office Hours
Mon. 6:00 - 7:30
Tue. 2:00 - 3:30
Thu. 3:00 - 4:00
or by appointment

Teaching Assistant

    Monica Chelliah
Email chell22m   mtholyoke.edu
Office Hours
Sun. 7:00 - 8:30
Tue. 7:00 - 8:00


Meeting times

Lectures Tue. & Thr. 10:00 - 11:15 Clapp 206
Fourth hour Fri. 10:00 - 10:50 Clapp 202

Websites

Course Webpage http://www.mtholyoke.edu/~efourque/cs211
Moodle https://moodle.mtholyoke.edu/

Course Objectives

CS211 is the third course in the major track for computer science. The prerequisite is CS201.
This course is programming-intensive.

This course will teach you core data structures concepts and will provide you with further Java programming experience by requiring you to put those concepts into code. You will learn about the classic data structures, from linear structures to different types of trees and graphs.

Learning how to use different data structures and choose among them to effectively organize the information of an application is fundamental to the computer science discipline. To effectively understand when one choice may be advantageous over another, some basic tools used in the analysis of algorithms will be introduced.

In this course you will

Textbooks

The required textbooks are

Course Content

Requirements and Grading

Fourth hour demos
10 %
Programming projects
50 %
Midterm
15 %
Final
15 %
Participation/homework exercises
10 %

Fourth hour attendance is required. You will work on labs that prepare you for the programming projects. You will give ``demos'' of milestone and example programs, which will provide you immediate feedback on your progress towards completion of the programming projects. It is fine that the demo program is not complete to the specifications. Each demo is worth 1% of your course grade.

Your participation grade will be based on your participation in class, in the lab and on Moodle. By doing the class readings and the homework exercises you are expected to be involved in lecture discussions. Participation on Moodle is also encouraged, using the discussion forum. On Moodle, you should feel free to ask questions, to share links to documentation and tutorials you found useful, and to respond to your classmates questions. Replying and giving hints on Moodle's forum to a student who asked for help is useful to the rest of the class. I encourage collaboration through Moodle and doing so will reflect in your participation grade.

Announcements related to issues that arise between class meetings will be made on the News forum on Moodle. In particular, clarifications of programming projects, changes to due dates, etc. may be posted on Moodle. You are responsible for checking Moodle and the course website on a regular basis.

Late Policy

During the semester you are entitled to a total of 5 late days for programming projects, no questions asked. These days may be spread out over multiple projects. Each day of a weekend counts as a day. After these late days have expired, you will lose 10% of the project's value for each day that it is late, except for cases of extreme emergency. Use the late days wisely!

It is extremely important to keep up to date with the course materials and assignments. The most successful approach to this course is to work regularly on readings and assignments. Don't put things off until you feel pressured by a deadline. Ask questions in class, on Moodle and during office hours.

Honor Code

You are allowed to discuss concepts related to programming projects, labs and homework exercises with each other. However, the work that you submit for grading must be your own work unless an assignment's instructions explicitly state otherwise.

Submission of work that is not your own is considered a violation of the Honor Code. The penalty for such a violation is a zero on the assignment. In accordance with the student handbook, all such violations will be reported to the Dean of Students.

All of the resources you used to help you with an assignment must be cited. This means that if you use other books or reference materials to solve a problem, you must indicate the name of the reference and the specific pages you used. If you work in a study group, the names of your study partners must be included on all assignments.

Failing to appropriately cite all the resources used to complete an assignment is a violation of the Honor Code.

Caveat

Everything on this syllabus is subject to change. Changes will be announced in class and updated in this online syllabus.