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
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
TBA
Lecture 9, Feb 6, 2025
Assignment 2 due by 6:00 am today
TBA
Lecture 10, Feb 11, 2025
TBA
Lecture 11, Feb 13, 2025
TBA
Lecture 12, Feb 18, 2025
TBA
Lecture 13, Feb 20, 2025
TBA
Lecture 14, Feb 25, 2025
TBA
Lecture 15, Feb 27, 2025
TBA