How to Think Like a Computer Scientist is an introductory programming book based on the OCaml language. It is a modified version of Think Python by Allen Downey. It is intended for newcomers to programming and also those who know some programming but want to learn programming in the function-oriented paradigm, or those who simply want to learn OCaml.
OCaml is a powerful high-level programming language with a large emphasis on speed and efficiency.
This text leverages the power of the language to teach the reader important concepts in computer science and software design, with an emphasis in experimentation and self-directed learning.
This open book is licensed under a GNU Free Documentation License (GNU FDL). You can download Think OCaml ebook for free in PDF format (0.6 MB).
Table of Contents
The way of the program
Variables and Expressions
Case Study: Regular Expressions
Putting the O in OCaml, Part 1: Imperative programming
Records and Custom Data Structures
Putting the O in Ocaml Part 2: Objects and Classes
Case study: data structure selection
Green Tea Press
This book offers a comprehensive guide, covering every important aspect of computational thinking education. It provides an in-depth discussion of computational thinking, including the notion of perceiving computational thinking practices as ways of mapping models from the abstraction of data and process structures to natural phenomena. Further, it...
If you want to learn how to program, working with Python is an excellent way to start. This hands-on guide takes you through the language a step at a time, beginning with basic programming concepts before moving on to functions, recursion, data structures, and object-oriented design. This second edition and its supporting code have been updated for...
This book discusses the learning and teaching of geometry, with a special focus on kindergarten and primary education. It examines important new trends and developments in research and practice, and emphasizes theoretical, empirical and developmental issues. Further, it discusses various topics, including curriculum studies and implementation, spat...
This book provides a practical philosophy for promoting students' sophisticated thinking from Early Childhood to PhD in ways that explicitly interconnect across the years of education. It will help teachers, academics and the broader learning and teaching community to understand and implement these connections by introducing a conceptual frame...
This free book presents the assessment framework for IEA's International Computer an Information Literacy Study (ICILS) 2018, which is designed to assess how well students are prepared for study, work and life in a digital world. The study measures international differences in students' computer and information literacy (CIL): their abili...
This survey of the state of the art on research in early algebra traces the evolution of a relatively new field of research and teaching practice. With its focus on the younger student, aged from about 6 years up to 12 years, this volume reveals the nature of the research that has been carried out in early algebra and how it has shaped the growth o...