Poll of the Day > My niece is getting interested in coding. Any tips for Xmas gifts?

Topic List
Page List: 1
Mad_Max
12/04/19 11:08:16 AM
#1:


I'm thinking along the lines of books or informative material, but are there tools or peripherals that can aid someone?

I know pretty much nothing about this, but I've seen a few people post about coding. Not sure how into it she is now or how serious, but I'd like to encourage her any way I can. Thinking she's just starting out so anything beginner to maybe intermediary-level as far as instructional stuff goes. Is she better off just looking up material online? What are some online resources she could look to?

---
... Copied to Clipboard!
Mad_Max
12/04/19 11:11:45 AM
#2:


Is programming separate from coding? I don't even know that lol

Talking to my sister-in-law and she mentioned "programming/coding" and I thought they're the same thing

What's a good beginner language to focus on/get your feet wet?

---
... Copied to Clipboard!
dedbus
12/04/19 12:05:23 PM
#3:


Make her step back from that ledge my friend.
... Copied to Clipboard!
adjl
12/04/19 12:26:30 PM
#4:


How old is she? I know there's a board game out there (Robot Turtles) that's meant to teach children about programming, but it's very rudimentary and aimed at younger kids. If she's older than about 8, it's probably too simplistic.
---
This is my signature. It exists to keep people from skipping the last line of my posts.
... Copied to Clipboard!
jramirez23
12/04/19 12:28:56 PM
#5:


Maybe an Arduino board kit?

---
When life backs you up into a corner, come out swingin'!
... Copied to Clipboard!
shadowsword87
12/04/19 12:38:16 PM
#6:


Yeah, I really need help with her age and her reading comprehension skills, along with if she has any basic circuit knowledge.
---
ImmortalityV, "I would like to kiss Icoyar to be honest in a non gay way though"
... Copied to Clipboard!
Mad_Max
12/04/19 12:38:29 PM
#7:


adjl posted...
How old is she? I know there's a board game out there (Robot Turtles) that's meant to teach children about programming, but it's very rudimentary and aimed at younger kids. If she's older than about 8, it's probably too simplistic.
Yeah she's about 13, going on 14 next spring.

---
... Copied to Clipboard!
shadowsword87
12/04/19 12:38:53 PM
#8:


Do you have a budget?
---
ImmortalityV, "I would like to kiss Icoyar to be honest in a non gay way though"
... Copied to Clipboard!
Wii3Kings
12/04/19 12:45:15 PM
#9:


Audrino board kit would be good. Lego Mindstorm kit is great but can be pricey. If she hasn't done any coding yet I would recommend she start with scratch coding (website by MIT) to get a basic understanding and foundation to build on.
---
... Copied to Clipboard!
Mad_Max
12/04/19 12:46:26 PM
#10:


shadowsword87 posted...
if she has any basic circuit knowledge.
I'd say probably not, but I can find out for sure. She's very strong reader. Very smart kid.

As for budget, I'd spend up to $200 or so, in that neighborhood. Not looking to break the bank because I'm not sure if this is some passing fancy or if it's something she'll stick with, but I also don't want to cheap out on it and get her something that's essentially a waste of her time

---
... Copied to Clipboard!
shadowsword87
12/04/19 12:47:58 PM
#11:


I agree with the others on an Aurdino board kit, you have to use C++ to code it, there's a physical component of LEDs blinking, or motors moving as well to help reinforce the idea of applications of coding.
It's completely reusable because it's just wires and resistors.

Totally not to pull her towards electrical engineering :P

EDIT: Here's a kit that's well within budget https://www.amazon.com/EL-KIT-001-Project-Complete-Starter-Tutorial/dp/B01CZTLHGE
---
ImmortalityV, "I would like to kiss Icoyar to be honest in a non gay way though"
... Copied to Clipboard!
wolfy42
12/04/19 12:49:48 PM
#12:


Does she have a computer or laptop yet?

You can get a used one fairly cheap at this point, and if she doesn't have one, that would be the best gift you could give her for sure.

If she does have one, then she also has access to pretty much everything she needs to learn to code. I certainly wouldn't buy her a book or reading material. There are programs you can get that will help her code various things (like games if she is into that). I'm guessing she already has wifi at home (almost everyone does).

You can get her a cheap PC for $100 and a cheap laptop that still can run the programs she would need to code for around $200 probably.
---
Zangulus "I try to avoid having any knowledge at all of his dick."
Glowing Elephant "Stonehedge was a sex thing."
... Copied to Clipboard!
OhhhJa
12/04/19 12:53:32 PM
#13:


Vacuum cleaner
... Copied to Clipboard!
shadowsword87
12/04/19 1:02:39 PM
#14:


Something to note about me personally, and it may or may not apply to your niece:
I prefer to learn through projects, and problem solving that way. So I want to do something, and I do research on how other people do it, how it applies to what I'm doing, and then fitting it together.

Kits are useful in that it hands you everything in one go, and gives you some starting information on setting it up, and then tells you broad ideas that may or may not interest.
---
ImmortalityV, "I would like to kiss Icoyar to be honest in a non gay way though"
... Copied to Clipboard!
Yellow
12/04/19 1:08:07 PM
#15:


