Message of the Day

  • Tuesday, July 02

    Attendance will be taken at labs.

  • Thursday, June 26

    HW due dates updated. Check syllabus.

  • Monday, June 23

    Welcome to CS 51!

Course Description

CSCI510 is a core undergraduate Computer Science course on the foundations of computing. A variety of formal models for machines and languages are explored including machines with memory (the finite-state, random-access and Turing machines), language models (regular expressions and formal languages) and complexity classes identifying problems with the same general complexity, such as the NP-complete problems. In particular the course covers one of the great mathematical theorems of the 20th century, the halting problem, and what (we hope) will be one of the great mathematical theorems of the 21st century, P != NP.

The course has lectures and written assignments. Its prerequisite is CSCI220, Introduction to Discrete Mathematics. CSCI510 serves as a prerequisite for higher level CS classes.