|
CS 212: Data Structures and Algorithms II Spring 2001 |
In this course, students will review fundamental data structures and many common problems and algorithms at a level about the programming level. Emphasis will be placed on matching the appropriate data structures and algorithms to application problems. Analysis of algorithms is crucial to making proper selections.
In this course, students will study
![]()
Thomas A. Standish, Data Structures, Algorithms & Software Principles in C
![]()
Computer Science Students. Sunday, Tuesday 12:30 - 2:00.
![]()
Passing grade in CS211 Data Structures and Algorithms I
![]()
Dr. Badie Sartawi, sartawi@science.alquds.edu
Office: Virtual and by appointment.
Communication: A class mailing list cs212@science.alquds.edu will be created for announcements and distribution of notes, assignments, etc.
![]()
30% homeworks & review exams, 15% 1st hour Exam 1, 15% 2nd hour exam, 40% final exam (The final will be all-inclusive).
![]()
There will be reading assignments, Problem solving homeworks/labs/programming projects over the course of the semester, each contributing % of your final grade. On each homework assignment, only a subset of the problems may be graded.
The best way to learn the material is by solving problems. You are encouraged to work in groups of two or three; the best way to understand the subtleties of the homework problems is to argue about the answers. Each of you should look at all the problems independently, and not just divide the problems up each time. Don't be a leech and let your partners do all the work; unless you learn how to solve problems, I promise that you will get burned on the exams and thus for your final grade.
For the written portion of the homework, only one solution should be turned in, with the partners alternating who writes it up. The scribe for each assignment must label himself or herself as such. Unless announced otherwise in class, any solution to a part of a homework problem that takes more than one side of a sheet of paper will not be graded. This is to save you the ordeal of trying to impress with volume instead of quality.
Some homeworks will have a problem that requires a program to be coded. These programs must be written individually; you may not share source code even within your group. The programming portion of the assignment must be e-mailed to me before the class in which the homework is due.
I understand that everyone gets into a time bind now and then, and that accidents and troubles befall even the most dedicated student. Thus every student will get one free extension on homework for up to a week without a late penalty. You do not have to ask for this - just write that you are using your free extension when you turn it in. Don't waste this extension or feel obligated to use it, since you will get a very dirty look if try to get another one even with a good excuse.
Re-grades: Requests for re-grading can go in either direction; I'm often quite generous when I first grade something, so please be sure that I did make a mistake before you submit your request. On the other hand, I'll always be willing to explain to you how to do any problems that you have trouble with. All requests for re-grades must come within one week of the return of the graded item. Thereafter, no requests will be considered, so be sure to pick up your returned homeworks and exams on time.
![]()
Your scores on the homeworks and exams as described above shall determine your numeric grade. Beyond the grade you receive on your homeworks and exams, several other factors can affect your final grade.
Extra Credit: Throughout the course, you will have a variety of opportunities to receive extra credit points: homeworks will have difficult questions labeled as extra credit, exams will contain extra questions on special topics that I cover in class, and in general I reserve the right to reward particularly clever answers with extra credit points. Extra credit is not required, and I will construct the grade curve ignoring extra-credit points. Once grades are assigned, I will consider the extra credit to boost grades up one rank. If your grade is borderline, its always good to have some extra credit to sway my decision to your advantage.
![]()
Simply put, those who participate frequently in class provide me with another source of information as to how well they are learning the material, and how much effort they are putting into the course. I can use this information to help counterbalance a difficulty with exams or homeworks. So please, lets have an active class! Class participation will never harm your grade; always ask any questions you may have about the material.
![]()
Because a primary goal of the course is to teach professionalism, any academic dishonesty will be viewed as evidence that this goal has not been achieved, and will be grounds for receiving a failing grade.
![]()
| Date | Class | Reading | Topic |
| 1-7 | Review Chapter 1 Chapter 6 Chapter 2 Chapter 7 Chapter 7 Chapter 3 Chapter 9 |
|
|
| 8 - 9 | Chapter 4 | Modularity and Data Abstraction | |
| 10-11 | Chapter 5 | Introduction to Software Engineering Concepts | |
| 12-16 | Chapter 10 | Graphs | |
| 17 | 1st hour exam | ||
| 18-20 | Chapter 11 | Hashing and the Table ADT | |
| 21-22 | Chapter 12 | External Collection of Data | |
| 23-26 | Chapter 13 | Sorting | |
| 27 | 2nd hour exam | ||
| 28-30 | Chapter 15 | Object-Oriented Programming |
![]()
copyright © 1999 - Computer Science Department
Al-Quds University
- Jerusalem