Course Syllabus

Please note that some links on the course syllabus page are only accessible to registered students.

instructor photo

Hello! My name is Tim Alcon and I will be your instructor for CS 321 - Theory of Computation. There won't be any programming - at least not the traditional sort.  This subject is more like discrete math than it is like a regular programming course, even though it's about computation.  Rather, it covers what different models of computation are capable of, and how they relate to each other.













Tim Alcon (instructor):

Office hours on Teams: TBD

TA assignments and contact information are provided in an announcement at the beginning of the term.

Ed Discussions: (a Q&A forum for help from the instructor and other students)

Teams: (a forum for more informal interaction with other students, and also for office hours)


Ecampus Student Resources



Canvas is the LMS (Learning Management System) that you are using right now to view this course. For questions about Canvas, check this list of help topics.

Ed Discussion

There is a link to Ed Discussion in the left sidebar of Canvas. This ongoing Q&A forum is a valuable resource for getting official answers to your questions (and often helpful student responses also). It's good to use the search box before posting, to see if your question has already been addressed.


There is a link to Teams in the left sidebar of Canvas. This forum is for more informal interaction with your fellow students. It is also where TAs and I will hold office hours.


Download JFLAP from this site: and install it on your computer.  During the installation it may tell you that you need to install or update Java also.  There will be videos that teach you how to use JFLAP.

Course Summary:

Date Details Due