Best books to study during summer related to programming?

  • #1
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 won't have time to finish 100% of this book

Any advice for me, recommendations, tips, alternatives?
 
  • #2
Your summer sounds to ambitious. I would limit to two books. How to prove it and spivak.
 
  • #3
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.

Princeton does a two-part open online course series about algorithms on Coursera a few times a year, they may have a summer session: https://www.coursera.org/course/algs4partI

I would put off learning combinatorics and learn some discrete math first.
 
  • #4
Your summer sounds to ambitious. I would limit to two books. How to prove it and spivak.

True. I planned on reading those two books first. But I know with a larger load I'd be pressured to work harder/longer and could quite possibly finish 3-4 books if I can keep at it for 8~ hours a day.

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.

Princeton does a two-part open online course series about algorithms on Coursera a few times a year, they may have a summer session: https://www.coursera.org/course/algs4partI

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 definately add it to my TODO list.

Thanks
 
  • #5
Just make sure that understanding is key. I usto rush through books but I noticed spending a bit more time on just 2 books helped my understanding a lot more.

You could also just study yow to prove it and tackle Rudin. at least that is what my physics friend did.

Have you taken a discrete math course?
 
  • #6
Just make sure that understanding is key. I usto rush through books but I noticed spending a bit more time on just 2 books helped my understanding a lot more.

You could also just study yow to prove it and tackle Rudin. at least that is what my physics friend did.

Have you taken a discrete math course?

Nope. Never taken any discrete math before.
 
  • #7
How to prove it and discrete math would be the better investment imo. Discrete math has a lot of applications in cs. However, discrete math can be frustrating.
 
  • #9
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 a book on probability/combinatorics <--- 100%

Try to find a probability book that emphasizes simulations.

The book "Constructive Combinatorics" by Stanton and White https://www.amazon.com/dp/B000PC10BG/?tag=pfamazon01-20 is short and emphasizes algorithms

-Read Introduction to Algorithms <-- probably won't 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.
 
  • #10
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.



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



Try to find a probability book that emphasizes simulations.

The book "Constructive Combinatorics" by Stanton and White https://www.amazon.com/dp/B000PC10BG/?tag=pfamazon01-20 is short and emphasizes 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
 

Suggested for: Best books to study during summer related to programming?

Replies
7
Views
597
Replies
3
Views
1K
Replies
4
Views
191
Replies
3
Views
278
Replies
3
Views
652
Replies
10
Views
668
Replies
12
Views
1K
Back
Top