April 2016 Learn More Links
Image by Dan van Zuijlekom on Flickr
Links from the bottom of all the April 2016 articles, collected in one place for you to print, share, or bookmark.
What Programming Language Should Students Learn First?
https://www.kidscodecs.com/best-first-programming-language/
Upperline Code
Ruby
https://www.ruby-lang.org/en/
https://www.ruby-lang.org/en/documentation/quickstart/
TryRuby.org
Learn Ruby the Hard Way
http://learnrubythehardway.org/book/
Coding for Kids Ages 5-8
https://www.kidscodecs.com/coding-kids-ages-5-to-8/
Coding Schools
https://www.kidscodecs.com/coding-schools-2015/
How to Be a Better Programmer
https://www.kidscodecs.com/how-to-be-a-better-programmer/
10 golden rules for becoming a better programmer
http://www.codeshare.co.uk/blog/10-golden-rules-for-becoming-a-better-programmer/
Avoid using magic numbers and string literals in your code
http://www.techrepublic.com/article/avoid-using-magic-numbers-and-string-literals-in-your-code/
Usage of magic strings/numbers
http://programmers.stackexchange.com/questions/221034/usage-of-magic-strings-numbers
http://programmers.stackexchange.com/a/221042
What is a magic number, and why is it bad?
http://stackoverflow.com/questions/47882/what-is-a-magic-number-and-why-is-it-bad
Magic Numbers
https://en.wikipedia.org/wiki/Magic_number_%28programming%29
String Literals
https://en.wikipedia.org/wiki/String_literal
Naming Conventions
https://en.wikipedia.org/wiki/Naming_convention_%28programming%29
The world’s two worst variable names
http://archive.oreilly.com/pub/post/the_worlds_two_worst_variable.html
.Net StringBuilder Class
https://msdn.microsoft.com/en-GB/library/system.text.stringbuilder%28v=vs.110%29.aspx
DotNetRocks
Simple Programmer
TryRuby.org
https://www.kidscodecs.com/try-ruby/
TryRuby.org
Computing at School (CAS)
https://www.kidscodecs.com/computing-at-school/
Computing at School
http://www.computingatschool.org.uk/
http://www.computingatschool.org.uk/about
Computing at School Community
http://community.computingatschool.org.uk/door
CAS TV
http://www.computingatschool.org.uk/news_items/91
https://www.youtube.com/user/computingatschool
Teaching London Computing
https://teachinglondoncomputing.org/
CAS London Conference (February 2016)
http://community.computingatschool.org.uk/resources/4174
Barefoot Computing
Code Club
Code Monster
https://www.kidscodecs.com/code-monster/
Code Monster
http://www.crunchzilla.com/code-monster
Crunchzilla
Includes Code Monster and three other online programs for older kids.
http://www.crunchzilla.com/
Go, AlphaGo, and Artificial Intelligence
https://www.kidscodecs.com/go-and-ai/
Pages for beginners
http://senseis.xmp.net/?PagesForBeginners
Consumi (online play)
Pandanet (Internet Go server)
http://pandanet-igs.com/communities/pandanet/49
Graded Go Problems for Beginners
American Go Association
American Go Federation
http://agfgo.org/pages/home.php
Where to play Go
http://www.usgo.org/where-play-go
The Surrounding Game (Go movie)
http://www.surroundinggamemovie.com/en
Garry Kasparov speaks at Google
https://www.youtube.com/watch?v=9hf31xOhchY
Nature article
http://www.nature.com/news/go-players-react-to-computer-defeat-1.19255
Wired article (2014)
http://www.wired.com/2014/05/the-world-of-computer-go/
Deep Mind
https://deepmind.com/alpha-go.html
Mastering Go with Deep Neural Networks and Tree Search
http://www.nature.com/nature/journal/v529/n7587/full/nature16961.html
Google Blogspot
http://googleresearch.blogspot.com/2016/01/alphago-mastering-ancient-game-of-go.html
The Computer that Mastered Go
https://www.youtube.com/watch?v=g-dKXOlsf98
Lee Sedol
https://en.wikipedia.org/wiki/Lee_Sedol
Google’s AI won the game Go by defying millennia of basic human instinct
http://qz.com/639952/googles-ai-won-the-game-go-by-defying-millennia-of-basic-human-instinct/
ASCII
https://www.kidscodecs.com/ascii/
ASCII
https://en.wikipedia.org/wiki/ASCII
http://www.neurophys.wisc.edu/comp/docs/ascii/
ANSI
ISO
UNICODE
http://www.unicode.org/
http://www.unicode.org/charts/
Character Encoding
https://en.wikipedia.org/wiki/Character_encoding
UTF-8
https://en.wikipedia.org/wiki/UTF-8
Control Character
https://en.wikipedia.org/wiki/Control_character
Binary Code
https://en.wikipedia.org/wiki/Binary_code
Numeral Notation Systems
https://en.wikipedia.org/wiki/Numeral_system
https://en.wikipedia.org/wiki/Octal
https://en.wikipedia.org/wiki/Decimal
https://en.wikipedia.org/wiki/Hexadecimal
https://en.wikipedia.org/wiki/Binary_number
Questions to Ask Summer Tech Camps
https://www.kidscodecs.com/questions-ask-summer-tech-camps/
101 Questions to Ask When Choosing a Summer Camp
https://www.idtech.com/blog/100-questions-to-ask-when-choosing-a-summer-camp/
ASCII Star Wars
https://www.kidscodecs.com/ascii-star-wars/
Telnet
https://en.wikipedia.org/wiki/Telnet
http://windows.microsoft.com/en-us/windows/telnet-faq#1TC=windows-7
Command Line Interface (CLI) Software
https://www.kidscodecs.com/where-to-find-command-line-interface-software/
Big-O Notation and the Wizards War
https://www.kidscodecs.com/big-o-wizards-war/
Big-O Notation
https://en.wikipedia.org/wiki/Big_O_notation
https://justin.abrah.ms/computer-science/big-o-notation-explained.html
http://bigocheatsheet.com/
Search: A Tale of Algorithms, Computation, and Conspiracy
https://www.nostarch.com/searchtale
Computational Fairy Tales
http://computationaltales.blogspot.com
http://computationaltales.blogspot.com/p/book.html
https://twitter.com/compfairytales
Search: A Tale of Algorithms, Computation, and Conspiracy
To be released July 2016, you can order early and get a discount.
https://www.nostarch.com/searchtale
Best Practices of Spell Design
http://www.amazon.com/Practices-Spell-Design-Jeremy-Kubica/dp/1481921916
Computational Fairy Tales
http://www.amazon.com/Computational-Fairy-Tales-Jeremy-Kubica/dp/1477550291/
SmallTalks: Jeremy Kubica and Computational Fairy Tales
The Architecture of Radio
https://www.kidscodecs.com/architecture-of-radio/
The Architecture of Radio
http://www.architectureofradio.com/
https://itunes.apple.com/us/app/architecture-of-radio/id1035160239?ls=1&mt=8
https://play.google.com/store/apps/details?id=nl.richardvijgen.architectureofradioAndroid
Richard Vijgen
The Architecture of Radio Video
OpenCellID
http://opencellid.org/
http://wiki.opencellid.org/wiki/What_is_OpenCellID
https://en.wikipedia.org/wiki/OpenCellID
Infosphere
https://en.wikipedia.org/wiki/Infosphere
Racket
https://www.kidscodecs.com/racket-language/
Racket and DrRacket IDE (free download)
https://racket-lang.org
https://racket-lang.org/download/
https://docs.racket-lang.org/drracket/
https://en.wikipedia.org/wiki/Racket_(programming_language)
The Pyret Language
Picturing Programs
How to Design Programs
https://mitpress.mit.edu/books/how-design-programs
Bootstrap World
http://www.bootstrapworld.org/
http://www.bootstrapworld.org/materials/fall2015/tutorial/
WeScheme (cloud-based Racket programming environment)
Computer Keyboard History
https://www.kidscodecs.com/computer-keyboard-history/
Computer Keyboard
https://en.wikipedia.org/wiki/Computer_keyboard
http://www.daskeyboard.com/blog/typing-through-time-the-history-of-the-keyboard/
http://history-computer.com/ModernComputer/Basis/keyboard.html
Typewriter
https://en.wikipedia.org/wiki/Typewriter
Teleprinter
https://en.wikipedia.org/wiki/Teleprinter
QWERTY
https://en.wikipedia.org/wiki/QWERTY
Non-QWERTY Keyboard Layouts
http://mentalfloss.com/article/52483/6-non-qwerty-keyboard-layouts
https://en.wikipedia.org/wiki/Dvorak_Simplified_Keyboard
https://en.wikipedia.org/wiki/Maltron
http://www.makeuseof.com/tag/a-history-of-keyboard-layouts-is-qwerty-lagging-behind/
Projection Keyboards
https://en.wikipedia.org/wiki/Projection_keyboard
Hansen Writing Ball
https://en.wikipedia.org/wiki/Hansen_Writing_Ball
Simplex Typewriter
http://oztypewriter.blogspot.com/2012/06/simplex-typewriter-glorious-simplicity.html
https://www.youtube.com/watch?v=VhdZP16d9Uo
http://www.typewritermuseum.org/collection/index.php3?machine=simplex&cat=ic
What is the Blockchain?
https://www.kidscodecs.com/what-is-the-blockchain/
Blockchain
https://en.wikipedia.org/wiki/Block_chain_%28database%29
Hash
https://en.wikipedia.org/wiki/Hash_function
Forget Bitcoin: What is the Blockchain and Why Should You Care?
http://recode.net/2015/07/05/forget-bitcoin-what-is-the-blockchain-and-why-should-you-care/
The great chain of being sure about things
Understanding the blockchain
http://radar.oreilly.com/2015/01/understanding-the-blockchain.html
REST
https://www.kidscodecs.com/rest/
REST
https://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm
http://www.infoq.com/articles/rest-introduction
http://www.ibm.com/developerworks/library/ws-restful/
https://en.wikipedia.org/wiki/Representational_state_transfer
Roy Fielding
http://www.ics.uci.edu/~fielding/
http://roy.gbiv.com/
https://twitter.com/fielding
Architectural Styles and the Design of Network-based Software Architectures
Complete dissertation by Roy Fielding which includes Chapter 5 about REST.
https://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm
What Exactly is RESTful Programming?
http://stackoverflow.com/questions/671118/what-exactly-is-restful-programming
How I Explained REST to My Wife
http://www.looah.com/source/view/2284
HTTP
https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol
URI
https://en.wikipedia.org/wiki/Uniform_Resource_Identifier
What is the Difference between a URI, a URL, and a URN?
http://stackoverflow.com/questions/176264/what-is-the-difference-between-a-uri-a-url-and-a-urn
Also In The April 2016 Issue

The iDTech summer camp recently posted 102 questions. Here are a few with links to the full list.

The choice of a first programming language can be overwhelming, from simple drag and drop to full languages.

10 steps you can take to improve your skills as a programmer.

REST is a standard way for software applications to work with each other to do things.

Blockchain software technology works as a distributed ledger to record what was done and when.

This online emulator lets you learn and try out a little of the Ruby programming language.

Here's a fun way to learn about telnet and watch the original Star Wars movie in ASCII format.

Believe it or not, computers and keyboards were not invented together.

Learn the basics of Go plus neat math details about Go and AlphaGo, the computer that beat a human playing Go.

If you were a wizard, wouldn't you want to know how to scale your spells for maximum effect?

This programming language is both easy to learn and teaches excellent coding form.

Code Monster from Crunchzilla is a fun online emulator used to learn JavaScript.

A phone and tablet app exposes the invisible world of radio, phone, and satellite waves that connect our computers.

ASCII is a set of letters, numbers, and characters computers use to communicate accurately.

Links from the bottom of all the April 2016 articles, collected in one place for you to print, share, or bookmark.

Computing at School (CAS) provides resources and support for computer science teachers and parents.

Interesting stories about computer science, software programming, and technology for April 2016.