Skip to content
forked from boazbk/tcs

Book in preparation: introduction to theoretical computer science

License

Notifications You must be signed in to change notification settings

ChristianMay21/tcs

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction to Theoretical Computer Science

This is the git repository for a book in preparation for an introductory undergraduate course on computer science. The book is posted (in both html and pdf formats) on the web page https://introtcs.org

Please use the issues and pull requests to post any suggestions, comments, typo fixes, etc.

I am working on improving this text during the spring of 2019.

My priorities are:

  • Make the book less "idiosyncratic" - emphasize the models of Boolean Circuits, Turing Machines and RAM machines as opposed to their programming-language variants. As a byproduct I am renaming the programming languages to NAND-CIRC, NAND-TM and NAND-RAM to emphasize their roots and connections to standard models.

  • Add exercises.

  • More explanations and proof ideas.

  • Make the text more "linear": fewer footnotes and remarks that disrupt the flow of reading.

  • Write two chapters: space bounded computation and proofs and programs.

  • Adding supplemental code, which will eventually be on github.com/boazbk/tcscode

I am producing the book from the markdown source using Pandoc. The templates for the LaTeX and HTML versions are derived from Tufte LaTeX, Gitbook and Bookdown. You can see the scripts directory for some of the templates, scripts and panflute filter I am using.

This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. To view a copy of this license, visit https://creativecommons.org/licenses/by-nc-nd/4.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.

While this text will remain freely and publicly available, I may also create a printed book version in the future. By making any contribution to this work, such as a typo fix or any other suggestion or edit, you are assigning me the rights to use your contribution in both the online or any other version of this work.

About

Book in preparation: introduction to theoretical computer science

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 54.3%
  • CSS 32.1%
  • TeX 7.8%
  • Python 4.5%
  • HTML 0.9%
  • Makefile 0.3%
  • Shell 0.1%