CS 3800 — Theory of Computation

4 semester hoursUndergraduateLectureusually offered: fall, springtypical days: FBostonOnlineOnlineTraditional

Introduces the theory behind computers and computing aimed at answering the question, “What are the capabilities and limitations of computers?” Covers automata theory, computability, and complexity. The automata theory portion includes finite automata, regular expressions, nondeterminism, nonregular languages, context-free languages, pushdown automata, and noncontext-free languages. The computability portion includes Turing machines, the Church-Turing thesis, decidable languages, and the Halting theorem. The complexity portion includes big-O and small-o notation, the classes P and NP, the P vs. NP question, and NP-completeness.

Prerequisites

Offering history

TermSectionsEnrolledCapacityFullOpen seats/section
Summer B 20231434988%6.0
Fall 2023220122888%13.5
Spring 2024224125096%4.5
Summer A 20241869096%4.0
Fall 2024324936768%39.3
Spring 2025323125192%6.7
Summer A 20251819784%16.0
Fall 2025321927081%17.0
Spring 2026431734791%7.5

Snapshots from scheduled scrapes — not live seat availability. "Full" can exceed 100% when sections over-enroll.

Meeting times

Share of recent sections by weekday: M 28% · T 40% · W 15% · Th 21% · F 52%

Common patterns: F (27% of sections), TF (25% of sections), MR (11% of sections), async (10% of sections), MTWR (10% of sections), M (7% of sections) — in patterns, R means Thursday

Professors

Fall

Spring

Summer A

Summer B

Percentages are each professor's average share of the season's enrolled students in recent terms.

Unlocks

CS 4805, CS 4991, CS 4992, CY 4770, CY 4775, MATH 3545

Courses that list CS 3800 in their prerequisites.

Links

Official catalog (CS course descriptions) · Student reviews on RateMyHusky · All CS courses · Plan it at numap.app