
This seems to be a duplicate entry of likely produced by an importer.
Read : Abstraction and Specification in Program Development, then read all four volumes of Knuth's Art of Computer Programming. There are lots of courses on EdX, and MIT Open courseware.
Undergraduate CS is just the start, a tiny beginning.
The university is the best place to find a girl friend/ boy fried. Also a great place to make long term friends.
(in roughly chronological order. As you can see from the chronology, it took me a long time to start to like OOP.)
Brodie, Thinking Forth
Sedgewick, Algorithms
Abelson & Sussman, SICP
Liskov & Guttag, Abstraction and Specification in Program Development
Norvig, PAIP
It's hard to stick to 5!
* Chapter 3 of http://mitpress.mit.edu/sicp/ -- also chapters 1 and 2.
* _Abstraction and Specification in Program Development_, on design by contract. There's a newer book by the same authors, _Program Development in Java_, but Norman Ramsey says it's not as good. (I've only read the older one.) By Liskov & Guttag. Focuses on abstract datatypes rather than OOP classic. Bertrand Meyer's _Object-Oriented Software Construction_ covers much of the same material, but not as well to my taste in the bits I dipped into.
* Also, _Smalltalk-80: The Language and Its Implementation_ at http://wiki.squeak.org/squeak/64 -- this might be more basic than the above two. The ideas were old to me by the time I got to it, so I don't know how well it'd work for a novice.
* I've seen _A Little Smalltalk_ recommended as an intro to OO and it looks plausible: http://www.littlesmalltalk.org/index.php?page=the-book -- I haven't read it myself.
These had high I-want-to-read-itosity, I thought:
Abelson and diSessa, Turtle Geometry
Abelson and Sussman, Structure and Interpretation of Computer Programs
Aho and Weinberger and Kernighan, The AWK Programming Language
Andrew Appel, Compiling With Continuations
Jon Bentley, More Programming Pearls
Jon Bentley, Programming Pearls
Leo Brodie, Thinking FORTH
W. H. Burge, Recursive Programming Techniques
Carriero and Gelernter, How to Write Parallel Programs
A. K. Dewdney, The New Turing Omnibus
Edsger Dijkstra, A Discipline of Programming
Richard Feynman, The Feynman Lectures on Computation
Friedman and Felleisen, The Little Schemer
Friedman and Wand and Haynes, Essentials of Programming Languages [1st edition]
James F. Gimpel, Algorithms in Snobol4
Paul Graham, On Lisp
Philip Greenspun, Philip and Alex's Guide to Web Publishing
Grune and Jacobs, Parsing Techniques: A Practical Guide
Daniel Hillis, The Connection Machine
Kernighan and Pike, The Practice of Programming
Kernighan and Pike, The Unix Programming Environment
Kernighan and Plauger, Software Tools in Pascal
Donald Knuth, Literate Programming
Glenn Krasner (editor), Smalltalk-80: Bits of History, Words of Advice
Susan Lammers, Programmers at Work
Wm Leler, Constraint Programming Languages
Liskov and Guttag, Abstraction and Specification in Program Development
Peter Norvig, Paradigms of Artificial Intelligence Programming
Chris Okasaki, Purely Functional Data Structures
Richard O'Keefe, The Craft of Prolog
P. J. Plauger, Programming on Purpose I. (and II and III)
P. J. Plauger, The Standard C Library
Jef Raskin, The Humane Interface
Stuart Russell and Peter Norvig, Artificial Intelligence: A Modern Approach
Toby Segaran, Programming Collective Intelligence
Toffoli and Margolus, Cellular Automata Machines
Niklaus Wirth, Project Oberon: The Design of an Operating System and Compiler
Witten, Moffat, & Bell, Managing Gigabytes
(mostly from my old list at http://wry.me/~darius/personal/books.html)