Here you go: The Art of Computer Programming by Donald Knuth. Start from page 1 and read the entire thing, all 4 volumes, before you try to do any computer programming. You could make mistakes, otherwise.
The Art of Computer Programming per darsi un tono da Nerd Alfa
What's bolted some bread... You lit bread on fire? That's fucked up.
I gotta read this: https://www.amazon.com/dp/0321751043/ref=cm_sw_r_cp_apa_glt_fabc_EY5S5GGZS8JSRTJ1RXA6 (I have 1-3 I read the first chapter, get excited, piss my pants and forget who I am thusly can't make progress /s)
I've started reading and working through The Art of Computer Programming by Donald E. Knuth. I'm not even done with the first volume yet, but so far so good.
I would recommend reading SICP first (it is freely available online). There is no need to wait. You should be able to understand it even as a beginner. Whereas TAOCP (which is fairly pricy) can wait until you have more time and money.
That said, I can only base my opinion on my own experience. I first picked up SICP after I started working professionally. I found the experience eye-opening, and I believe that I am a much stronger developer for having read it. I often wish that I had read it earlier - I might have chosen different course-work or even a different graduate program if I had. However, the book is a bit famous for its bi-modal rating on Amazon - lots of 5-star and 1-star reviews. I believe the majority of the 1-star reviews come from students who were forced to use it in school and are upset that it didn't teach them how to do "useful" things like build websites or write video games. It's possible that if I had read it earlier, I might not have appreciated it.
Hope that helps.
Depending on how much you like/hate your boyfriend (this works if you like or hate him a lot)
​
A more budget friendly book, "Coders at Work", a book of interviews with 15 different coders. Fairly light reading but really interesting if you like the culture of software development.
Sorry for the late bump to this - but I just thought of a set of books that I bought during my M269 studies, mostly as a self gift rather than serious study material - but it is basically the source of most of the knowledge imparted in M269:
You can buy the volumes separately (and probably, ahem, find digital copies somewhere), so don't be too alarmed at the price.
It is probably a step above what M269 teaches as these are serious academic volumes, and assume a decent mathematic background. I found some parts tough to read, but I found that they complimented the M269 material really well, and could make a decent attempt at understanding it in most cases.
The art of programming is an excellent set
The Art of Computer Programming, Volumes 1-4A Boxed Set https://www.amazon.com/dp/0321751043/ref=cm_sw_r_cp_api_i_9Y2E253V1DGKFSFXRRMN
Knuth, Art of Computer Programming
https://www.amazon.com/Computer-Programming-Volumes-1-4A-Boxed/dp/0321751043
https://www.amazon.com/Computer-Programming-Volumes-1-4A-Boxed/dp/0321751043
Well, there is a guy named Knuth that disagrees a bit with you.
One set of books will do it: https://www.amazon.com/Computer-Programming-Volumes-1-4A-Boxed/dp/0321751043/
I have most of these books.
The Art of Computer Programming
The Art of Computer Programming is dense. It is deep. You can likely put off this one. It should be a goal to be able to get through it though.
Introduction to Algorithms
Introduction to Algorithms, I don't have it. All I know is that it does come highly recommended.
Code Complete
Code Complete is excellent. Well written, it feels a lot shorter than it is. It will get you thinking about every step of the software development process.
The Pragmatic Programmer
Another one I don't have but gets recommended time and time again.
The Mythical Man Month
The Mythical Man Month is less directly relevant. It will go over meta issues in software development.
Don't Make Me Think
Don't Make Me Think is also not about code itself, but about design. Because if no one uses your application, does it matter if you made it?
if you are hardcore and have a year: https://www.amazon.com/Computer-Programming-Volumes-1-4A-Boxed/dp/0321751043
Check out "The Art of Computer Programming" by Donald Knuth.
Maybe you would prefer "working knowledge" over "solid grasp". My point is that the math known and used daily is well beyond basic "arithmetic".
If you ever have the time, I recommend you read the bible of programming, Knuth's TAOCP. The math inside may surprise you. Does it have combinatorics, eigenvalues, integrals, fourier transforms, euler totients and more? You bet! Does it tell you that the factorial is readily extended to non-integers, eh... not so much. An example more relevant to the fields listed above, lets say I have some user data that needs to be stored and I want to be able to sort/search/join on certain functions of the data. What is the best way to store the data and what are the runtime complexities for the queries I need?
The Art of Computer Programming: Teaches you how to write algorithms and optimize, using a low-level assembly programmming approach.
Isn't it insane that you can get, like, actual computers for less than the price of a boxed set of books (at list price)? The Canadian price is looking more fair, highlighting how insane it is that publishers charge so much.
I have to buy books from my college bookstore (because financial aid pays for them) and CLRS cost like >$100 last semester. amazon.ca lists it for $57 CDN. If they can make a profit on $57 then how on earth are they able to pad that with more than $40 of additional profit?!
Right right! Then by ALL means go for it! It just seems like more and more people are like "I'm not a 'real' programmer unless I know assembly". I mean go ahead and read https://www.amazon.co.uk/Computer-Programming-Volumes-1-4A-Boxed/dp/0321751043 if you're really keen.