Principles of Computer Science: An Invigorating, Hands-on Approach

  • 13h 24m
  • Joshua Crotts
  • J. Ross Publishing
  • 2023

Principles of Computer Science is an invigorating and rapid adventure that covers core introductory theoretical computer science topics, including discrete mathematics, logic, programming languages, and programming language pragmatics. Readers dive deep into the syntax and semantics of constructing a small yet usable programming language (interpreter) containing paradigms from functional and non-functional programming. Additionally, users will gain an understanding of compilation by writing functions that translate code written in their high-level language down to low-level machine language. Moreover, Crotts provides a perspective on event-driven programming, memory management via garbage collection, and much more. Principles of Computer Science assumes no prior programming experience—all topics are taught from scratch, making this a highly approachable and inclusive textbook.

About the Author

Joshua Crotts is a computer science Ph.D. student at Indiana University with a strong interest in computer science pedagogy, as well as programming languages and compilers. He has spoken and published papers at conferences (e.g., SIGCSE, CMNA, ICEEL) about formal logic education, automatic detection of rhetorical devices (e.g., antithesis), and inductive logic programming as a means of argument mining in science-policy articles. His current research work aims to improve the transition of CS1 (first-semester) students to the CS2 (second-semester) domain. He graduated from the University of North Carolina at Greensboro with both a bachelor’s and master’s degree in computer science.

In this Book

  • A Computing Mindset
  • A Logic Primer
  • Data Structures
  • Formal Languages
  • Programming and Design
  • Interpretation
  • Functional Programming
  • Imperative Programming
  • Compilation
  • Memory Management
  • Event-Driven Programming
  • Epilogue
  • Environment and Code Setup
  • Graphics Library Source Code
  • Assembly Environment Setup
  • Bibliography
SHOW MORE
FREE ACCESS