Discrete Best books to study during summer related to programming?

I've been programming for 10 years and have done many free lance projects. I know basic mathematics (what an engineering student would know) but I want to move into more theoretical fields for a hobby. I am devoting 4 months of my summer this year to studying mathematics. I will be studying for 8 hours a day on average.

My goal is to become better at programming algorithms, and the only thing that stands in my way is mathematics. (I already know how to program in general, i.e. object oriented, functional, procedural, basic algorithms & data structures, knowledge of many libraries and frameworks and other necessary topics like multithreading, debugging, etc etc)

My plan for the summer is as follows. I would like suggestions from members here on how I can best use my short time.

-Read How to prove it: a structured approach <--- 100%
-Read spivak calculus <-- will probably skip some of late chapters, after integration finishes
-Read a book on probability/combinatorics <--- 100%
-Read Introduction to Algorithms <-- probably wont have time to finish 100% of this book

I'm studying electrical engineering and I'm a bit more of a math person than a programming person, but I think a book on lambda calculus might interest you if you're looking for pure math stuff more on the side of CS. I've been teaching myself the last 2 months, and while it hasn't necessarily taught me anything about programming techniques directly it certainly has given me some really interesting new ways to think about computers and programs and I have noticed my fluency with programming improve a fair amount as a result.

I'm studying electrical engineering and I'm a bit more of a math person than a programming person, but I think a book on lambda calculus might interest you if you're looking for pure math stuff more on the side of CS. I've been teaching myself the last 2 months, and while it hasn't necessarily taught me anything about programming techniques directly it certainly has given me some really interesting new ways to think about computers and programs and I have noticed my fluency with programming improve a fair amount as a result.

I would put off learning combinatorics and learn some discrete math first.

Interesting. I've dabbled with Haskell, apparently it's pure lambda calculus. But I think that learning more discrete math would be more useful for me than lambda calculus- but i'll definetly add it to my TODO list.

My goal is to become better at programming algorithms, and the only thing that stands in my way is mathematics.

What kind of algorithms do you want to program?

I've looked through the textbook on algorithms that students at the local university use. It emphasizes things like sorting and hashing. It doesn't go much into algorithms related to calculus. For algorithms related to calculus, you would need a book on "numerical methods".

The algorithms related to calculus are a different field than the algorithms related to linear algebra. For algorithms related to linear algebra look at books like "Matrix Computations" by Golub and Van Loan.

-Read How to prove it: a structured approach <--- 100%
-Read spivak calculus <-- will probably skip some of late chapters, after integration finishes

I've often seen those books recommended but I don't know if they emphasize algorithms.

-Read Introduction to Algorithms <-- probably wont have time to finish 100% of this book

In 4 months, you probably won't have time to cover a quarter of the material you listed.

Programming can be a valuable aid to learning mathematics, but if the goal is to learn the mathematics, don't get distracted by irrelevant perfectionism in coding - such as improving the appearance of a graph, making a interface look fancy. Just use programs to understand the math.

I've looked through the textbook on algorithms that students at the local university use. It emphasizes things like sorting and hashing. It doesn't go much into algorithms related to calculus. For algorithms related to calculus, you would need a book on "numerical methods".

The algorithms related to calculus are a different field than the algorithms related to linear algebra. For algorithms related to linear algebra look at books like "Matrix Computations" by Golub and Van Loan.

I've often seen those books recommended but I don't know if they emphasize algorithms.

In 4 months, you probably won't have time to cover a quarter of the material you listed.

Programming can be a valuable aid to learning mathematics, but if the goal is to learn the mathematics, don't get distracted by irrelevant perfectionism in coding - such as improving the appearance of a graph, making a interface look fancy. Just use programs to understand the math.

Thanks, I'll check the book out if I'm able to work according to schedule. I don't see why I won't be able to cover at least 5 books in the summer, most of my semesters are 4 months long and have me learning 5-7 books in this time