Has anyone had any experiences learning different mathematical techniques using Mathematica? I was wondering if it might be more enjoyable to learn some areas without the manual arithmetic usually involved in school. Any recommendations on books or courses appreciated, thanks!
A Software Engineer’s Adventures in Learning Mathematics
141–150 of 227 posts
Re: A Software Engineer’s Adventures in Learning Mathematics
#142The comments are amusing. It seems there's a popular opinion that to be an engineer requires a higher understanding of mathematics than what most mere mortals require. My understanding was that to call yourself an engineer one must be capable of building robust and efficient things, whether that thing is a plane, or a bridge, complex software, even a website, matters not, so long as it is robust and efficient. The de…
> It seems there's a popular opinion that to be an engineer requires a higher understanding of mathematics than what most mere mortals require. > build an maintain an API in Go Unfortunately, a much larger proportion of engineering jobs require mathematics than you make it seem. Software engineers seem to forget that engineering includes designing planes, bridges, cars, lasers, electrical circuits, materials, and a m…
The point is, the engineer who designs the plane only needs to know enough math to design said plane. The engineer who designs the bridge? The same. Theoretically, they're supposed to understand a great deal. Realistically, the degree to which technology automates the mundane task of calculation could very well mean that their daily application and actual understanding of mathematics is overestimated anywhere from slightly to greatly. This will be especially true as time goes on and the tools of the trade become even more advanced.
To design a web application that operates efficiently in terms of cost, response time, and required maintenance, along with a number of other variables, requires good software engineering. Once upon a time, this required strong mathematical aptitude. Now, it requires more of an understanding of the language used for the design of the application itself, an ability to justify why one approach should be faster through algorithm analysis and efficient testing, logical thinking, etc, it certainly doesn't require the mathematical aptitude to design your own cryptography protocol whenever you can simply use a library demonstrated to be safe and reliable, although an understanding of the underlying concepts of how said protocol works might be nice, if anything to understand why you shouldn't roll out your own.
It's not too far off to imagine a near future where the average functionally requires the same degree of mathematical aptitude as today's current web developer.
Re: A Software Engineer’s Adventures in Learning Mathematics
#143I always thought that being an Engineer assumes you have knowledge of mathematics. The way this word is being used in Software ist kind of strange. "I built a blog in php, I'm a Software Engineer" - this feels kind of awkward to me.
The other reason, of course, is that the "software engineer" term comes from a group of people who really wanted the respect that comes with "engineer" but realized that the big three don't get very far, software-wise. (And coincidentally didn't want to do all that icky math stuff. Not to mention much of the icky programming stuff.)
Re: A Software Engineer’s Adventures in Learning Mathematics
#144What I understood after studying CS for over 10 years at a few universities regularly ranked highly at ACM ICPC is that math is unnecessarily obfuscated to most people. There is even an excellent book "Concrete Mathematics" from Stanford that tries to bring fun back to math instead of drying people with some formal stuff without explaining how people over the centuries got to that structure. I honestly believe math l…
This is what drew me to CS over math. I enjoy describing things with code or pseudo code, not difficult to understand equations and math symbols. Also, it is much easier to see the practicality of an equation when presented in code form.
I skimmed SICM (Structural Interpretation Of Classical Mechanics) just to get an idea of how they represented Langrange equations in Scheme and went from there.
Re: A Software Engineer’s Adventures in Learning Mathematics
#145If anyone is interested in how mathematicians think and do proofs there are many helpful books. For example, Mathematical Proofs: A Transition to Advanced Mathematics by Chartrand and others. How to Prove It: A Structured Approach by Velleman. Learning to Reason: An Introduction to Logic, Sets, and Relations by Nancy Rodgers. Elementary Discrete Math books make for great intro to proofs and math thought: Discrete Mat…
Re: A Software Engineer’s Adventures in Learning Mathematics
#146Earlier quoted context omitted.
And that assumption is wrong. You don't need any knowledge in advanced mathematics to engineer many types of software, that doesn't make the creator less of a Software Engineer. Being an engineer means using technology, science, mathematics to solve problems. Well in many cases you don't need math to solve these problems. The word itself as no root in math either, it's based on latin for devise/contrive, sure it was…
>Being an engineer means using technology, science, mathematics to solve problems. That's called practicing engineering. An engineer is a professional practitioner of engineer. You can practice engineering all you want, but if you're not a professional (having received an engineering degree from a certified university), it's dishonest to call yourself one. Honestly, it is elitist. But those of us who obtained our deg…
Re: A Software Engineer’s Adventures in Learning Mathematics
#147What I understood after studying CS for over 10 years at a few universities regularly ranked highly at ACM ICPC is that math is unnecessarily obfuscated to most people. There is even an excellent book "Concrete Mathematics" from Stanford that tries to bring fun back to math instead of drying people with some formal stuff without explaining how people over the centuries got to that structure. I honestly believe math l…
[deleted]
There are far simpler models for formal verification than Turing machines, e.g. Smullyan's top-down tableaux method - you make a simple functional snippet and immediately verify it using mostly general induction and easy-to-understand verification steps that can be almost automated. Going all the way to the Turing level would kill you time-wise to get to anything useful (even preparing description of your JavaScript machine in Turing terms) - Turing machine has infinite time available, you don't.
Not to mention there are some issues with formal logic that might cause you problems (hint: why do medical doctors use counter-factuals and not mathematical logic?)
"Beware of bugs in the above code; I have only proved it correct, not tried it" -- Donald E. Knuth
Re: A Software Engineer’s Adventures in Learning Mathematics
#148This topic comes up every so often. I think my previous comment applies here [1]: I started a Math degree after 16 years of programming without any Math beyond high school (the highest being high school calculus). Most of my work as a software developer didn't require any "higher" Maths. Once I began studying math, including Modern Algebra, Analysis, Graph Theory, Category Theory, etc., I realized I understood many t…
I haven't really found any real world applications of the concepts I've learned, aside from having to hold a meticulously constructed symbolic reasoning world inside my head for a really long time without observational reality confirming it's correctness as a model to describe all things. This makes me pretty good at programming things that are incompletely described, I think, but also explains why Tarski said he was the only sane logician.
I never really hear about autodidacts talking about their experience. It can be really rough most of the time. I literally think it's just luck that I stumble across the right words. I also think it's luck when I manage to understand things and make a connection between them. I have managed to connect such disparate symbols together and maintain that connection strongly for long periods of time (with absolute conviction), that it all really seems like magic when it does work. But, giants, shoulders, yada yada.
Re: A Software Engineer’s Adventures in Learning Mathematics
#149Earlier quoted context omitted.
> 4) Calculus and Linear Algebra are the father and mother of applied math. > You'll save yourself a ton of grief if you learn them first Baby Rudin and Axler are used currently by Harvard Math 55 to teach those subjects. Rudin might not be very didactic (I would be happy to hear about alternatives), but Axler is a fantastic choice.
If you liked Axler, you might check out Abbott's Understanding Analysis, also in the Springer UTM series. I think it covers somewhat less than Rudin (e.g. looking at baby Rudin's contents, I'm pretty sure Abbott doesn't touch Lebesgue integration) but it's a pretty great introductory analysis book IMO.
For a quick intro to Lebesgue integration you can read the beginning of Rudin's "Real and Complex Analysis" or Halsey Royden's "Real Analysis".
I haven't read Axler's book. I liked Hoffman and Kunze's "Linear Algebra"
Re: A Software Engineer’s Adventures in Learning Mathematics
#150This topic comes up every so often. I think my previous comment applies here [1]: I started a Math degree after 16 years of programming without any Math beyond high school (the highest being high school calculus). Most of my work as a software developer didn't require any "higher" Maths. Once I began studying math, including Modern Algebra, Analysis, Graph Theory, Category Theory, etc., I realized I understood many t…