Go for teenagers

422 views
Skip to first unread message

Maria-Hendrike Peetz

unread,
Apr 1, 2015, 12:28:39 PM4/1/15
to golan...@googlegroups.com, cam...@google.com
Hi all,

I have a very eager and interested teenager who wants to learn programming. I thought Go would be a nice starter language :).
Are there any resources for go for teenagers as first programming language? She is 15.

Hendrike


Shawn Milochik

unread,
Apr 1, 2015, 12:30:28 PM4/1/15
to golan...@googlegroups.com
I don't think you can go wrong with the tour:

http://tour.golang.org/welcome/1

It'll walk you through step-by-step, and you can ask questions here.

Stephen Gutekanst

unread,
Apr 1, 2015, 2:50:29 PM4/1/15
to golan...@googlegroups.com, cam...@google.com
Depending on the person (you'll have to judge this for yourself), a client-side language (i.e. JavaScript) might be better starting point for them.
I've often found people new to computer programming can become more engaged and interested in the practice overall when they can see the result right away (i.e. a button fading in, panels sliding around, displaying images, etc) than a primarily backend-language like Go will be able to do ("so it does cool stuff but I can't see it?"). A good analogy might be, for example, showing someone the ways that math can benefit them personally before trying to dive into theoretical physics.

Nonetheless, I highly recommend using the Go tour[1] and keeping Effective Go[2] on hand as a reference when learning.


Cheers,
Stephen

Herman Junge

unread,
Apr 1, 2015, 3:19:05 PM4/1/15
to Stephen Gutekanst, golan...@googlegroups.com
I have to agree with Stephen, let be Javascript and go. For the former I'd definitely try to show him some jquery goodies like fade in. out. etc.

Then... You show him some tables filled in a hard coded way, you tell her "We want to fill some values here, right?· and enter REST API, enter GO.

Now, another approach would be doing the go tour in the page, and do some warmup problem in hackerrank algorithms. There are easy enough to keep the interest and hard enough to make the solver think a little.

Those are my two cents. Good luck on the travel :-)

H.-

--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Herman Junge

unread,
Apr 1, 2015, 3:19:50 PM4/1/15
to Stephen Gutekanst, golan...@googlegroups.com
Sorry, typo, it was "show her"...

vari...@gmail.com

unread,
Apr 1, 2015, 3:20:58 PM4/1/15
to golan...@googlegroups.com
This book is a pretty light and easy introduction to Go. It's also available in print which is how I preferred reading it. http://www.golang-book.com

This book is a bit tougher, but it's short and really well written. I think it's overall the best book currently available for learning Go, but if she's new to programming I'd recommended that previous book first. http://www.amazon.com/Programming-Language-Phrasebook-Developers-Library/dp/0321817141

This book covers the language pretty in-depth, but it's long, dry, and difficult to read from cover to cover. It can be quite handy as a reference for details about the language. http://www.amazon.com/gp/aw/d/0321774639

There are a couple topical books that and a couple other not quite as good introductory books that could also be quite useful to so anybody who can't get enough Go. Go is in my opinion the best overall programming language, but if she's interested in programming games and graphics and such, Scratch is a drag and drop programming environment targeted toward 8-16 year old kids in school, and this is really great Python book written by a father and son. The linked page has a link to the newer edition of the book that covers the newer, but sometimes less liked Python 3. http://www.amazon.com/Hello-World-Computer-Programming-Beginners/dp/1933988495

andrewc...@gmail.com

unread,
Apr 1, 2015, 10:29:45 PM4/1/15
to golan...@googlegroups.com, cam...@google.com
It would be good to work out what sort of software she is interested in. Is it servers, graphics, games?

I would be good to provide examples which fit her interests, ones which she can tweak and see immediate results.

andrewc...@gmail.com

unread,
Apr 1, 2015, 10:33:09 PM4/1/15
to golan...@googlegroups.com, cam...@google.com
I think python and go together provide a good combo for learning the essentials. With python you can use packages like turtle and pygame for teaching. Go has less "fun" and educational packages. Though Go is a great language to learn some more things like pointers and concurrency.


On Thursday, April 2, 2015 at 5:28:39 AM UTC+13, Maria-Hendrike Peetz wrote:

Jesper Louis Andersen

unread,
Apr 5, 2015, 12:31:38 PM4/5/15
to Maria-Hendrike Peetz, golang-nuts, cam...@google.com

On Wed, Apr 1, 2015 at 6:28 PM, Maria-Hendrike Peetz <hend...@google.com> wrote:
Are there any resources for go for teenagers as first programming language? She is 15.

I'd probably ask her what she would like to do with programming. And then pick a language which facilitates that kind of programming. Of course if she wants to build the next installation of Skyrim, you probably want a less wild approach than C++/Lua, but you get my point. Programming is fun, either because of the things you can *do* with programming or because programming *itself* is fun. Figure out what ticks her interest and go with that.

Go is a far better teaching language than Java, Python, Ruby, C# and the like. It is more consistent, smaller and simpler. It sits with a neat abstraction model, not too far away from the machine. If you want to learn about *computation*, it is pretty bad, and Standard ML, OCaml or Scheme are far better tools. It all depends.


--
J.
Reply all
Reply to author
Forward
0 new messages