CSCI 151 - Data Structures - Spring 2016

Hendrix College
MCReynolds 110
MWF 1:10 - 2:00pm
R Lab 8:10 - 11:00am

Instructor: Dr. Mark Goadrich

Contact Info
MCReynolds 313

MWF 11-12, TR 1:30 - 2:30pm
or by appointment

Overview | Labs | Projects | Exams | Grading

Course Details

Software and Hardware

Java Eclipse JavaFX JUnit

This class is BYOL. Bring a laptop computer to class with you every day, unless there is a test. I have a small number of computers available for students who are unable to do so. We will do programming exercises mostly every class period.


At the end of the course, you will be expected to be able to:

Quizzes and Participation

Sporadically throughout the semester, there will be short quizzes covering material from the previous class. You are expected to attend class and actively participate in discussions every day (answering questions, asking questions, presenting material, etc.) These quizzes, participation, and in class homework will comprise 10% of your final grade.


It is the policy of Hendrix College to accommodate students with disabilities, pursuant to federal and state law. Students should contact Julie Brown in the Office of Academic Success (505.2954; to begin the accommodation process. Any student seeking accommodation in relation to a recognized disability should inform the instructor at the beginning of the course.

Academic Honor

Please refer to the CSCI Academic Integrity Policy.


Extensions and rescheduling for labs, projects, exams and quizzes are only given when circumstances beyond your control (e.g. being sick, academic, choir or sports travel, etc) prevent you from completing a project on time. You must notify me either by email or phone of your circumstances well in advance of the due date.


In Class / Homework

0Who are you?Jan 22


Much of your experience with programming in this course will be through weekly labs, which will comprise 25% of your final grade. Each lab will be assigned in lab with time allotted to work through the materials, and will be due by Wednesday of the next week at 1pm, before class starts. All labs are weighted equally within the lab portion of your final grade.

Lab attendance is required. Labs take place in the Snoddy Computer Lab, in the Bailey Library. As you go through the exterior door of the library, turn immediately to your left and enter the Snoddy Academic Resource Center, through this door:

Continue through the door at the far end of the hall (just visible in the picture above) into the first computer lab, and then enter the second lab at the back.

You will be handing in most of your lab work via Moodle. Instructions to do so will be included in each lab.

On these labs, you may work with a partner on the lab assignments if you choose. Their name must be listed on any code you hand in as joint work.

1Java With CodingbatJan 27
2Prisoner's DilemmaJan 29
3StacksFeb 10
4MazesFeb 18
5Command-Line ProgramingFeb 24
6Generic Stacks and QueuesFeb 26
7Text EditorMar 9
8SortimatorMar 14
9JavaFX and GUIsMar 18
10Binary Search TreesApr 6
11Text PredictionApr 13
12Hash Table Tic Tac ToeApr 20
13Heap MazeApr 25


Five or six substantial free-form projects will be assigned over the course of the semester. Each project is an opportunity to demonstrate mastery of one or more computing topics. Each student will present their final project to the class during the final exam period. Each project will be completed individually.

1RPN CalculatorFeb 122%
2Maze AlgorithmsFeb 183%
3GUIsApril 55%
4AnimationApril 155%
5Final ProjectMay 620%


There will be three in-class exams, each worth 10% of your final grade. They will consist of short answer along with writing and debugging code. They are tentatively scheduled for:


Your final grade for this course will be based on the Labs, Projects, Quizzes, Exams and Participation described above.
Grading Scale
Quizzes and Participation10%
Exam 110%
Exam 210%
Exam 310%

© Mark Goadrich, Hendrix College