Thinking Computationally with Elm ver 0.8

by | Sep 15, 2018 | Programming | 0 comments

This book attempts to explain Computational Thinking, as if this were 2018, and not 1970. It is a first step in becoming a highly productive programmer who knows how to use tools developed over the last four decades to quickly write correct programs, or a software architect who sees the fundamentals of a operational problem and the fundamentals of data structures, and joins them in a solution.

If you already know something about old-fashioned ‘real-world’ programming, welcome to the future!

We start with a seemingly simple children’s puzzle, but whose solution involves some really powerful aspects of Computational Thinking. In the Tower of Hanoi, your task is to move a tower made by stacking blocks of diminishing size, one on top of another. You can move one block at a time to one of three bases. At no time can a larger block rest on a smaller block. All the blocks have different sizes. Assuming you are seeing this problem for the first time, the first question is, what questions should you ask yourself? For which sizes of tower can we solve the problem? How many moves are required to move the tower with a given number of blocks.

Here is another good lesson about computational thinking. No matter what crazy thing a computer does, people have to take the blame, because people are doing the thinking, coming up with a set of rules and the computer faithfully carries them out. Until we figure out rules for common sense, computers will not have it, and while that may come sooner than many expect, you can bet it won’t come before your next assignment is due’so you figure out the rules.

Thinking Computationally with Elm ver 0.8

by Christopher Kumar Anand (PDF) – 9 Chapters

Thinking Computationally with Elm ver 0.8 by Christopher Kumar Anand

Related Posts

42 Free and Paid Programming Resources to Learn Web Development

42 Free and Paid Programming Resources to Learn Web Development

Any serious developer will need to learn how to program in order to really understand what is going on behind the curtain, or if you are curious to wonder about or query how your favorite program works. This is where programming tutorials come in. The following are 42 Free and Paid Programming Resources to Learn Web Development, covering 3 different levels – beginner, intermediate and expert resources.

40 Best Free CSS Learning Resources

40 Best Free CSS Learning Resources

If you are one of the people who love to design using CSS, there are actually thousands of learning resources which you can try out. This post will cover 40 of the best CSS learning resources, covering fundamental concepts, units, selectors, custom properties, animation and many more.

92 Markdown Editors and Tools for All Your Writing Needs

92 Markdown Editors and Tools for All Your Writing Needs

The basics of Markdown are easy to learn, and it can quickly become second nature. We’ve compiled 92 Markdown softwares, editors, tools and resources available that are worth using in a wide variety of scenarios. You’ll also find tutorials and libraries to get your started in no time. Happy writing and programming!