Unlock the Secrets of Computer Science with a Hands-On ApproachDive into the core of computer science with this engaging guide, designed for newcomers and aspiring experts alike.
Principles of Computer Science demystifies complex topics, from discrete mathematics to programming language design, using clear explanations and practical examples.
Explore the building blocks of computation, learn to design your own programming language, and master the art of creating interpreters and compilers. This book offers a unique blend of theory and practice, empowering you to:
- Develop a Computing Mindset: Grasp fundamental concepts and problem-solving techniques.
- Build Your Own Interpreter: Gain hands-on experience in language design and implementation.
- Understand Compiler Design: Translate high-level code into low-level machine language.
Embark on a journey of design, creativity, and boundless expression, and discover the awe-inspiring nature of computer science. Are you ready to transform from a beginner to a confident computer scientist?
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.