Instructor:
Dr. Hans-Jörg TiedeTexts:
Data Structures and Algorithms Using Python and C++ by David Reed and John Zelle. Franklin and Beedle. 2009.Objectives:
Introduction to data structures and algorithmic problem solving. Encapsulation and information hiding, recursion, algorithm techniques, and time complexity. Advanced object oriented programming with inheritance, static and dynamic memory allocation. Linked lists, stacks, queues, and sequential and binary search. Prerequisite: 127 or 126. Offered each term.I will be assuming that you have recently taken CS 127, CS 126, or its equivalent.
How to work in this class: according to the University Catalog, the total demands of a course at Illinois Wesleyan on a student's time is 10-12 hours per week, including class meeting time, which is what I expect you to spend on average for this class. I expect you to take an active part in every class session. I will frequently call on every student in class. In order to do well in this class, I will expect you to:
- read the assigned chapter before you come to class,
- regularly attend class and take notes (also see attendance policy below),
- review your notes and relevant portions of the assigned reading after class,
- complete all assignments.
Exams: You will be given 3 exams (each worth 15% of
the total grade) and a final (worth 15% of total grade), see class
schedule for
dates. Exam questions will come from the text, lecture, and programming
project materials. The material in this course is cumulative in
nature; although I will emphasize recent topics, you may be tested on any
material presented up to the date of the exam.
Quizzes There will be several unannounced quizzes. You will be allowed to drop ONE quiz. You cannot make up a quiz if you are absent.
Projects:
Homework will be handed out (via the assignment
log). Assignments are worth 20% of your total grade. Projects will
vary in difficulty. I highly recommend that you start working on
(or at least thinking about) an assignment as soon as you receive it. In
programming, it can be said that the number of problems seem to escalate with
proximity to the deadline.
Grading:
Grading will be based on the following:
| Programming Assignments | 20% |
| Exam 1 | 15% |
| Exam 2 | 15% |
| Exam 3 | 15% |
| Final Exam | 15% |
| Quizzes | 20% |
The following scale will be used:
| Grade | Score |
|---|---|
| A | 93.0 |
| A- | 90.0 |
| B+ | 87.0 |
| B | 83.0 |
| B- | 80.0 |
| C+ | 77.0 |
| C | 73.0 |
| C- | 70.0 |
| D | 60.0 |
| F | below 60 |
- Unless otherwise stated, assignments are to reflect the effort of an individual programmer. You are not allowed to collaborate unless specifically requested to do so. Identical work, nearly identical work, or collaboration are treated as plagiarism and will be reported to the Associate Provost as academic dishonesty.
- Your GRADE WILL BE LOWERED BY 20% for each late day (including non-class days). Exceptions will be made only for severe medical illness (with an appropriate note from your physician) or family crisis (with an appropriate memo from the Dean of Students). AN ASSIGNMENT WILL NOT BE ACCEPTED AFTER THE GRADED ASSIGNMENT HAS BEEN RETURNED TO THE CLASS.
- Only one copy of each assignment will be accepted. Make sure that you check your work carefully. You will not be allowed to resubmit any assignment. The programmer is responsible for assuring that projects meet the assigned specifications.
- All submitted work MUST BE TYPED, and STAPLED. (DON'T ask your instructor to borrow his or her stapler.)
- All program listings MUST have page numbers, file name, and date. (Use the Print page numbers option).
- Special note about tutors. The tutoring hours are primarily
for helping you debug your projects, or to help you with any problems that
you are having with a project that you have already been working on. The
tutors are not there to "get you started", nor are they responsible for
covering the lecture material with you if you missed class, or weren't
paying attention, or haven't read the book. This means that you are not to
come to the tutors with absolutely no code written. You can certainly come
see them if your project isn't finished, but don't come to them
empty-handed! If you are really stumped on a project, and are having
problems getting started (despite your effort to read the relevant text
and understand the lecture), then you should plan to come see
me rather than the tutors. That's what I'm here for! You should also come
see me if you missed a lecture for any reason, and are having trouble with
the projects. My office hours are available for this, and you can
also make an appointment with me if my office hours aren't convenient.
Tips:- If your code is fairly long (more than fits on one screen), you might print out a hard copy of your code to bring to the tutor (or me). It's usually easier to work with.
- You should make sure that your code is easy to read by using proper indentation and commenting from the very beginning!
- The best help you can give yourself when working on the projects for this class is to start early!
Attendance Policy
You should attend regularly. I will take attendance every day. The only excuses for absences are severe medical problems documented by your physician or family emergencies documented by the Dean of Students' office. More than three unexcused absences will lower your final grade by one letter grade (i.e. from a B+ to a C+). You cannot make up quizzes and you may only make up exams if you have a documented medical problem or family emergency as outlined above.
Special Note
My daughter has had a liver transplant. In order to keep her body
from rejecting the new liver, her immune system is suppressed. Therefore,
please do not come to my office hours if you have a cold, the flu, or any
other infectious disease. If you are sick and need to contact me, write me
an e-mail instead. If you feel well enough, you can come to class if
you're sick, however, please do not come up to talk to me. Please note
that university regulation state that students diagnosed with any
communicable disease such as measles, mumps, or chicken pox are required
to recuperate off campus and are only allowed to return to campus and to
classes with a physician letter of release.
Should you receive the smallpox vaccine while taking this class (or any
other live vaccine, such as chicken pox), you need to be aware that you
can spread the virus that is used to inoculate you to those who have not
been vaccinated. If you receive the smallpox vaccination, you need to
contact health services. You will have to stay off campus for a period of
time determined by health services before returning to class.
