-
Course Outline
This course surveys the most important algorithms and data structures in use on computers today.
Particular emphasis is given to effective design of important data structures like stacks,
Queues and Hashing. I will also discuss algorithms for sorting, searching, and string processing.
Fundamental algorithms in a number of other areas are covered as well, including geometric and graph
algorithms. The course will concentrate on developing implementations, understanding their
performance characteristics, and estimating their potential effectiveness in applications.
-
Taught by:
-
Class Meetings
-
The necessary evil - marks, exam, etc.
The evaluation for the course will be based on midterm test1, midterm test2,
assignments and final exam. There will be 2-4 assignments that will carry weightage for your final evaluation.
In addition, a number of problem sheets will be given which are for your practice, and in particular,
solving them will be useful for getting good marks
in the exams.
-
Some cautionary notes on tests, assignments and problem sheets
This course is essentially a problem solving course, and so there will be lots of problems in the form of
assignments and practice problems. Anything you hand in is assumed to be done by you on your own. If you had
consulted any resource (including books, Internet, or other persons), then please mention that in
the work
you hand in. Copying from any source without acknowledgement will result in unwanted consequences
for
everyone! There are no excuses for failure to uphold academic integrity.
If I believe that a student is guilty of academic dishonesty, I will refer the
matter to the disciplinary action committee, who could require withdrawal from the course.
-
Supplementary materials