Homepage for CSCE 355
Foundations of Computation
Spring 2025

This site is subject to update through the term. This page was last modified Wednesday January 29, 2025 at 14:04:51 EST.

Time: MW 2:20pm - 3:35pm
Place: Horizon Parking Garage, Room 210

The Current Syllabus

This syllabus has basic course information, objectives, contacts, schedules, policies, etc.

Announcements

I will post announcements here from time to time in reverse chronological order (most recent appearing first).

Course Notes from Spring 2025

A lecture link will usually become active shortly before the time of the next lecture.

Course Notes from Spring 2024

Course Notes from Spring 2023

Here are my hand-written lecture notes from Apr 10 to Apr 24, 2023.

Here are my hand-written lecture notes from Mar 20 to Apr 5, 2023.

Here are my hand-written lecture notes from Mar 13 to Mar 15, 2023.

Here are my hand-written lecture notes from Feb 22 to Mar 1, 2023.

Here are my hand-written lecture notes from Feb 1 to Feb 15, 2023.

Here are my hand-written lecture notes for January 2023.

I will do my best to keep my COURSE NOTES current for the lectures. The date of the last update appears below my name on the title of the first page.

Schedule of Topics, Homework, and Exams

Dates link to the handwritten notes I wrote in lecture in Spring 2022. (See above for links to this semester's lectures.) I will likely stick reasonably close to the same notes for this semester, although some variation is inevitable. Links to homework handouts are located on the day they are due. Submit your homework before 11:30pm through Blackboard.
Mondays Wednesdays
1: Jan 13 Course overview, strings, concatenation, baby automata 2: Jan 15 DFAs, extended transition function
(MLK Day, no classes) 3: Jan 22 String induction, intro to NFAs
4: Jan 27 Formal NFAs, NFA simulation, computation paths, set-of-states construction (NFA -> DFA) [Homework 1 due] [Answers] 5: Jan 29 e(psilon)-transitions, e-NFAs, removing e-transitions (e-NFA -> NFA) [Homework 2 due date extended to Jan 31] [Fall 2022 notes]
6: Feb 3 DFA minimization, (in)distinguishable states, intro to regular expressions [Fall 2022 notes] 7: Feb 5 DFA min example, formal regexes, examples [Fall 2022 notes]
8: Feb 10 Converting regexes to e-NFAs, intro to GNFAs [Fall 2022 notes] 9: Feb 12 Formal GNFAs, state-elimination method (e-NFA -> regex) [Fall 2022 notes]
10: Feb 17 e-NFA -> regex example, proving some closure properties of reg langs (e.g., string reversal), string homomorphisms [Homework 3 due] 11: Feb 19 Closure under homom. and inverse homom. images, Pumping Lemma [Fall 2022 notes]
12: Feb 24 Midterm 1 13: Feb 26 Proving a lang not regular, combining Pumping Lemma with closure properties
14: Mar 3 Context-free langs and grammars, derivations 15: Mar 5 CFGs for arith exprs & stmts, parse trees, ambiguity, regex -> CFG
Spring Break Spring Break
16: Mar 17 PDAs, examples, starting formal semantics (IDs, succession relation) 17: Mar 19 PDA semantics (cont.): initial ID, acceptance by final state equiv to acceptance by empty stack; starting CFG -> PDA [Homework 4 due]
18: Mar 24 CFG -> PDA: example, starting proof of correctness; restricted PDAs 19: Mar 26 Midterm 2
20: Mar 31 Restricted PDA -> CFG; examples 21: Apr 2 Intro to programming project; pumping lemma for CFLs [Programming Project Handout TBA]
22: Apr 7 Closure properties of CFLs 23: Apr 9 Intro to Turing machines (TMs) [Homework 5 due]
24: Apr 14 ; more on TMs: Church-Turing thesis; high-level algos, universal TM 25: Apr 16 Decidability & undecidability; Turing-recognizability; undecidability of the Halting Problem, A_TM
26: Apr 21 The Editing Problem is undecidable [Homework 6 due] 27: Apr 23 ALLCFG is undecidable; intersection problem for CFGs is undecidable
28: Apr 28 Review/Overflow
May 5 Final Exam, 12:30pm - 3:00pm

Other Supporting Materials

There are a number of good alternate textbooks for this material. The one I use for the graduate-level version of this course (CSCE 551) is Michael Sipser, Introduction to the Theory of Computation (Third Edition). Cengage Learning, 2013. There is a fair amount of overlap between the two classes, and Sipser's book gives a fresh, concise take on the subject. I like this text the best.

For a gentle introduction to proof techniques, I recommend the free, online book Book of Proof by Richard Hammack (2009). Much of what we do in the first couple of weeks is done in more depth in this book.

JFLAP is a free Java-based program for simulating and manipulating automata and Turing machines. Go to http://www.jflap.org, where you'll have the opportunity to download the software (JFLAP.jar, requiring Java 1.4 or later, last I checked).


This page last modified Wednesday January 29, 2025 at 14:04:51 EST.