I have read ALL the comments below. They are ALL excellent.
I have a BS in Engineering, 1976, with only Fortran IV from the card key-punch days. Ugh! Worked on a defense software program and learned JOVIAL and VAX/VMS at work and C and some Unix at home. Prior, I had read Wirth's Algorithms + Data Structures = Programs. Pascal = JOVIAL = ADA.
C seemed to have the real power with access to the underlying computer via & and *. C++ appeared to fix many of C's short-comings and added many concepts (RAII). Eventually, C -> C++ -> Java.
With GNU Project and Yet Another Compiler Compiler (YACC), languages proliferated. Without a CS degree, and all the new languages, I backed off programming and switched to medicine (MD).
Years later and retired, I found that I really like sw.
I realized that I had gone to, possibly, the only college in the US that did not have C/Unix. You folks that studied C/Unix are very fortunate, and I envy you.
From 01 July 2013 to 30 June 2014, I read 3060 pages on sw.
Soon after, a legacy OS company came out with a major change to their paradigm, so I switched to Linux Mint.
I love C, Unix, Linux, Linux Mint, C++.
This past summer, I had two (2) weeks to teach my 12yo grandson, my son's son, programming. We took an old laptop, installed a new 500gb hd, installed Linux Mint 17.3-64bit, and off we went.
In 8 days, he was creating his directory structure, text editing, compiling (gcc name.c -g -o name), and debugging.
It was great fun. I bought him a used copy or K&R and K&R2.
Next summer I am teaching my other grandson, my daughter's son, the same stuff.
I read K&R in 1983. In 2013 I reread K&R. I read K&R2 every year (4 times now).
There are many ways to study, some more efficiently than others. Just do it.
My technique is to read the entire book, highlight text, take notes, work examples, and write programs.
My first short-term suggestion for a newbie is to buy and read "The C Programming Language", 2nd Edition, by Kernighan and Ritchie (K&R2).
My second short-term suggestion is to download for free and install a free Linux distribution. I like Linux Mint.
My third long-term suggestion is to pursue a degree in computer science (CS), or computer engineering from an accredited college.