HACKER Q&A
📣 drow_away_acc

Free for 3 months. Need help with plan


Hello HN,

I'm free for some time and want to use this time for something productive. Its like a school break (i'm 16). I have some experience in coding but its been mostly tutorial hell.

Things I am interested in : Low level stuff(systems programming?), solving problems etc

Here is a rough outline of my plan:

  WEEK 1 : python
    How : I intend to follow a book titled "Learn Python 3 the hard way"

  WEEK 2 : numPy, sciPy, pandas, scikit learn, 
    How : Not sure

  WEEK 3 : C
   How : Follow "C, the complete reference, 4th ed"

  WEEK 4 : Data structures and Algorithms
    How : Not sure

  WEEK 4,5,6 : ?

  Other projects I want to do
    - Start a personal website/blog. Static site generators such as HUGO or ZOLO seem good enough.
    - Try Linux From Scratch project. I currently use basic arch with WM. Learning the inner workings of GNU/LINUX systems sounds 
       interesting 
    - Try contribute to FOSS someday in the future 
    - Not sure

 I made this post to receive suggestions. Baseless weekly goals does not sounds like a good idea. If your were to start from scratch  
  how would you structure your learning? 

 What tools, books do you recommend to go through ?
 Please share other tech/life/general tips too.


  👤 hyperific Accepted Answer ✓
Instead of learning how those Python modules work in a vacuum, you could pick a project that utilizes something from each of them. Pick a topic you're interested in and do a deep analysis of it using numpy, scipy, sklearn and pandas. Sprinkle a little matplotlib in there to plot the results.

For example you could scrape a bunch of data off of your favorite subreddit and do a network analysis of all the users. It'd touch on a lot of the packages you want to learn and you'd be learning them for a specific end result. You could even throw the data into Gource at the end for a cool visualization (not that it would be very instructive, but it's cool to watch).

Also it's only 3 months. Just my perspective but I think you'd get a lot more out of it by sticking to one language and learning it really well.


👤 8organicbits
I think you've set the bar too high and I'm concerned you'll burn out with this plan. I'd recommend to pick a focus area and have a project in mind. If you don't have a focus it's too easy to drift and you'll only learn superficially.

Since you mention learning python and C, I'll recommend a couple sites with problems you can work through.

https://www.reddit.com/r/dailyprogrammer/

https://projecteuler.net/ (math heavy)


👤 PaulHoule
I’d say keep the focus on python, try the python course on HackerRank. What kind of math background do you have? both the algorithms stuff and sk-learn would depend on that.

👤 TonyHaenn
I’ve personally always learned better when it’s in service of building something. Pick a language (e.g. python) and build something you’d find useful or interesting.