CSCI 235.052 Course Description
Meeting Time: Mon. & Wed. 7:00 - 8:15
Place: Hunter West Room 413
Office Hours: Wednesdays 8:15-9:00; Fridays 5:30-6:30, via course bulletin board
Prerequisites: CSCI 135, CSCI 150, MATH 150
Required Text: Data Abstraction and Problem Solving with C++: Walls and Mirrors, 3rd Edition, Carrano, Helman & Veroff
Course Description: In this course, you will learn how to apply recursion, collections of functions, advanced data structures (i.e., linked lists, trees), and interdependent objects to solve various problems in computer science. I won't expand on these topics here; I'll save that for the course. Suffice it to say that very few "real world" programs are written without employing at least some of these concepts. This course is therefore greatly important to your academic and professional future.
According to department policy, if you fail a computer science course once you have
only one more chance to pass it. Therefore, do not take this course unless you are
confident that you have mastered the prerequisites. To take this course, you should be
proficient at using:
Programs: You will complete seven programming assignments in this course. If my undergraduate experience is any guide, each program will require 20-40 hours of work; a computer science course is like a full-time job. When writing programs, you must adhere to the course programming guidelines. Programs must be written in C++.
Program listings and accompanying documentation must be handed to me in person and in class. I will not accept emailed, FedExed, etc. programs nor will I accept late programs.
Partial Credit: If you can't get a program to work as specified in the assignment, pass it in anyway. I give partial credit.
Quizzes and Examinations: Almost every programming assignment will be accompanied by an in-class quiz. At least one question on each quiz will be based on the accompanying programming assignment. At least one question on each quiz will be culled from the exercises in relevant chapters in your textbook. Of course, quiz questions can come from other sources, like my imagination, as well. Quizzes will be given at the end of class and should last about 30 minutes. Quizzes may not be retaken. If you are absent from class on the day of a quiz, you will not receive credit for the quiz and accompanying program. I will not answer any questions while the class is taking a quiz.
There will be a comprehensive final examination. The date and time of this
examination is given in the syllabus; it will be given in our usual classroom.
Grading Policies: Each program/quiz pair will make up a 100-point unit with 25 points allotted to the program and 75 to the quiz. In addition, the cumulative final exam will be worth two 100-point units (i.e. 200 points). There are nine 100-point units. I will drop your lowest unit grade.
The following table relates your grade average (as a percentage) to letter grades:
|
Average (Percentage) |
Letter Grade Equivalent |
|
98-100 |
A+ |
|
97-94 |
A |
|
93-90 |
A- |
|
89-87 |
B+ |
|
86-84 |
B |
|
83-80 |
B- |
|
79-77 |
C+ |
|
76-70 |
C |
|
69-60 |
D |
|
less than 60 |
F |
No grading curve will be applied.
Cooperation and Codesharing: You will be required to work alone on all programming assignments. You may discuss programmatic solutions with classmates but may not share code; all of the code you write must be your own. If we discover that you've used code from a friend, the Internet, etc., then you will not receive credit for the unit in question.
Of course, cooperation of any sort is not allowed during quizzes and examinations.