Get her a brilliant.org subscription.

As a programmer, Arduino is probably going to be too hard for a starter and books are difficult to learn from when it comes to coding.

Brilliant has all kinds of coding tutorials that I've taken (though I usually resort to YouTube tutorials)

---
... Copied to Clipboard!
Mad_Max
12/04/19 1:28:11 PM
#16:


She does have a PC but I'm unsure of the specs. Thanks for all the input, really appreciate it. I'm at work so I'll look at this later but keep it coming and I'll answer what I can to help you all in return.

---
... Copied to Clipboard!
Sahuagin
12/04/19 4:29:52 PM
#17:


random tips but I don't know for sure how good they are for an actual person trying to learn from scratch:

  • probably try to learn Java. it's more or less just basic pure OOP with few if any unnecessary features. avoid things like C++ and JavaScript that have huge amounts of "cruft" in the language that are hard enough to wade through when you're experienced. ultimately though, learn whatever you enjoy learning.
  • learn how to read documentation. could be the single most important thing. whatever language you're learning should have multiple online references containing every last ounce of information you need to know. it isn't even like a wiki or a game manual, where the information you're looking for may or may not be there. the language and framework documentation should contain 99-100% of the information you need.
  • thing is, this kind of assumes you know what a function and class are, and why you would want to look them up... so, somehow, learn about classes, functions/methods, variables, and how memory is laid out for each one. learn about the stack and the heap. learn about garbage collection vs memory management. these are kind of fundamental things that actually you probably won't learn from documentation or just experimenting. it would take a good 1-3 hour lecture to explain it all, at minimum. some of this is what you learn in 2nd year comp-sci, and it's pretty important.
  • try to have programming projects in mind that you want to work on and work on them. do whatever you find enjoyable and don't worry too much when it turns into a mess. managing the mess is the whole point. try to find ways to manage the mess, and read about clean code practices. https://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882


(I suppose this is all really intermediate advice rather than beginner advice. in uni, except for the intro course, all you're really told is "here's a language; learn it". if you can't learn the basics of a language by yourself (by reading the documentation and experimenting with it), you won't get far, I guess.)

here's the progression that university courses use (at least the ones I took):
  • learn basic procedural language concepts (variables, ifs, loops, functions, etc.) (semester 1)
  • learn basic oop language concepts (classes, objects, references, etc. also IIRC they introduce stacks and queues) (semester 2)
  • learn assembly and machine language. convert between the two. convert between assembly and C. understand the C calling convention. write programs in assembly that call C functions. write programs in C that call assembly functions. (this teaches you a lot about the stack.) (semester 3)
  • learn more advanced assembly, writing graphical and interactive programs in pure assembly. (semester 4) (this was fun, but I don't think it was very useful. the previous course was the most useful one.)
  • learn about "abstract data structures" and how to implement and use them. they also taught about the heap here. (semester 3 or 4)
  • "programming paradigms". learn the difference between OOP, functional, and logical programming. implement the same project in all three over the course. (semester 4)
  • from there, learn actual applications of programming, going off in various directions. graphics, databases, scientific computation, etc. (semester 5+)

---
... Copied to Clipboard!
Mad_Max
12/04/19 5:21:12 PM
#18:


Found out she's interested in web design. Doesn't sound very interesting to me but as I said I know next to nothing of this stuff.

---
... Copied to Clipboard!
Sahuagin
12/04/19 8:26:32 PM
#19:


I missed that this was for a xmas present. Thinking about it, the "Head First" series of books are pretty good for learning fast. They come with a variety of different puzzles and quizzes to test you on each chapter and are written in an unconventional visual way to make it easier to absorb the information.

I think like any technical book series, the quality of the books in the series will vary by the author, and the series itself is more about how the information is presented; so each book may be relatively better or worse than the others. I've only read one and a half of these myself (Design Patterns, and something analysis).

Java: https://www.amazon.com/Head-First-Java-Kathy-Sierra/dp/0596009208
Web Design: https://www.amazon.com/Head-First-Web-Design-Accessible/dp/0596520301
HTML + CSS: https://www.amazon.com/Head-First-HTML-CSS-Standards-Based/dp/0596159900
JavaScript: https://www.amazon.com/Head-First-JavaScript-Programming-Brain-Friendly/dp/144934013X
"Learning to Code": https://www.amazon.com/Head-First-Learn-Code-Computational/dp/1491958863

---
... Copied to Clipboard!
shadowsword87
12/04/19 8:27:47 PM
#20:


Hrm, all right.

Web design is for people who want instant feedback on their designs. They make adjustments and can see the results right away.

Sadly, there isn't that... many products for that. You can get her a book on CSS, but that might not be timeless and they're better off honestly looking that up online.

---
ImmortalityV, "I would like to kiss Icoyar to be honest in a non gay way though"
... Copied to Clipboard!
Wii3Kings
12/05/19 1:12:36 PM
#21:


My kids have used the websites code.org and scratch to learn coding for websites and game design. There are many books out there that they can follow and use the websites to build these and create their own.

---
... Copied to Clipboard!
Topic List
Page List: 1