Term: Fall 2025
Department: COMP
Course Number: 470/570
Time: Mon/Wed/Fri, 9:00 am - 9:50 am
Location: HM Comer 1026
Course Webpage: bineet.cs.ua.edu/teaching/F2025/CS570/Algo.html
Dr. Bineet Ghosh
Email: bineet@ua.edu
Please add the following in subject line if you are emailing regarding the course: [f25-cs570] <your-subject>
Note: Emails that do not adhere to this guideline may experience significant delays in response.
Office: Cyber Hall 3053
Office Hours: Mon/Wed, 10:00 am - 11:00 am
Instructor Webpage: bineet.cs.ua.edu
David Amebley
Email: dkamebley@crimson.ua.edu
Office Hours: Tue/Thu, 10:00 am - 1:00 pm in CYB (Cyber Hall) 3046
This course will introduce students to the key concepts and techniques used to model, analyze, and reason about computational processes. Following are some of the broad topics that will be covered in this course:
Analysis of Algorithms
Searching
Sorting
Graphs
Divide and Conquer
Greedy Algorithms
Dynamic Programming
Intractability
Algorithms (CS 201)
Data Structures and Analysis (eg., CS 201)
Discrete Structures (Or their equivalents).
Programming in Python (CS 223/323)
Mathematical Maturity
Have you formally proved correctness of algorithms?
Are you familiar with proofs using induction?
Test your knowledge of inductive proofs. One can refer to basic inductive proofs (available online) and see how comfortable they are in understanding the proofs.
Familiarity with theorems in graph theory would be useful
Self Evaluation Test will be posted on the first day of classes (Aug 20) to test your pre-requisites.
Speak to instructor, if unsure.
Recommended textbooks:
"Algorithm Design", by Jon Kleinberg, Eva Tardos (primary)
"Introduction to Algorithms", by Thomas H Cormen, Charles E Leiserson, Ronald L Rivest, Clifford Stein
By the end of this course students are expected to be able to:
Understand and apply fundamental algorithm design paradigms.
Analyze algorithm performance using mathematical and empirical methods.
Prove algorithm correctness using formal reasoning.
Recognize and address computationally intractable problems.
The students can test the above given objectives in the following way:
Design and implement efficient algorithms in Python.
Analyze and compare algorithm efficiency using asymptotic notation.
Apply graph theory, dynamic programming, and greedy strategies to problem-solving.
Identify NP-hard problems and discuss their implications.
Assignments: 20%
Must be typed (preferably in LaTex
), and not handwritten. However hand-drawn figures (such as automata) are permitted.
Assignments will be clearly marked as graded/ungraded.
All submissions must follow this format: <firstname-lastname-CWID>
.
Quiz: 70%
Quiz 1: 30%
Quiz 2: 40%
Presentation (of topics/papers), and leading class discussion: 10%
Self Evaluation Test will be posted on the first day of classes (Aug 20) to test your pre-requisites.
Late work policy
No late assignments will be accepted or graded. All deadlines are firm.
Extensions will only be granted for ODS-approved accommodations or documented emergencies (e.g., medical note, university verification), in strict accordance with University policy.
Missed quiz policy
Make-up exams will not be offered, except for ODS-approved accommodations or documented emergencies.
In case of an emergency, the student must provide official documentation (e.g., medical note, university verification).
Failure to follow these guidelines will result in a score of zero for the missed exam.
Though attendance will not be formally recorded, it is recommended the lectures are attended.
Students are responsible to make up for missed courseworks.
On rare occasions, the instructor may be away from campus for professional commitments such as conferences, invited talks, or other academic obligations. During these instances, one of the following arrangements will be made:
Make-up Lecture: Scheduled on Thursday or Friday, 7:00–7:50 pm via Zoom. Attendance is optional, and a recording will be made available.
In-class TA-led Session: The teaching assistant may cover course material or host an optional review session.
In-class Practice Set: A set of sample practice questions will be provided and proctored by the TA. Attendance is optional, and will not be graded.
The instructor will provide advance notice of any such changes to the regular class schedule.
In addition to official course announcements on Blackboard, the instructor will also post selected updates—such as important reminders, lecture highlights, and relevant resources—on the course’s social media channels:
Instagram: instagram.com/autmn_lab
Facebook: facebook.com/autmn.lab
Following these accounts is optional and not a substitute for regularly checking Blackboard. All critical information will be posted on Blackboard, and students are responsible for reviewing it in a timely manner.
Communication Boundaries: Students should not send direct messages (DMs) to the instructor or TA via social media. All course-related communication must be conducted through University email using the guidelines provided above.
The instructor will make every effort to follow the guidelines of this syllabus as listed; however, the instructor reserves the right to amend this document as the need arises (including project due dates and test dates). In such instances, the instructor will notify students in class and/or via email and will endeavor to provide reasonable time for students to adjust to any changes.
Please refer to the university's standard course policies (Honor code, misconduct, behavior etc.) for details.
Please send me an email if you want the lecture slides (registered students can access the slides through Blackboard)
Lecture 1, Aug 20, 2025
Introduction to the course
Syllabus and logistics
Self Evaluation Test is posted in Blackboard. Deadline: 6:00 am, Aug 27, 2025. This assignment is to test your prerequisites.
What's this course about?
Designing algorithms?
But I already write codes that work pretty well and are fast enough!
Lecture 2, Aug 22, 2025
Formalizing school multiplication
Introduction to Stable Matching
Lecture 3, Aug 25, 2025
Stable Matching (contd.)
Lecture 4, Aug 27, 2025
Self evaluation test due today.
Stable Matching
Uniqueness of stable matching
Unstable pairs
Are all algorithms equally good?
Lecture 5, Aug 29, 2025
Are all algorithms equally good?
Contrasting Linear and Binary Search
Introduction to asymptotic analysis
No Classes, Sep 1, 2025
Labor Day