6 ms·
This was pretty cool and seems great for young beginners. I wonder, though, what is the modern equivalent of messing with BASIC after school? It certainly isn'
by sotojuan 11y ago
This was pretty cool and seems great for young beginners.
I wonder, though, what is the modern equivalent of messing with BASIC after school? It certainly isn't Coding for Dummies is it? Would it be messing with the browser console? Messing with Python?
On a side note, I still think the beginning of the first SICP lecture is the best introduction to Comp Sci (I watch it to get motivated/inspired sometimes!). What got me into Comp Sci and programming was Ableson's quote:
> So as opposed to other kinds of engineering, where the constraints on what you can build are the constraints of physical systems . . . the constraints imposed in building large software systems are the limitations of our own minds.
Just made it feel limitless, because it really can be.
Also I am surprised that for "Expert" they recommend Coursera, edX, Udacity... but no books. In my experience, most "video courses" tend to be aimed at beginners or intermediates, with a few awesome exceptions like the Algorithms courses in Coursera and some on edX. Still though, I believe the most interesting and "Expert"-level knowledge of Comp Sci and programming is in dead tree format. But I guess it's hard to pick a few books to recommend.
- superskierpat 11y agoI just sent them an email suggesting this :)
- taf2 11y agoI just remember the one c programming book I spent hours reading memorizing the std libraries... All of the string functions and how I'd write int main over and over again...
- truncate 11y agoIn my opinion a modern equivalent of messing with programming at school would be Racket. There are couple of awesome books `Realm of Racket`[1] and `How to Design Program`. Realm of Racket introduce programming by writing games. Its actually very easy to write interactive programs with this framework called big-bang. Matthias Felleison recently spoke about it on Strange Loop[3] Unlike BASIC though, Racket no toy language. It's very powerful and expressive. Its a Scheme dialect btw. I occasionally spend some time contributing to a Racket-JS compiler called Whalsong. Whatever games you write in Racket using big-bang can run on your browser. Checkout some examples here http://bigbang.ccs.neu.edu/search?q=%23stevelikes http://bigbang.ccs.neu.edu/search?q=%23stevelikes [1] http://www.amazon.com/Realm-Racket-Learn-Program-Game/dp/1593274912/ref=sr_1_1?ie=UTF8&qid=1445487500&sr=8-1&keywords=realm+of+racket http://www.amazon.com/Realm-Racket-Learn-Program-Game/dp/159... [2] http://www.ccs.neu.edu/home/matthias/HtDP2e/ http://www.ccs.neu.edu/home/matthias/HtDP2e/ [3] https://www.youtube.com/watch?v=ayoofXuKqMY https://www.youtube.com/watch?v=ayoofXuKqMY
- zachrose 11y agoI would hope it's messing with the browser console. Most "learn to code" literature that I come across still seems focused on unixy input-output type programs. I think there's an underestimated market of people who would be interested in programming if it were easier to see where the rubber hits the road and "programs" become "software." Being able to deconstruct what would otherwise be a sleek and opaque media experience seems like a good place to start with that.
- gedrap 11y agoAlso, the Web is much easier to relate to. Many people have ideas for websites, they are facing them everyday, and it should feel pretty cool because you make something that you can share and the Web is not the huge mystery anymore. You know how it works now! HTML5 games are also a great alternative (technically, it's still Web but it's really different from a typical web site). There are easy to use great frameworks like Phaser where you can develop the first platformer game in an evening/day/weekend (depending on experience) and no knowledge about graphics etc doesn't get in the way. As a nice bonus, it's ridiculously easy to deploy and share with friends. Just drag and drop the the files on FTP and it Just Works. Can't say the same about python or ruby. In contrast, when you develop a unixy command line application to calculate the area or volume of something... Nowhere near.
- greggman 11y agoFor me it is the browser. I learned on Apple II, Atari 800, TRS-80, and Commodore 64 in the early 80s. It wasn't until I used modern HTML that I felt the same feelings I felt back then. Type some stuff in see it run immediately. No build chain or compile step. It just goes. Even better it works everywhere. Make something interesting and share it with your friends in momments. Unlike native I don't have to care what platform my friends are using . Of course in also willing to believe maybe that's the wrong place for today. Just like I don't have to build my own computer from breadboards a lot of kids are starting at a much higher level with things like Unity and they're doing great thugs building on top of a large platform of features instead of reinventing the wheel
- squidbot 11y ago35 years ago, I learned with David Ahl's books. I knew nothing, but I could type in what was on the pages and make cool stuff happen on my computer. This engaged my interest and eventually I went on to learning 6502 assembler, register maps, etc, in a quest to do cooler and cooler stuff. I don't know if it would have happened without those books. In trying to find something similar to pique my kids interest, I found Invent With Python to fill the bill, My kids can type it in, and cool things happen. There's a bit more structure than Basic Computer Games, in that it introduces different concepts in a more logical way, but it still captured the magic for my kids of making the computer do what they want. I'm a fan, and my kids still love to code. https://inventwithpython.com/ https://inventwithpython.com/