Scroll down for lecture details
Term: Spring 2025
Department: COMP
Course Number: 475/575
Time: Tue & Thu, 12:30 pm - 1:45 pm
Location: SERC 2036
Course Webpage: bineet.cs.ua.edu/teaching/S2025/CS575/ToC.html
Dr. Bineet Ghosh
Email: bineet@ua.edu
Please add the following in subject line if you are emailing regarding the course: [s25-CS575] <your-subject>
Note: Emails that do not adhere to this guideline may experience significant delays in response.
Office: Cyber Hall 3053
Office Hours: Thu, 2:20 pm - 4:20 pm
Instructor Webpage: bineet.cs.ua.edu
Shuai Dong
Email: sdong7@crimson.ua.edu
Office Hours: Wed & Thu, 1 pm - 4 pm in CYB (Cyber Hall) 3046
This course will introduce students to the mathematical models of computations. Following are some of the broad topics that will be covered in this course:
Finite automata
Regular languages
Pushdown automata
Context-free languages
Turing machines
Undecidable problems
Algorithms (CS 201/470)
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
Assignment 0 will be posted on the first day of classes (Jan 9) to test your pre-requisites.
Speak to instructor, if unsure.
Recommended textbooks:
"Introduction to the Theory of Computation", by Michael Sipser (Primary)
“Introduction to Automata Theory, Languages, and Computation”, by Hopcroft, Ullman, and Motwani
Following additional resources could also be useful:
JFLAP: www2.cs.duke.edu/csed/jflap/
Automata Tutor: automatatutor.com
By the end of this course students are expected to be able to:
Identify and classify languages based on its computation model.
Understand formal proofs done using induction (recreate proofs, finding bugs in proofs)
Clearly identify the differences between several computation models, viz., the power it gains from going from one computation model to another.
Some basic understanding Undecidability is further desired.
The students can test the above given objectives in the following way:
Identify and classify languages based on its computation model.
Given a language (say by your friend), one should identify the model of computation that can efficiently solve the problem. Further, they should be able to comment on its complexity.
Understanding proofs.
Students should be able to recreate inductive proofs by themselves.
They should be able to find bugs in the proofs as well.
If a computation model is enhanced with a certain “operation”, they should be able to comment if this enhancement results in increased computation power.
Given a problem, they should be able to comment if the problem can be solved by a machine. If so, they should be able to identify the complexity class.
Regular Languages
Deterministic Finite Automata (DFA)
Non-Deterministic Finite Automata (NFA)
Regular Expressions
Properties, operations, and equivalences (with rigorous proofs)
Non-Regular Languages & Pumping Lemma
Context-Free Grammars
Derivations
Parse Trees
Ambiguity
Deterministic and Non-Deterministic Pushdown Automata (PDA)
Properties and equivalences (with rigorous proofs)
Decidability
Turing Machines (TM)
Multi-Tape TM
Recursively Enumerable Languages
Undecidability
Halting Problem
Assignments (Graded + Ungraded): 30%
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.
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 (in-class): 20%
Presentation (of topics/papers) & leading class discussion: 20%
Final project (with presentation): 20%
Class participation & student’s growth: 10%
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
One late assignment will have
Any further late assignments will not be graded.
In case of emergency (or unforeseen cases), please speak to instructor. The instructor will try his best to accommodate for the situation (subject to proof) in accordance with the university policy.
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.
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. Please note that lectures are the best way to demonstrate the student growth (which has
Further, if a student has missed noticeably many lectures (for instance, shows up only during their presentation/Quiz), there will be a minimum of
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, Jan 9, 2025
Introduction to the course
Syllabus and logistics
Assignment 0 is posted in Blackboard. Deadline: 6:00 am, Jan 14, 2025. This assignment is to test your prerequisites.
Lecture 2, Jan 14, 2025
Assignment 0 due by 6:00 am today
Introductions to Alphabets, Strings and Languages
Introduction to DFAs
Lecture 3, Jan 16, 2025
DFA (contd.)
DFA constructions with examples
Lecture 4, Jan 21, 2025
Assignment 1 is posted in Blackboard. Deadline: 6:00 am, Jan 28, 2025.
DFA Constructions - useful tricks with examples and in-class exercises
Operations on Languages
Lecture 5, Jan 23, 2025
Introduction to NFA - with in-class exercises
Lecture 6, Jan 28, 2025
Assignment 1 due by 6:00 am today
NFA Constructions (with in-class exercises)
Equivalence of DFAs and NFAs
Lecture 7, Jan 30, 2025
Assignment 2 is posted in Blackboard. Deadline: 6:00 am, Feb 6, 2025.
Equivalence of DFA's and NFA's
Subset Construction
Introduction to closure properties of regular languages
Lecture 8, Feb 4, 2025
Closure properties of regular languages
Complement
Union
Intersection
Concatenation
Lecture 9, Feb 6, 2025
Assignment 2 due by 6:00 am today
Closure properties of regular languages
Kleene star
Intersection - product construction
Introduction to regular expressions
Announcements:
Quiz 1 tentative dates
Quiz 1 syllabus & logistics
Lecture 10, Feb 11, 2025
Regular expressions
Lecture 11, Feb 13, 2025
Regular expressions and DFAs
Regular expressions to NFA
DFA to regular expressions
Lecture 12, Feb 18, 2025
GNFA to regular expressions
Assignment 3 is posted in Blackboard. Deadline: 6:00 am, Feb. 25, 2025.
Announcements:
Quiz 1 is on March 6, 2025
Syllabus & pattern
Open book, lecture notes, class notes
Lecture 13, Feb 20, 2025
Non-regular languages
On proving non-regularity
Pigeon-hole principle
Pumping lemma
Lecture 14, Feb 25, 2025
Assignment 3 due by 6:00 am today
Pumping lemma:
Statement
Contrapositive & game view
Examples
Lecture 15, Feb 27, 2025
Announcements
Student presentation & final project topics posted in Blackboard
Form groups (3-4 students), and share your top 3 preferences for both student presentation & final project topics by 6 am, Mar 7
Extended to: Mar 9 until 6 am
Pumping lemma - with in-class exercises
Introduction to context free languages
Lecture 16, Mar 4, 2025
Reminder: Quiz 1 on Mar 6, and group information due on Mar 7 by 6 am.
Context free grammars - with in-class exercises
Mar 6, 2025
In-class Quiz 1
No Lecture, Mar 11, 2025
Spring break!
No Lecture, Mar 13, 2025
Spring break!
Lecture 17, Mar 18, 2025
Announcements
Assignment 3 grade insights
Quiz 1 grade insights
Important dates
Student presentation schedule
April 3 to April 10
Final project presentation schedule
April 15 to April 22
Also posted on Blackboard
Context free languages
Derivations
Parse trees
Ambiguity
Lecture 18, Mar 20, 2025
Context free languages
Removing ambiguity
Computational problems on ambiguity
Inherently ambiguous grammars
Introduction to PDAs
Lecture 19, Mar 25, 2025
Push down Automata
Examples
Descriptions
Results and theorems
Expressive powers
Operations
Lecture 20, Mar 27, 2025
Notions of computations
Turing Machines
Configurations
Acceptance
Examples and in-class exercises.
Lecture 21, Apr 1, 2025
Assignment 4 is posted in Blackboard. Deadline: 6:00 am, Apr. 8, 2025.
Announcements:
Important dates and other details revisited
Decidability
Recognizability
Multi-tape Turning Machines
Student Presentations, Apr 3, 2025
Slides for student presentations due by 6 am
Groups 12, 11, 10, 9
Student Presentations, Apr 8, 2025
Assignment 4 due by 6:00 am today
Groups 8, 7, 6, 5
Student Presentations, Apr 10, 2025
Groups 4, 3, 2, 1
Final Project Presentations, Apr 15, 2025
Slides for student presentations due by 6 am
Groups 12, 11, 10, 9
Final Project Presentations, Apr 17, 2025
Groups 8, 7, 6, 5
Final Project Presentations, Apr 22, 2025
Groups 4, 3, 2, 1
Apr 24, 2025
In-class Quiz 2
Apr 29, 2025
Final project report due