LogFAQs > #931104801

LurkerFAQs, Active DB, DB1, DB2, DB3, DB4, Database 5 ( 01.01.2019-12.31.2019 ), DB6, DB7, DB8, DB9, DB10, DB11, DB12, Clear
Topic List
Page List: 1
TopicMy niece is getting interested in coding. Any tips for Xmas gifts?
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!
Topic List
Page List: 1