Introduction to Data Structures

People, Places, and Time

This course is taught under the numbers CSCI 202.001 and CSCI 202.0L1 and meets on Monday, Wednesday, and Friday from 8:30 AM to 9:45 AM in Robinson 223. Dean Brock is the intructor.

Class home page

All class handouts, including homework assignments, can be found through the following URL:

Student learning outcomes


The required textbook for the course will be Data Abstraction and Problem Solving with Java: Walls and Mirrors written by Janet Prichard and Frank Carrano and published by Pearson (ISBN 978-0-1321-2230-6).

Because all exams will be closed book, you can purchase ebook copy (ISBN 978-1-4493-9055-6) or share a copy with a friend.

We will cover almost the whole textbook this semester. Be prepared to read!


You will need a recent copy of the Java SE Development Kit to compile and run your programs. The instructor is using Java SE Development Kit 7 update 2 on his notebook, but JDK 6 is installed in the computer lab. Either JDK 6 or JDK 7 should work fine for this course.

Although you could use a text editor to write your programs, we will be using Netbeans in the labs and I suggest you download NetBeans IDE 7.1 for your home computer. The standard Java SE version will work fine for this course. Also, if you have NetBeans IDE 7.0 or IDE 7.0.1 running on your home computer, you don’t need to upgrade to NetBeans IDE 7.1 for this course.


In order to take this class, you must have taken at least one programming course that uses a higher-level language, such as CSCI 181 or 182.

Grading Policy


Grades will be based on points earned from two in-class exams, one final exam, and homework (which includes programming assignments) as given in the following table.

Two in-class exams 30%
One final exam 30%
Homework 40%


The following numerical scale will be used in assigning grades based on Score, the weighted score computed using the preceding table.

Score ≥ 93A
Score ≥ 90 & Score < 93A-
Score ≥ 87 & Score < 90B+
Score ≥ 82 & Score < 87B
Score ≥ 80 & Score < 83B-
Score ≥ 77 & Score < 80C+
Score ≥ 72 & Score < 77C
Score ≥ 70 & Score < 73C-
Score ≥ 67 & Score < 70D+
Score ≥ 60 & Score < 67D
Score < 60F

There will no rounding-up in computing the final grade. A score of 69.8 is less than 70 and results in a grade of D+.


All exams will be closed book and closed notes, but some exams may have a “computers active” section. When appropriate, a reference sheet will be provided which lists detailed information, such the syntax of Java.

Attendance at all exams is mandatory and attendance at all classes is expected. Exceptions will be made for university-sanctioned events or a documented illness or familty emergency. Makeup exams may be given for excused absences at the discretion of the instructor. If you miss an exam without an acceptable excuse, you will receive a zero for that exam.

Do not ask for permission to take the final exam early or late due to family travel plans. These requests will not be granted.

The official final exam time ends eighteen hours before senior grades are due. Graduating seniors will take the final exams.


There are three types of homework. One type is small programming exercises. At the beginning of the term, these will be assigned weekly and will correspond to the sujet de la semaine.

The second type will be projects. Most of these will involve the create of an application. There will be two or three individual projects and perhaps a team project.

Finally, there will be some very short “almost in-class” homeworks, that will be started during the lab and possibly completed at home.

Academic Integrity

You should not turn in any academic work which is the unattributed work of others. You should not copy the academic work of your fellow students. You should not provide copies of your academic work to your fellow students.

If two or more students turn in an assignment with trivial differences, such as variable names, the students will be asked to justify the similarities of their submitted programs before the assignment will be graded. If a student turns in an assignment with obfuscated variable names or if a student turns in a program in an unusual character encoding, such as UTF-16, that will not be processed by browsers, the student will be asked to explain their program before the assignment will be graded.

If you turn in an assignment that is not your own work or if you facilitate other students in turning in an assignments that is not their own work, you will be given a grade of 0 on the assignment for the first and second offense. You will be given a course grade of F on the third offense.

Accommodations for Students with Disabilities

Students with disabilities requiring reasonable accommodations must register with the Disability Services Office by providing current diagnostic documentation. All information provided will remain confidential. For more information please contact the Disabilities Coordinator in the OneStop Student Services center or view the UNC Asheville Disability Services webpage.

Email Communication

The Dean of Students at UNCA has told instructors that all email protected by the federal Family Educational Right to Privacy Act (FERPA) must be sent to your official university email address. FERPA protected information includes not only recorded grades, but any information that would reveal that you are a student in this class.

For more information

The best way to get in touch with me is to send email to Please include the course number in the subject line. If you need to see me, send me email to arrange an appointment.