CSE4/529: Algorithms for Modern Computing Systems
Fall 2018
Prof. Russ Miller
338F Davis Hall
716.645.4737 (rarely, if ever, answered)
Read this before sending e-mail to miller@buffalo.edu
Overview:
This course is concerned with the design, analysis, and implementation
of algorithms for sequential and parallel models of computation. Traditional
algorithmic techniques, including divide-and-conquer, dynamic programming,
and greedy algorithms will be discussed. Models of computation include the
traditional RAM, as well as standard parallel models, such as the
PRAM, array, ring, mesh, hypercube, and pyramid.
We also consider innovative
parallel models that involve dynamic reconfiguration.
In addition, we discuss algorithmic strategies for Network of Workstations, clusters, grids, and clouds.
Problem domains include computational geometry, graph theory, image analysis, sorting, and searching.
Time, space, and processor complexity of solutions to problems are a critical component to the course.
Lecture: TTh, 2:00p-3:20p, Davis 101
Recitations (CSE429):
- Tuesdays, 4:00-4:50p, Fillmore 352, TA: Yunus Escencai
- Thursdays, 8:00-8:50a, Cooke 114, TA: Deen Mohan
Important Dates
- No Class: Tuesday, Nov 20
- Exam I: Thursday, October 11
- Exam II: Thursday, November 15
- Last Day of Classes: Friday, December 7
- Final Exam: Tuesday, December 11, 3:30-6:30p, Davis 101
Important Information
- Plagiarism in any way, shape, or form, including obtaining an unauthorized copy of the book, will earn you an F in the course.
In addition, other sanctions may be sought, including, but not limited to,
being dismissed from the university.
Feel free to review the departmental policy and university policy on plagiarism and academic integrity.
- Lectures may not be recorded. This includes, but is not limited to, video and audio recording.
- Recitation: It is department policy that there will be recitations
only for undergraduate students (CSE429).
It is the policy of the CSE department
that recitations do not meeting during the first week of a semester.
- CSE4/529 will be taught as a graduate-level course in algorithms for modern computing systems.
- There will be no programming projects in this class.
- Class attendance is required.
- There will be no makeup exams.
- If you have a medical issue, documentation is required.
- If you have a conflict with the final exam, you must handle the situation in terms of making arrangements in your other class(es).
- This will be a paper and pencil course. There will be
no programming assignments.
- Introduction to Asymptotic Notation
- Learning Outcome (Middle States Accreditation): Ability to understand the fundamental principles of the field of
Analysis of Algorithms.
Prerequisites:
-
Calculus I, Calculus II, and a course in Advanced Data Structures.
- Students should know, and are responsible for,
the material in chapters 1-13 of Introduction to Algorithms,
by Cormen, Leiserson, and Rivest. This includes asymptotic notation,
recurrence equations, and quicksort. In addition,
students are also responsible for material on balanced trees
(e.g., AVL, Red/Black, B-trees).
Reading Material:
- Algorithms Sequential & Parallel (Third Edition), R. Miller and L. Boxer, Cengage Learning, 2013.
- Note that this is the 3rd Edition of the book.
Do not purchase or gain access to, either legally or illegally,
the first or second edition of the book.
Do not steal (illegally obtain) the third edition of the book.
Obtaining any edition of the book without purchase through proper channels is illegal and there are conesquences to such actions.
- Additional material and citations to relevant material will be made available via this Web site.
Grading Policy:
-
CSE 4/529 is a graduate-level course in Algorithms. CSE 429 students
will be graded separately and on a different scale from CSE 529 students.
- The first midterm exam will count for 30% of your grade.
- The second midterm exam will count for 30% of your grade.
- The comprehensive final exam will count for 40% of your grade.
- Grading will be performed by the Teaching Assistants.
- Resources are not currently available to
efficiently/effectively grade homeworks, programming
projects, or other materials, including additional exams/quizzes.
- Final Grades (CSE 429) - these are the final "curved" grades. There will
be "+"s and "-"s that will be determined after the numeric grading for the
semester is complete.
- A: 75+
- B: 60+
- C: 50+
- D: 35+
- F: <35
- Final Grades (CSE529) - these are the final "curved" grades. There will
be "+"s and "-"s that will be determined after the numeric grading for the
semester is complete.
- A: 85+
- B: 75+
- C: 60+
- D: 50+
- F: <50
- Sample Exams (Midterms only)