Learn to use a Unix system at the command-line along with a text editor and start writing BASH program. The command-line provides exposure to the Unix philosophy, files/directories, options/arguments, variables (environment), I/O, meta-characters and documentation (via manpages). First programs are written in BASH. BASH supports structured programming (sequence, if, while, functions) and an introduction to data structures/algorithms via arrays. After BASH I'd move onto C (using Ritchie and Kernighan for the text) with extensive coverage of the STDC Library. From this point there are numerous forks in the road.
The "hello, world" program writtin in BASH.
$ echo hello, world <ENTER>