Course Information
Instructor: Prof. Ryszard Janicki
-
Office: ITB 217
-
Phone: 525-7070 ext:
23919
-
Office hours:
Monday 1:30-2:30.
-
Email: janicki AT mcmaster.ca
Teaching Assistants:
Course website:
https://www.cas.mcmaster.ca/~cs3ac3/
Lectures:
Monday |
12:30 PM - 01:20 PM |
TSH B128 |
Tuesday |
01:30 PM - 02:20 PM |
TSH B128 |
Thursday |
12:30 PM - 01:20 PM |
TSH B128 |
Tutorials:
Monday |
10:30 AM - 11:20 AM |
KTH 104 |
Start Date January 15, 2024 |
Wednesday |
12:30 PM - 01:20 PM |
PGCLL M24 |
Start Date January 15, 2024 |
Wednesday |
01:30 PM - 02:20 PM |
T13 106 |
Start Date January 15, 2024 |
Friday |
12:30
PM -
01:20 PM |
T13 107 |
Start Date January 15, 2024 |
Submissions will be via Avenue.
Course Outline (Tentative)
- Introduction and Representative Problems
- Greedy Algorithms
- Divide-and-conquer
- Dynamic programming
- Network flow
- Intractability and coping with intractability
- Approximation algorithms
- Randomized algorithms
- Online algorithms
Prerequisites:
COMPSCI 2C03 or SFWRENG 2C03, COMPSCI
2AC3 or 2FA3 or SFWRENG 2FA3, or permission of instructor
Texts:
-
J. Kleinberg and E. Tardos, Algorithm Design,
Addison-Wesley 2005 (main)
-
M. Soltys, An Introduction to the Analysis
of Algorithms, World Scientific 2010 (auxiliary)
The course may not always follow any text-book closely.
Lecture Notes will be on the website either before class or a few days after
class.
Calendar Description:
- Basic computability models; the Church-Turing thesis,
complexity classes; P versus NP; NP-completeness, reduction techniques;
algorithmic design strategies; flows, distributed algorithms, advanced
techniques such as randomization.
Mission:
- This course is designed to provide students with an
understanding of the principles and techniques in the design and analysis of
efficient data structures and algorithms. We shall discuss and analyze a
variety of data structures and algorithms chosen for their importance and
their illustration of fundamental concepts. We shall emphasize analyzing the
worst-case running time of an algorithm as a function of input size. We shall
also spend some time exploring the boundary between feasible (polynomial time)
computations and infeasible computations. This will include discussion of the
notorious P vs. NP question.
Outline of Course Topics (Tentative).
1. Introduction and Representative
Problems 2. Greedy Algorithms 3. Divide-and-conquer 4. Dynamic
programming 5. Network flow 6. Intractability and coping with
intractability 7. Approximation algorithms 8. Randomized algorithms 9.
Online algorithms
Learning Objectives: Preconditions:
- Students should have known basic knowledge of discrete
mathematics (especially of logic, sets and relations), basic knowledge of data
structures and algorithms.
Learning Objectives: Postconditions
-
Students should know and understand
- Greedy algorithms
- Divide-and-conquer techniques
- Dynamic programming
- Network flow
- Intractability
- Approximation algorithms
- Randomized algorithms
- Online algorithms
-
Students should be able to use and/or implement,
dependently of the need, each of the below
-
Greedy algorithms
-
Divide-and-conquer techniques
-
Dynamic programming
-
Network flow
-
Approximation algorithms
-
Randomized algorithms
-
Online algorithms
Evaluation
Assignments |
30% |
Three assignments (3 x
10 = 30%). Although you may discuss the general concept of the course
material with your classmates, your assignment must be your individual
effort. |
Midterm test |
20% |
(60 minutes midterm test plus 20 mintues for technology ) ( take home, virtual
on avenue)
The week of
February 26 – March 1, 7:00 or 8:00 pm, take home, submission via
Avenue, details later. |
Final
examination |
50% |
There will be a 2.5 hours (one double side cheat sheet will be
allowed). |
Total |
100% |
|
Late assignments will not be accepted. Although you may discuss the
general concept of the course material with your classmates, your assignment
must be your individual effort.
MSAF policy:
For each MSAF the weight will be moved to the final exam. More information on the MSAF procedure can be found at this
link.
Important
The instructor and university reserve the right to modify elements
of the course during the term. The university may change the dates and deadlines
for any or all courses in extreme circumstances. If either type of modification
becomes necessary, reasonable notice and communication with the students will be
given with explanation and the opportunity to comment on changes. It is the
responsibility of the student to check their McMaster email and course websites
weekly during the term and to note any changes.
Academic Dishonesty
Academic dishonesty consists of
misrepresentation by deception or by other fraudulent means and can result in
serious consequences, e.g. the grade of zero on an assignment, loss of credit
with a notation on the transcript (notation reads: AGrade of F assigned for
academic dishonesty@), and/or suspension or expulsion from the university. It
is your responsibility to understand what constitutes academic dishonesty. For
information on the various kinds of academic dishonesty please refer to the
Academic Integrity Policy, specifically Appendix 3, located at
http://www.mcmaster.ca/senate/academic/ac_integrity.htm
The following illustrates only three
forms of academic dishonesty: 1. Plagiarism, e.g. the submission of work that
is not one=s own or for which other credit has been obtained. 2. Improper
collaboration in group work. 3. Copying and using unauthorized aids in tests
and examinations.
|
|
|