4005 800 -- Theory of Computer Algorithms
Spring 2004-05
Instructor: Dr. Leon Reznik Contact Information
All electronic communication regarding this course should be directed to vcsg800@cs.rit.edu
Please, note this page is under the development. All information
is provisional and could be changed at any time without any notice.
What do I have to do now?
by 03/15 pick up a topic for your further research/presentation. It should be one of the topics listed in the second part of the course. You have to find out how this particular algorithm type is used in sensor networks. To accomplish this you have to do a bibliography search/review by using our library and electronic resources.
Based on your search and a review you have to produce a research paper (at least 8-10 pages), which describes an algorithm application in sensor networks. The paper needs to be submitted by week 10. You have to make a presentation based on your research as scheduled within weeks 8- 10. You have to make another presentation, which introduces your algorithm type to the class and teaches about it.
This course is designed to teach you
how to design and program algorithms efficiently. It assumes that
by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest
at amazon.com (http://www.amazon.com/exec/obidos/ASIN/0262031418/103-1470621-3263011)
List Price: $69.95 Used Price: from $18.60
(prices are
valid as of 03/03/04)
Good
comprehensive book (could be used for references later on)
Good
introductory book (if we have time)
A few tutorials
and problem solving sessions will be organized to help the students better understand the
material.
I realize that students in my class may have different
programming language/skills backgrounds. In order to overcome any possibility of
disadvantage I will try to use pseudo-code as much as possible in my lectures and
tutorials. However, students are assumed to have some knowledge and practical skills of
using at least one programming language and apply them in their project design and
implementation.
Students are assumed to have some knowledge and
practical skills of operating within at least one environment (e.g. MS-Windows, Unix,
Linux).
You are expected to
conduct yourself in a professional and courteous manner, as prescribed by the Standards of
Conduct. Graded work, e.g., homework and tests, is to be done independently and should be
unmistakably your own work, although you may discuss your project with other students in a
general way. In a group project you may discuss distribution of your work within the group
with your peers, however you should report your decision at the start of your project and
your actual share at the end.
You may not represent as your own work material that is transcribed or copied from another person, book, or other source, e.g., a web page. Professors are required to report academic dishonesty.
Course contents:
Introductory
topics (to be introduced by the instructor, studied and presented by the students) |
Ref.
reading |
Time | Student present | Homework | |
Topic
# 1 |
Algorithms and ADTs and their role in computing |
Chapter
1 |
week 1 | ||
Topic
# 2 |
Introduction to algorithm analysis |
Chapter
2 |
week 1 | ||
Topic
# 3 |
Mathematical foundations of algorithm analysis |
Chapter
3 |
week 2 Tues | Guest lecture: Bibliography review and search in algorithms | |
Topic
# 4 |
Recurrences |
Chapter
4 |
week 2 Thur | ||
Topic
# 5 |
Chapter
6 |
week 3 Tues | Hardik + Soujanya | ||
Topic
# 6 |
Chapter
7 |
week 3 Tues | Sneha + Dave | ||
Topic
# 7 |
Chapter
8 |
week 3 Thur | |||
Topic # 8 |
Chapter
11 |
week 3 Thur | Durgesh + Israth | ||
Topic # 9 |
Chapter
12 |
week 4 Tues | Victor | ||
Topic
# 1 |
Huffman codes and trees | Chapter 16.3 | week 4 Thur | removed | |
Topic description of research and project (1-2 p. each) due | week 3 | ||||
Mid-semester test No. 1 | week 4 Thur | ||||
Advanced
topics (to be discussed and studied in greater detail) |
|
||||
Topic #11 | Dynamic programming: the longest possible sequence | Chapter 15.4+ | week 5 Tues | removed | |
Topic
# 12 |
week 5 Thur | Shiranchal | |||
Topic
# 13 |
Chapter 32.2+ |
week 5 Thur | Chris + Chiraq | ||
Topic
# 14 |
week 6 Tues | Ed + Brandon | |||
Topic # 15 |
Chapter
22 |
week 6 Tues | Sneha + Dave | ||
Topic # 16 |
Minimum spanning tree, Kruskal's and Prim's algorithms, applications in networking |
Chapter
23 |
week 7 Tues | Hardik + Soujanya | |
Topic # 17 |
Chapter
24 |
week 7 Tues | Adarsh, Durgesh + Israth | ||
Topic
# 18 |
Chapter
26.1-2 |
week 6 Thur | Dave M + Borshin | ||
Topic # 19 |
|
week 7 Thur | Ray + Jacob | ||
Topic #20 | NP-Completeness and reducibility | Chapter 34.3 | week 7 Thur | MY PRESENTATION | |
Topic #21 | NP- Complete problems | Chapter 34.5 | week 8 Tues | Dan | |
Topic # 22 | Algorithm coding in Java: review and tips | CD attachment | week 8 Tues | removed | |
Mid-semester test No. 2 | week 8 Thur | ||||
Topic # 23 | AI and soft computing algorithms | week 9 | Alex + Karthik + James, Sherif | ||
Research and projects | week 9 -10 (see below) |
Homework |
15% |
Topic preparation No. 1 and presentation |
8% |
Topic preparation No. 2 and presentation Research topic (paper and
presentation) |
12% 25% |
Midterm test No.1 |
15 % |
Midterm test No. 2 | 25 % |
Student presentations
Please, see some advise how to prepare, make and review your presentation here.
week 9 Tuesday | week 9 Thursday | week 10 Tuesday | week 10 Thursday |
Sherif | James K | Chris | Jake |
Alex | Dave + Sneha | Victor | Dave M |
Ray | Adarsh | Hardik & Soni | Borshin |
Karthik | Shiranchal | Dan | |
Brandon | Sam | ||
Chirag |