CSCI 151 - Data Structures - Spring 2017

Hendrix College
MCReynolds 110
MWF 12:10 - 1:00pm
R Lab 1:10 - 4:00am

Instructor: Dr. Mark Goadrich

Contact Info
MCReynolds 313

MWF 10-11:30, TR 8:30 - 9:30am
or by appointment

Overview | Labs | Projects | Exams | Grading

Course Details

Software and Hardware

Java Eclipse JavaFX JUnit


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


After lab assignments are returned, you are welcome to revise and resubmit your work. Each submitted revision will be graded anew, the original and revised grades will be averaged to produce a new grade for that assignment. Revisions may be submitted anytime until the start of the final exam period.


No late work will be accepted. Any work not submitted on time is a zero. However, you may submit a solution after the deadline to qualify under the revision policy. In effect, this means that late work can earn up to half credit.

Participation and Absences

You are expected to attend class and participate in discussions every day, answering questions, asking questions, presenting material, etc.

You may miss three class days with no penalty. These can be for sports travel, school sanctioned activities, sick, etc. You are expected to make up any work you miss through these absences. Every subsequent absence will result in a 4% penalty on 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.



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 Thursday of the next week at 1pm, before the next lab 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 26
2Prisoner's DilemmaJan 30
3Reverse Polish Notation CalculatorFeb 9
4MazesFeb 16
5Generic Stacks and QueuesFeb 23
6Text EditorMar 9
7Command-Line ProgramingMar 9
8SortimatorMar 15
9JavaFX and GUIsMar 30
10Binary Search TreesApr 6
11Text PredictionApr 13
12Hash Table Tic Tac ToeApr 20
13Heap MazeApr 27


Five or six 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.

1Java and ArraysFeb 135%
2Interfaces and Data StructuresMar 135%
3GUIsApril 510%
4AnimationApril 1710%
5Final ProjectMay 920%


There will be two in-class exams, the first worth 10% of your final grade, and the second worth 15%. 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
Exam 110%
Exam 215%

© Mark Goadrich, Hendrix College