CSE4/529: Algorithms for Modern Computing Systems
Fall 2021
Prof. Russ Miller
338F Davis Hall
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, 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.
Changes for Fall 2021: I have been teaching this course for
35+ years. It was originally labeled CS4/531 and then CSE4/531.
In 2013, it was relabled as CSE4/529 to distinguish it from a traditional course
in algorithms, which retained the label of CSE4/531, and to allow students
to take both a course in algorithms for modern compute systems and a course
in traditional sequential algorithms.
Last year, the balance was approximately 50:50 in terms of undergraduate
students:graduate students.
Unfortunately, the objectives, pace, and level of detail of
CSE429 and CSE529 are quite different.
Since the Department of Computer Science and Engineering will not
teach distinct CSE429 and CSE529 courses, it is important to note that
in Fall of 2021, CSE4/529 will be taught as an undergraduate course
for the first time.
Graduate students are welcome to enroll in the CSE529 component of the course.
Further, while graduate students will take the same course, they will be graded
on a different scale.
Note that in the past, this course was taught
as a graduate course that undergraduates were able to take (and were graded on a
different scale from the graduate students).
ON-LINE LECTURES:
This course will be presented with synchronous
on-line lectures via Zoom. However, all 3 exams will be
administered in person and on campus. No exceptions.
Please do not register for
this course if taking such a course is problematic.
- We meet on-line via UB's Zoom system.
- Our success as an online class will depend on the same commitment
that we bring to a face-to-face class.
- We will adopt the same norms as a face-to-face class: take notes;
participate by asking and answering questions; wear classroom-ready clothing;
show respect for your fellow students, the professor, the department,
and the university.
- For everyone’s benefit, join the course in a quiet place whenever possible.
- Turn on your video whenever possible.
- Mute your microphone unless you are speaking.
- If you want to contribute, please unmute your mic and speak clearly. Alternatively, use the Chat area, but note that chat is difficult to follow while
lecturing.
- Close browser tabs not required for participating in class. `
- Lectures will not be recorded.
- You are not permitted to make audio or video recordings of lectures.
Prerequisites: Calculus I, Calculus II, Discrete Structures,
and a course in Advanced Data Structures.
Students 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 pointers, lists, stacks, queues, binary trees,
and balanced trees
(e.g., AVL, Red/Black, B-trees).
Lecture: TTh 2:20-3:35 via Zoom (see Blackboard for access)
Important University Information:
Important Dates
- Exam I: Thursday, October 7, 2:20-3:35, Davis 101
- Exam II: Thursday, November 18, 2:20-3:35, Davis 101
- No Class: Tuesday, November 23
- Last Day of Classes: Dec 10
- Final Exam: Tuesday, December 14, 3:30p-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.
- CSE4/529 will be taught as an ungraduate-level course in algorithms for modern computing systems. Note: This is new for Fall 2021.
- 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.
Optional Reading Material:
- Algorithms Sequential & Parallel (Third Edition), R. Miller and L. Boxer, Cengage Learning, 2013.
- Historically, students recommend reading the material in the
book prior to attending lectures. The majority of students who do well in the course state that they read the book prior to attending class.
Projected Order of Material:
- NB: Students responsible for Chapts 1-3
- Asymptotic Analysis Review (Chapt 1)
- Divide-and-Conquer (Chapt 9)
- Intro to Parallel Algorithms and Architectures (Chapt 4)
- Combinational Circuits and Sorting Networks (Chapt 5)
- Parallel Prefix (Chapt 7)
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 lecture, pay attention, take notes by hand, 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: TBD
Grading Policy:
- Graded Materials
- CSE429
- A maximum of 1.25 points per week (10 points maximum) for attending
a TAs office hour and having a significant discussion with the TA on
CSE429 material: 10 points
- Midterm I: 25 points
- Midterm II: 30 points
- Final Exam: 35 points
- Extra Credit: Minimum of 6 points, presented in no guaranteed distribution, over the exams.
- CSE529
- Midterm I: 30 points
- Midterm II: 30 points
- Final Exam: 40 points
- Extra Credit: Minimum of 6 points, presented in no guaranteed distribution, over the exams.
- Course Grades
- CSE 429 Final Letter Grades. These are the final "curved" grades.
These numbers include the 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
- CSE 529 Final Letter Grades. These are the final "curved" grades.
These numbers include the 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: 85+
- B: 75+
- C: 60+
- D: 50+
- F: <50
- Sample Exams (Midterms only)
- Personnel
- Dr. Russ Miller
- T.A.: Alessandro Baccarini e-mail
- Office Hours (and by appointment):
- Tuesdays 4:00p - 5:00p EST via Zoom (see piazza)
- Thursdays 10:00a - 12:00 Noon EST via Zoom (see piazza)
- T.A.: Fei Xu e-mail
- Office Hours (and by appointment):
- Mondays 12:00p - 1:00p EST via Zoom (see piazza)
- Mondays 4:30p - 5:30p EST via Zoom (see piazza)
- Tuesdays 11:00a - 1:00p EST via Zoom (see piazza)
- Thursdays 12:00p - 1:00p EST via Zoom (see piazza)
- T.A.: Navid Madani e-mail
- Office Hours (and by appointment)
- Mondays 10:00a - 11:00a EST via Zoom (see piazza)
- Wednesdays 10:00a - 11:00a EST via Zoom (see piazza)
- Wednesdays 4:30p - 5:30p EST via Zoom (see piazza)
- Fridays 10:00a - 12:00 Noon EST via Zoom (see piazza)
Disclaimer: I reserve the right to change any part of this
tentative syllabus at any time.
Copyright © 2021 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.