CSE 4/529: Algorithms for Modern Computing Systems

Fall 2015

Prof. Russ Miller

338F Davis Hall
645-4737 (rarely, if every, answered)
Read this before sending e-mail to miller@buffalo.edu

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.

Copyright © 2015 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.