Students at the end of the course will be able to design, implement and analyze algorithms
for problems in Science and Engineering. Students will learn different Algorithmic Paradigms
and learn techniques for analyzing the algorithms. Students will also learn efficiency both in
design and implementation. Students will learn to compare different algorithms for solving
the same problem. Students will be exposed to an elementary treatment of NP-complete problems.
The goal of this course is to provide a strong foundation in algorithms and
data structures in
preparation for jobs in industry or for more advanced courses. Algorithms are the basic language of computer science. After taking this course, you, the student, should be able to:
Understand the correctness of, and analyze the running times of, different algorithms.
Use different algorithm-design techniques, including, but not limited to, greedy, divide-and-conquer, and dynamic programming techniques, to solve particular problems.
Model real problems abstractly using the language of graphs and flows.
Solve problems by reducing to other problems whose solution is known, and show that
problems are hard by reducing from other problems.
Make intelligent decisions about alternative data structures and algorithmic techniques in
the context of practical software problems, choosing from existing data structures and algorithms or designing your own when necessary
Class Time: Monday and Thursday,
Classroom: DCC 318
Prerequisites: CS2 (CSCI-1200) and
Foundations of Mathematics (CSCI-2200).
This course discusses
algorithms, and the mathematical techniques necessary to design
and analyze them.
8/27 - No Lab - You dont have to go to Lab on August 27th Lab 0 (optional)
Lab 1 (sep 3)
Lab 2 (Sep 10)
Lab 3 (Sep 17)
Lab 4 (Sep 24)
Lab 5 (Oct 8)
Lab 6 (Oct 15)
Lab 7 (Oct 22)
Lab 8 (Oct 29)
Lab 9 (Nov 12)
Lab 10 (Nov 19)
Lab 11 (Dec 3) (optional) - you do not have to go the lab.
Collaboration is not allowed. Homeworks and exams should be
solved and written by individuals alone. If anyone is caught cheating then
severe measures will be taken such as lowering the final grade, and the event will
be reported to the appropriate authorities in the campus.
Homework No Late Submissions (unless there is a medical Excuse)