CSci 2101 - Data Structures.

[Home] [Syllabus] [Labs] [Assignments] [Resources] [CSci 2101 Wiki page]

This class serves a dual purpose. Participants will gain knowledge of basic to intermediate data structures and the algorithms that act on these structures. The course also serves as an introduction to Java programmming language and through it to an object-oriented model of programming. The combination of Java with the abstract concepts of algorithms and data structures will allow us to explore implementation of these structures for future application. Coverage includes beginning to intermediate Java concepts (methods, variables, objects and primitive types, inheritance, generic programming, exceptions), sorting and searching, randomization, big-Oh analysis, stacks, queues, lists, priority queues, trees, hashing and graphs (subject to change depending on class needs and pace).
The weekly class time consists of three in-classroom meetings and a 2-hour lab. 5 credits.

On this page you will find information about:

Class meetings

Lectures: M,W,F 09:15 A.M. - 10:20 A.M., Sci 2185
Lab: Thursday 10:00 A.M. - 11:50 A.M., Sci 2610.
Note: the lab is mandatory and contributes to the grade.


Elena Machkasova
Office: Sci 2325, Phone: 6308
Office hours: M, W, F 1-2pm, Tue 2-3pm

TA (Teaching Assistant)

The course TA will be helping out at the labs and will be available to answer your questions. Please take advantage of the opportunity to learn from your peer.
The TA for this class is Sam Johnston.

Textbook and other resources

We will use two books for this course: Both of these books will be used in subsequent courses: the Java book will be helpful for Software Design and any other class that requires Java programming, and the Algorithms book will be used in 3501 and all other algorithm-related courses, as well as in many courses that involve programming.

In addition to the books I may occasionally assign extra reading material. These materials will be available at the resources page of the course web site, I will also distribute copies in class.

In addition, you must check your UMM e-mail frequently (at least once a day). I may send clarifications for problem sets by e-mail.


The grade for this course will be based (approximately) on the following:
Problem sets 35%
Labs 20%
Midterm exams (2) 15% each
Final exam 15%

Grading policies

Basic Grading Scheme: (100-90)% A; (90-80)% B; (80-70)% C; (70-60)% D; below 60% F. Small adjustments may be made for particularly good final exams, class average and other signs of individual effort.

Official Grading Policies:
A achievement that is outstanding relative to the level necessary to meet course requirements.
B achievement that is significantly above the level necessary to meet course requirements.
C achievement that meets the course requirements in every respect.
D achievement that is worthy of credit even though it fails to meet fully the course requirements.
S achievement that is satisfactory, which is equivalent to a C- or better (achievement required for an S is at the discretion of the instructor but may be no lower than a C-).
F (or N) Represents failure (or no credit) and signifies that the work was either (1) completed but at a level of achievement that is not worthy of credit or (2) was not completed and there was no agreement between the instructor and the student that the student would be awarded an I (see also I)
I Incomplete. Assigned at the discretion of the instructor when, due to extraordinary circumstances, e.g., hospitalization, a student is prevented from completing the work of the course on time. Requires a written agreement between instructor and student.

Other class policies

No make-up tests will be given unless prior arrangements have been made.

For policy on late problem sets please see the syllabus.

Academic dishonesty:
Academic dishonesty in any portion of the academic work for a course shall be grounds for awarding a grade of F or N for the entire course.

Problem set collaboration policy:
Problem sets can be done in groups. For quidelines on work in groups please see the syllabus. Discussion with students other than those in your group (or anyone not in this class) should be limited to general approaches to the problem. All such discussions as well as use of sources other than the textbook and the handouts given in class must be acknowledged in the beginning of the problem solution.

One credit is defined as equivalent to an average of three hours of learning effort per week (over a full semester) necessary for an average student to achieve an average grade in the course. For example, a student taking a four credit course that meets for three hours a week should expect to spend an additional nine hours a week on coursework outside the classroom.

It is University policy to provide reasonable accommodations to students with disabilities. This publication/material is available in alternative formats to persons with disabilities upon request. Please contact the instructor or the Disability Services office, 589-6178, Room 362 Briggs Library to discuss accommodation needs.