CSE429: Algorithms for Modern Computing Systems
Syllabus: Spring 2025
Prof. Russ Miller
338F Davis Hall
Read this before sending e-mail to miller@buffalo.edu
Syllabus:
- Students enrolled in this class are responsible for
reading and comprehending the contents of this syllabus.
- Students enrolled in this class accept responsibility for
the material presented in this syllabus.
- Consider the material presented in this syllabus as a contract between student and instructor.
- If you have any questions concerning this syllabus or how it applies to you, please ask me.
Teaching Environment:
- Class will meet via Zoom.
- Lectures will be recorded and recordings will be made available to the students.
- Historically, students who rely on the recordings, rather than attending and remaining focused during lectures, do poorly in this course.
- Students who do well in this course typically attend and participate in lectures, reviewing the recordings as needed.
- All exams will be held on campus, in person. No exceptions.
- If this format is of concern, please consider taking another course.
- Feel free to contact me or an appropriate academic advisor for options about potential alternative courses.
Overview:
This course is concerned with the design and analysis
of algorithms for sequential and parallel models of computation. Traditional
algorithmic techniques, including divide-and-conquer, will be discussed.
Models of computation include the
traditional RAM, as well as standard parallel models, including the shared-memory PRAM, as well as networked models configured as arrays, rings, meshes, hypercubes, and pyramids.
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.
History of CSE4/529: I have been teaching this course for
35+ years. It was originally labeled CS4/531, then CSE4/529, and currently, CSE429 and CSE529, separately.
After significant perseverance, CSE429 and CSE529 were separated as of the 2023-2024 academic year.
The intent was to teach CSE529 only to graduate students during Fall semesters and CSE429 only to (an unlimited number of) undergraduate students during Spring semesters.
However, undergraduate students have been very vocal about their lack of comfort with the Spring 2024 version of CSE429 on a wide variety of fronts.
As such, we are making modifications to the course for Spring 2025. Modifications include limiting the number of students, changing the grading policy, removing access to optional reading materials, and the like, based on student feedback.
Prerequisites: Calculus I, Calculus II, Discrete Structures,
and an upper level course in Data Structures and their Algorithms.
In particular, CSE250 (Data Structures) is required and CSE331 (Introducation to Algorithms) is highly recommended.
Students are responsible for
the material in chapters 1-13 of Introduction to Algorithms,
by Cormen, Leiserson, Rivest, and Stein. This includes, for example, asymptotic notation,
recurrence equations, and quicksort. In addition,
students are also responsible for pointers, lists, stacks, queues, binary trees,
and balanced trees
(e.g., AVL, Red/Black, B-trees).
- Note that many students struggle in this course because they are unprepared in terms of the prerequisite material.
- There will not be any significant review of the prerequisite material in class.
- It is your responsibility to have an excellent command of this prerequisite material, including the mathematics, data structures, algorithms, and methodologies discussed.
Lecture: TTh 2:00-3:20 via Zoom
Academic Integrity:Plagairism in any way, shape, or form, will earn you an F in the course with a notation on your transcript that the F was a result of Lack of Academic Integrity. In addition, other sanctions will likely be sought,
including, but not limited to, being dismissed from the university.
- Any work that is handed in for a grade must be done completely and exlusively by you. No exceptions. No second chances.
-
It is your responsibility to read and observe the departmental policy and university policy on plagiarism and academic integrity.
- Lectures will be presented remotely. The Zoom links will be provided in your Learning Management System (LMS), i.e., UBLearns (currently Bightspace). Zoom lectures will be recorded, and you will have access to those recordings via the LMS. These recordings are made available to the students in this class for the sole purpose of reviewing material for this class. Such recordings may not be distributed in any way, shape, or form, as discussed below. A violation of this policy will have significant consequences, as outlined below.
- Students may not record lectures or any presentations associated with this class in any way, shape, or form. This includes, but is not limited to, video and audio recordings, still images via screen shots, and the like.
All materials utilized in this course are for the educational benefits of the students in this course, period. As such, students may not take pictures or take screen shots, record, reproduce, transmit, distribute, upload, or provide such course material to any person, site, organization, or system without my permission. Violations of this policy will result in academic and legal penalties, including those available through University policy, New York State laws, and Federal (United States) laws.
At a minimum, it is likely that you will receive an F in the course with a notation on your transcript that it was due to lack of Academic Integrity.
Such course materials include, but are not limited to, textbook(s),
PowerPoint slides, exams, quizzes, drawings/annotations on "whiteboards," slides, or any other material provided for this class, as well as, lectures, lecture notes, review (Q&A) sessions, and so forth, all regardless of format (e.g., PPT, Word, PDF, CSV, and on and on).
Course Dates
- Midterm I: March 6, time TBA
- No Class: March 18 Spring Break
- No Class: March 20 Spring Break
- Midterm II: April 17, time TBA
- Last Day of Class: May 6
- Final Exam: TBA
Course Information
- 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).
- Introduction to Asymptotic Notation
- Learning Outcome (Middle States Accreditation): Ability to understand the fundamental principles of the field of
Analysis of Algorithms.
Reading Material (Changed due to student input from Spring 2024.)
- Optional: Algorithms Sequential & Parallel (Third Edition), R. Miller and L. Boxer, Cengage Learning, 2013.
- If you decide to obtain a copy of this book, please
note that, regardless of edition, it is illegal to obtain a copy of this book
without purchasing it through proper channels.
- Be advised that there are significant consequences to obtaining an illegal copy of the book and/or distributing a digital copy of the book.
- Optional: Algorithm Design and Applications, Goodrich and Tamassia, 2024, along with Data Structures Essential: Pseudocode with Python Examples, zyBooks, 2024, via zyBooks, A Wiley Company.
- This is an interactive text.
- The Goodrich and Tamassia portion of the zyBook is based on their Wiley text of the same name from 2014.
- This book is a resource for pre-requiste material on Algorithms, Data Structures, and Programming, for which you are responsible.
- Instructions for acquiring access to the book are given in UB Learns.
Projected Order of Material (with chapters from M&B listed):
- NB: Students responsible for Chapts 1-3
- Asymptotic Analysis Review (Chapt 1)
- Divide-and-Conquer (Chapt 9)
- Introduction to Parallel Algorithms and Architectures (Chapt 4),
- Combinational Circuits and Sorting Networks (Chapt 5),
- Matrix Multiplication (Chapt 6)
- Algorithms based on Parallel Prefix (Chapt 7)
- Computational Geometry (Chapt 10)
- Image Processing (Chapt 11)
Succeeding in this course (student view):
Students consistently state that the following is key to success in this class.
- Work on the course an hour or so per day, seven days/week. Don't let this course slide!
- Read the material thoroughly prior to lecture.
- Attend lectures, pay attention, take notes by hand, and participate.
- Transcribe notes daily. Do/create practice problems.
- Spend time with the TAs at least once a week. Be prepared. Work through problems and/or discuss areas of confusion.
Piazza: You will be enrolled in Piazza after the Drop/Add deadline.
Grading Policy (Changed due to student input from Spring 2024):
- Weekly Open Book preparatory questions given in UBLearns: scaled to 10 points
- Exam I: scaled to 25 points
- Exam II: scaled to 30 points
- Final Exam: scaled to 35 points
Final Letter Grades:
These are the final "curved" grades.
(That is, there is no need to ask me during the semester if I will curve the final grades.)
These numbers are points, not percentages, and include any additional
bonus points (i.e., there will be more than 100 points available in the course).
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
Personnel
- Dr. Russ Miller
- Zoom-only Office Hours: See Web Site.
- T.A.: TBA
- Open Zoom-only Office Hours. See Piazza for Zoom link.
- TBA
- T.A.: TBA
- Open Zoom-only Office Hours. See Piazza for Zoom link.
- TBA
Disclaimer: I reserve the right to change any part of this
syllabus at any time.
Copyright © 2025 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.