Term: Spring 2026
Department: COMP
Course Number: 570
Time: Mon/Wed/Fri, 12:00 - 12:50 pm (Jan 07, 2026 - Apr 24, 2026)
Location: SERC (South Engineering Research Ctr) 2039
Course Webpage: bineet.cs.ua.edu/teaching/S2026/CS570/Algo.html
Dr. Bineet Ghosh
Email: bineet@ua.edu
Please add the following in subject line if you are emailing regarding the course: [s26-algo] <your-subject>
Emails are typically monitored on Weekdays between 8am - 2pm.
Office: Cyber Hall 3053
Office Hours: Mon/Wed, 10-11am
Instructor Webpage: bineet.cs.ua.edu
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
Revisit: Searching, Sorting
Graph Algorithms
Divide and Conquer
Greedy Algorithms
Dynamic Programming
Linear Programming
Flow
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
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 (Graded + Ungraded): 30%
Must be typed (preferably in LaTex), and not handwritten.
Assignments will be clearly marked as graded/ungraded.
Submission of ungraded assignments is mandatory. Failure to comply will substantially affect the class participation score.
All submissions must follow this format: <firstname-lastname-CWID>.
Quiz (Graded + Ungraded): 20%
Quiz 1: 10% (in-class)
Quiz 2: 10% (during finals week - April 30, 2026)
There will be some ungraded in-class practice quiz (announced in advance - appx 1 week)
Presentation (of topics/papers), and leading class discussion: 15%
Final project (with presentation): 30%
Class participation & student’s growth: 5%
Final grades will be curved. No grade projections will be done.
Student’s growth. Identifies the effort being made by a student to understand the concepts being taught, despite their prior backgrounds. In other words, this can be used identify the efforts being put in by a student even if it is not being reflected in their scores. Completing the ungraded assignments is an excellent way to showcase this.
Late work policy
No late assignments will be accepted or graded. All deadlines are firm.
Extensions will only be granted for ODS-approved accommodations.
Students facing unforeseen circumstances are encouraged to communicate with the instructor before the deadline.
Missed quiz policy
Make-up exams/quiz will not be offered, except for ODS-approved accommodations.
Students facing unforeseen circumstances are encouraged to communicate with the instructor before the deadline when possible.
Final project
Types
Survey. Extensive survey about the research on a topic of your interest. Not a reading and copy-paste of existing papers. Expected to identify the core of the problem and provide deep insights.
Applications. Pick an application of your interest and verifying it. Might require deploying several techniques and tools. Might lead to interesting theoretical results. The application should be nontrivial and “interesting” enough.
Theory. Identify a theoretical problem (algorithm/property of models) and develop new fundamental solutions. Fairly challenging task. Identifying a “good” candidate solution or proving an “interesting” property suffices.
Instructor Selected. More details will be discussed during class. Please note that these projects may be significantly more involved than other assignments and may span a large portion of the course. They are research-oriented in nature and will engage students throughout the semester, with the potential to develop into publishable work.
Logistics
Each group member is responsible to clearly identify their contribution.
1-2 reports maybe due before the final report and presentation to share progress with the class.
Presentation: 15 mins, including discussion, debate, comparative analysis.
Following elements should be a part of your presentation:
Problem statement
Related work
Methodology
Main novelty
Results. Identify the interesting parts (your opinion)
Have at least two questions for the class. For each question, students will form groups to discuss, and then one member of each group will volunteer to answer the question.
Report: 8 page document in IEEE conference format (similar to conference paper).
Guaranteed way to score A+: Project report of conference paper quality.
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.
Practice Set: A set of sample practice questions will be provided and will not be graded. These may include self-proctored problem sets (completed individually or in groups) as well as coding sessions, which can be particularly helpful for technical interview preparation.
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.
No Classes (as per UA schedule): Jan 19, Mar 16, Mar 18, Mar 20, Apr 3.
Practice Set, Jan 7, 2026
Ungraded practice set to self-evaluate the prerequisites
Lecture 1, Jan 9, 2026
Syllabus & Logistics
Instructor selected projects and potential for a publication
An assignment on Syllabus is posted (ungraded)
This is just to make sure everyone reads the syllabus