Teaching Programming Skills via Math Concepts

AI Thread Summary
The discussion revolves around a book that delves into generic programming, optimization, and abstraction through the lens of traditional mathematical algorithms. It emphasizes the importance of generalizing ancient algorithms, such as those for finding the greatest common divisor (GCD), and highlights the relationship between abstract algebra and generic programming. The book also covers mathematical techniques for organizing knowledge about algorithms and data structures, showcasing how theoretical insights can enhance practical programming implementations. Examples are primarily in C++, but the concepts are adaptable to other programming languages, making it relevant for a broader audience interested in programming and mathematics.
Messages
15,446
Reaction score
10,145
Got this for Christmas and its quite interesting to read:

https://www.amazon.com/dp/0321942043/?tag=pfamazon01-20

The basic premise of the book is to explore the principles of generic programming, optimization and the mathematical concept of abstraction using traditional mathematical algorithms.

Examples are in C++ but could be easily adapted to other common languages.
 
Technology news on Phys.org
Sounds interesting... Let us know what you think as you go through it. From the Amazon description of the book:

Amazon said:
You will learn about

  • How to generalize a four thousand-year-old algorithm, demonstrating indispensable lessons about clarity and efficiency
  • Ancient paradoxes, beautiful theorems, and the productive tension between continuous and discrete
  • A simple algorithm for finding greatest common divisor (GCD) and modern abstractions that build on it
  • Powerful mathematical approaches to abstraction
  • How abstract algebra provides the idea at the heart of generic programming
  • Axioms, proofs, theories, and models: using mathematical techniques to organize knowledge about your algorithms and data structures
  • Surprising subtleties of simple programming tasks and what you can learn from them
  • How practical implementations can exploit theoretical knowledge
 
Dear Peeps I have posted a few questions about programing on this sectio of the PF forum. I want to ask you veterans how you folks learn program in assembly and about computer architecture for the x86 family. In addition to finish learning C, I am also reading the book From bits to Gates to C and Beyond. In the book, it uses the mini LC3 assembly language. I also have books on assembly programming and computer architecture. The few famous ones i have are Computer Organization and...
What percentage of programmers have learned to touch type? Have you? Do you think it's important, not just for programming, but for more-than-casual computer users generally? ChatGPT didn't have much on it ("Research indicates that less than 20% of people can touch type fluently, with many relying on the hunt-and-peck method for typing ."). 'Hunt-and-peck method' made me smile. It added, "For programmers, touch typing is a valuable skill that can enhance speed, accuracy, and focus. While...
I had a Microsoft Technical interview this past Friday, the question I was asked was this : How do you find the middle value for a dataset that is too big to fit in RAM? I was not able to figure this out during the interview, but I have been look in this all weekend and I read something online that said it can be done at O(N) using something called the counting sort histogram algorithm ( I did not learn that in my advanced data structures and algorithms class). I have watched some youtube...
Back
Top