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 Slack: TBD

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

Piazza (a Q&A forum for help from the instructor and other students)

Slack (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.


There is a link to Piazza 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.


Slack is a forum for more informal interaction with your fellow students. It is also where TAs and I will hold office hours. Please connect to the Workspace ( - this is the central connection point for all OSU-oriented slack workspaces. You should then select the "Sign in with ONID" and be able to connect.

Here's how we'll use the Class Slack Workspace:

  • #announcements
    The landing channel when you first join. We will use this for announcements specific to Slack.
  • #random
    Random chat among course members (students and teachers)
  • #general (You will have to join this channel manually to really get anything out of Slack)
    Class-specific discussions, office hours, etc.

On Slack you can:

  • Create your own channels
    For group-work or study-groups you can create your own (private or public) channels!
  • Create ad-hoc teleconference sessions
    Click the "phone" icon next to the channel title and invite people to join you!
  • Engage with the TAs and Instructor during office hours
  • Engage with each other

OSU's primary motivation in providing this Slack experience is to give you, the student, a built-in mechanism for building relationships and collaborations among yourselves.


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