Skip to content

Latest commit

 

History

History
24 lines (17 loc) · 1.66 KB

README.md

File metadata and controls

24 lines (17 loc) · 1.66 KB

Practical Computer Science

This is an early preview of an upcoming workshop and book, Computer Science for Software Developers. Or at least, it will be called something like that.

Computer programming and computer science aren't the same thing. Most programmers aren't computer scientists, and some computer scientists aren't everyday programmers.

The two emerged simultaneously. John von Neumann and Alan Turing, mathematicians by trade, living on opposite sides of the Atlantic in the early 20th century, each discovering how to mash-up the ancient practices of math with the new field of electronics. Specifically, they learned how to teach electronic components to "think through" boolean algebra and how to do "binary arithmetic".

That fancy iPhone in your pocket still runs completely on the same principles as they developed in the mid-1940's. Electronic components and display screens have gotten a lot smaller since then, but the same theories espoused by those two pioneers (and others) have gradually evolved into our current world of computer science.

Advancements in computer science, especially of the late 1970's, enabled non-computer scientists to enter the world of computer programming. And since then, the two paths have remained rather distinct. You can advance far down either path, but the real magic happens when the paths cross.

This workshop is about getting at least some of the computer science path to cross with your computer programming. For some folks, it's not super helpful, and they go back to their programming discipline none the worse for wear.

But for others, "abracadabra" is spoken aloud, and new doorways, previously hidden, open up.