CSCI 151 - Data Structures and Object-Oriented Development

Spring 2015

Course Overview:
Building on the skills acquired in CSCI 150, this course introduces data structures such as lists, stacks, queues, trees, and graphs, in the context of object-oriented software design. We will program using the Java language.

At the end of the course, you will be expected to be able to:
Instructor: Dr. Gabriel Ferrer
M.C. Reynolds 312
http://ozark.hendrix.edu/~ferrer/

Office Hours:
MWF: 2:00-2:30 pm
TR: 1:30-2:30 pm
Feel free to make an appointment (http://drferrer.youcanbook.me) outside these times, or to stop by whenever my door is open.

Class Web Page: http://ozark.hendrix.edu/~ferrer/courses/151/

Lecture Time: C6 (1:10-2:00 pm MWF; 12:10-1:00 pm Tuesday)

Final Exam Period: Friday, May 8, 2015, 2:00-5:00 pm

Laptops: This class is BYOL. Bring a laptop computer to class with you every day, unless there is a test. We will do programming exercises most class periods. Speak with the instructor if this presents a problem.

Grading Criteria:
Labs: 25%
Projects: 35%
Quizzes: 5%
Exams: 30%
Class participation: 5%

Each assignment will be assigned a letter grade. Each letter grade has associated with it a percentage grade as follows:
Letter gradePercentage
A95
B85
C75
D65
F50
Missing grades will be scored zero. Any grade can have a "+" or "-" attached to it. A "+" is worth +4, and a "-" is worth -4. A grade of "A+" (100) will only be assigned to work that in some way impresses me above and beyond the requirements for the assignment.

For each category above, the total points earned will be divided by the total points possible to yield a percentage. These percentages will be weighted as given above. A final average of at least 90 earns an A; 80 earns a B; 70 earns a C; 60 earns a D; below 60 is failing.

Labs: Much of your experience with programming in this course will take place through lab exercises. Each lab is designed to introduce or reinforce a computing concept. You may collaborate with one other student on each lab exercise. Each lab will be assigned in class with time available to work through the materials. One or two lab exercises will be assigned in a typical week.

Projects: 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.

Quizzes: Several short quizzes (administered via Moodle) will be given throughout the semester.

Exams: Three in-class exams will be given over the course of the term. Tentative dates for the exams are:

Revisions: After assignments are graded, you are welcome to revise and resubmit your work. I will grade anew each submitted revision, and average the original and revised grades together to produce a new grade for that assignment. Revisions may be submitted anytime until the start of the final exam.

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

Illness and other excuses: If you are ill and miss any deadlines or tests, you must provide me with documentation of the illness from the school nurse or another health care professional as soon as possible. If you miss any homework or tests due to approved Hendrix activities, you must provide written documentation from the sponsor of the activity one week beforehand.

Accommodations: 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; brownj@hendrix.edu) 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. Computer Lab Facility: You will receive an account that enables you to use the Linux machines in MCReynolds 316. Be sure to review the lab policy page: http://ozark.hendrix.edu/linux/policies.html