CSE4/529: Algorithms for Modern Computing Systems

Spring 2019

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.

Prerequisite: An undergraduate course in data structures and/or algorithms. That is, you should have seen selection sort, mergesort, quicksort, and O-notational analysis. You should be comfortable with pointers, lists, stacks, queues, and binary trees.

Lecture: TTh, 5:00p-6:20p, Davis 101

Recitations (CSE429):

  • Important Dates
  • Important Information

    Prerequisites:

    1. Calculus I, Calculus II, and a course in Advanced Data Structures.
    2. 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).

    Required Reading Material:

    Grading Policy:

    1. 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.
    2. Graded Materials
      • CSE429
        • Recitation attendance, participation, homeworks: 15% of your grade.
        • Midterm I: 25% of your grade.
        • Midterm II: 25% of your grade.
        • Final Exam: 35% of your grade.
        • Extra Credit: Minimum of 6 points, presented in no guaranteed distribution, over the exams.
      • CSE529
        • Midterm I: 30% of your grade.
        • Midterm II: 30% of your grade.
        • Final Exam: 40% of your grade.
        • Extra Credit: Minimum of 6 points, presented in no guaranteed distribution, over the exams.
    3. Course Grades
      • CSE 429 Final Letter Grades. 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
      • CSE 529 Final Letter Grades. 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
    4. Sample Exams (Midterms only)

    Disclaimer: I reserve the right to change any part of this tentative syllabus at any time.



    Copyright © 2019 by Russ Miller.

    All rights reserved. No part of this document may be used in any form by any electronic or mechanical means without permission in writing by the author.