83

I'm 13 years old and in 7th grade. I'm currently in Algebra 1, and I have fallen in love with both math and programming.

When I came upon Mathematica, it was awesome. My two favorite things fused into one, easy to read and understand, programming language. Immediately I had my pencil in hand, ready to write it down on my Christmas wishlist. But then, I thought about it a bit. And that is why I am here today.

Can I really use Mathematica?

From some of the questions and answers on this site, and looking at different snippets of code here and there, it seems like the math involved to do anything fun or practical with Mathematica is way beyond my level. So my question is:

Can I program in Mathematica with only a basic understanding of math?

gwr
  • 13,452
  • 2
  • 47
  • 78
Nico A
  • 3,634
  • 1
  • 15
  • 28
  • 1
    Yes, you can! However, some understanding of math has proved to be helpful in many situations. – eldo Nov 21 '15 at 13:00
  • 8
    You can use Mathematica as a generic programming language with a very basic math background. Math knowledge is not a requirement. – shrx Nov 21 '15 at 13:08
  • 7
    Welcome! This might elicit subjective answers. Having said that: Yes, if you had fun already, please continue by all means to use it! At your age, I was programming in PASCAL and would have wept for today's software features (well, that and a color monitor). Financially, there are also excellent free/open source languages/IDEs around. In any case, go ahead and explore! The math will come to you by itself, hands-on experimenting is a superb way to learn. – Yves Klett Nov 21 '15 at 13:11
  • Welcome to Mathematica.SE! I suggest the following: 1) As you receive help, try to give it too, by answering questions in your area of expertise. 2) Take the tour! 3) When you see good questions and answers, vote them up by clicking the gray triangles, because the credibility of the system is based on the reputation gained by users sharing their knowledge. Also, please remember to accept the answer, if any, that solves your problem, by clicking the checkmark sign! – Michael E2 Nov 21 '15 at 13:23
  • 6
    Mathematica is a general-purpose language with lots of support for mathematics. It doesn't really require deep understanding of maths itself, although it is probably most fluent at working on maths thanks to its historical origins. On the other hand, there are fields of programming where Mathematica is not necessarily the right tool. For instance, programming interactive games is probably harder and more restrictive in Mma than it needs to be. – kirma Nov 21 '15 at 13:27
  • 5
    @YvesKlett It's noteworthy that Wolfram Cloud (http://www.wolframcloud.com/) provides free-tier Wolfram Development Platform (essentially Mathematica notebook interface on the browser) and more learning-oriented Wolfram Programming Lab options. These fully functional, but computing time and memory limited options are good to get a feeling of the "real thing" - which as a home license is may seem "cheap" to most of us, but is still quite an investment if you find out it's not your thing. I would suggest playing with those a bit before considering a purchase. – kirma Nov 21 '15 at 13:36
  • Related: http://mathematica.stackexchange.com/questions/733/what-is-the-best-mathematica-tutorial-for-young-people – Michael E2 Nov 21 '15 at 13:44
  • 1
    Also related: http://blog.stephenwolfram.com/2012/10/kids-arduinos-and-quadricopters/ -- of course, it helps if your dad created Mathematica. – Michael E2 Nov 21 '15 at 13:46
  • 1
    I think you should take a good look at the new introductory book written by Stephen Wolfram, available online [link-to-book]. I think it is very well written. If what Wolfram discusses it the new book seems interesting to you, then I think you can conclude you will like Mathematica. – m_goldberg Nov 21 '15 at 15:16
  • 4
    @TreFox Since it is addressing students and young people, I found this reasoning given by SabioAcademy on "Why Mathematica (as a first programming language)" quite informative. It may help to get Mathematica up on your wish list. – gwr Nov 21 '15 at 15:27
  • 2
    You might want to add one more question: "what can I do with Mathematica that I couldn't do (or that would be much more difficult) with another programming language?" There are many programming languages out there that can be better for general-purpose programming. I don't think anybody would write a Web site or device driver in Mathematica, for instance. And also "is this tool to powerful for me?" Woodworkers don't start out with a shop full of power tools, but with hand tools to better understand the material, and then work their way up. Same here. – Kevin Keane Nov 21 '15 at 18:04
  • 3
    Fascinating question coming from a 7th grader. Interesting responses and comments as well. But it all seems far off-topic for this particular site. (I'm leaving off with this comment for now. Not voting to close without giving it more thought, due to clear popularity of the thread and desire not to discourage posts from younger people.) – Daniel Lichtblau Nov 21 '15 at 21:29
  • From reading the Mathematica blog, it seems like they making a real push for using Mathematica as a learning tool for K-12. Both for teaching demos and students. – cspirou Nov 21 '15 at 21:38
  • @DanielLichtblau Go ahead and closevote if you feel it to be off-topic. Being a Code Golf SE user, I'm quite used to my questions being closed :) But in all seriousness, why do you think it is off-topic? It is, after all, about mathematica. I had this post in mind as the MSE equivalent of a "soft question". Hopefully I can rephrase the question to make it less subjective or off-topic. – Nico A Nov 21 '15 at 21:49
  • The charter, as I understand it, is for help with specific problems, usually involving some amount of preliminary code or at least examples with desired results indicated in cases where the poster does not have a good notion of how to proceed with coding. This strikes me as more in the "meta" region for this particular forum. It is fine, in my view at least, for Wolfram Community. (I should add that my view counts, to the extent that I am what amounts to a junior moderator there.) – Daniel Lichtblau Nov 21 '15 at 22:03
  • 1
    Hi TreFox; Get it if you can! I learned everything I know about math from sci calculators and Mathematica. Maybe I should have not used that as an example...Anyhow, your age is the time to absorb everything in sight. Only 13? Bravo! – bobbym Nov 22 '15 at 18:48
  • @eldo hah, the best answer in the whole thread :) seriously. I also get the sense of Peltios answer, like "don't become a Mathematica junkie" - a very valid point, but this one is art :D – noncom Nov 22 '15 at 23:03
  • 1
    I started with Mathematica when I was 13. However, a Ti-83 will be more useful, I got one around that time, and that is how I learned programming and more math. – Per Alexandersson Dec 01 '15 at 02:45
  • 1
    Obviously you'll get lots of positive responses from the choir at a Mathematica forum. So I will add just one note of caution: make sure that when it comes time that you not discount working at being adept at symbolic integration, even though Mathematica (or Mathematica + Rubi) will almost always be better at it than you. Just as you should not discard learning how to do arithmetic by hand and in your head, even though you have a calculator. – Mark Adler Jan 04 '16 at 06:04
  • Rephrasing @MarkAdler, Mathematica is a great tool you can learn and marvel for ever, and I see it as a great investment. Even at your age? Yes, I think so, and you will get only older and more capable. But nurture caution about ... I don't know, over depending on it. After all, you have to approach a problem somehow, in your head and/or on a paper, before entering it into the system and start exploring. – BoLe Jul 18 '16 at 09:47

10 Answers10

57

Absolutely! The questions here often depend on advanced math because Mathematica can be a very useful tool for doing more advanced mathematics, but that's hardly the only thing it's good for.

I got a copy of Mathematica as a birthday gift from my grandparents when I was only a couple years older than you are. Like you, I was interested in programming and math, but had pretty limited knowledge of both. I had written a few dippy little games in Pascal, and was just about to take Calculus.

To say that Mathematica is the best gift I ever got wouldn't do it justice. I learned quite a bit about programming from it, and found the lessons I'd learned were really helpful when it was time to learn other computer languages, like Lisp, Python, and even Fortran and C++. I learned even more about math, because it came with a huge book that described all the mathematical functions it contained, going way beyond the familiar cosines and logarithms to mysterious and exotic functions like the the Gamma Function and the Zeta Function. The book is no longer available, sad to say, but it's been replaced with a ton of online documentation, and it looks like they're working on a new introductory book as well.

I think I probably learned more math playing with Mathematica that year than I did in class, and it was pretty helpful when it came time to do my homework too, making it easy to double-check my work, plot functions, and sometimes cheat figure out the answer when I was stuck.

That was more than 20 years ago. Mathematica has gotten a lot cooler since then, and I've used it continually that whole time. It was invaluable in college math and physics classes, in physics graduate school, and in my new career as a health economist.

So I say go for it!

Pillsy
  • 18,498
  • 2
  • 46
  • 92
  • Thank you for your answer! May I ask what that "huge book" was, and if it is still in print today? – Nico A Nov 21 '15 at 13:45
  • 2
    @TreFox I'm pretty certain that book was The Mathematica Book (http://www.wolfram.com/books/profile.cgi?id=4939). Nowadays this book is of limited usefulness since they stopped printing it (on paper) after Mathematica version 5 (now we are over a decade and five major versions later). Online documentation is the substitute for that, almost 1500-page book. Printed documentation would these days take something like 7000 pages if I remember right; 1500 pages was a bit unwieldy, 7000 would be almost always completely impractical! – kirma Nov 21 '15 at 13:58
  • 1
    The closest substitute for The Mathematica Book (apart from online documentation) these days is probably Wolfram Mathematica Tutorial Collection (downloadable in parts at https://www.wolfram.com/learningcenter/tutorialcollection/). Core language is definitely one to start with; although it's likely nowadays you would want to take a look at more informal "An elementary introduction to the Wolfram Language" (http://www.wolfram.com/language/elementary-introduction/). – kirma Nov 21 '15 at 14:07
  • 1
    @Pillsy I have to ponder: were there (non-university) student discounts back in the day? Home licenses are a relatively recent invention. I haven't used Mma more than 20 years, but for the first 15 years or so that was university or university student licenses. – kirma Nov 21 '15 at 16:29
  • 2
    @kirma Back then, high school students were eligible for the same student discount as college students, which is still how I think it works. I remember the student edition back then wouldn't make use of the FPU in our 486 PC, though (and man all this makes me feel old :D ) – Pillsy Nov 21 '15 at 17:17
  • 3
    @Pillsy ha, welcome to the shrinking pool of users who even know what an FPU used to be good for ;-) – Yves Klett Nov 21 '15 at 22:02
36

Only if taken with a grain of salt.

First of all, no man cries stinking fish (according to the first Google hit this is the translation of a saying that literally goes "do not ask the innkeeper if his wine is good"). In here you will find mostly - if not only - Mathematica enthusiasts, so the answer to your question will most certainly be "Hell yeah!!!".

Mathematica is a wonderful environment to do science - not only math - and you will find it useful in many ways in the years to come. Consider it as an investment. Wolfram did a very good thing (marketing-wise it's more a pusher's move... :-) ) with the Home edition, so that it is now affordable to almost everyone.

Here's one possible downside of using Mathematica: you might find yourself relying on it a little bit more than you should. Mark my words, young apprentice: the most delightful moment when studying is not when you understand something that appeared difficult at first; it's when you finally understand it after having figuratively banged your head against the wall for days. That satori moment is something that will be with you for the rest of your life. Mathematica can save you from that apparently useless bashing, but it's that banging against the wall that brings new order in your mental architecture.

You will find yourself tempted to use Mathematica as a shortcut too often. Try to resist the urge to cheat figure out answers before said banging has taken place and you will find in Mathematica a powerful ally. Indulge in getting the right answer in the shortest possible time, and Mathematica will be an unnecessary crutch, an impairment along your learning path.

Of course, once you have reached the enlightenment for a given subject, Mathematica will be invaluable in letting you efficiently explore different scenarios, to cement your understanding. But do not underestimate the therapeutic value of a good head-banging.

I might be the only one in here to think that the best way to use Mathematica is to use it the least possible amount, so take my advice, too, with a grain of salt.

EDITed to avoid lawsuits :-), fixin some of my lousy grammar and to remove the impression that studying is a gory activity.

Peltio
  • 5,516
  • 3
  • 27
  • 27
  • 11
    Much as I like Mathematica, sometimes mulling over a problem with only pen and paper in hand can be a more educational experience than just throwing the mess into the front end and hope Mathematica sorts it out. Nevertheless, after what you call "head bashing", you might be able to appreciate more what the program is doing on your behalf. – J. M.'s missing motivation Nov 21 '15 at 16:37
  • @TreFax You can use and program in Mathematica. Make use of typical commands from Help in each area..And good luck for exploration and adventure! – Narasimham Nov 21 '15 at 17:13
  • 5
    Yours is very good advice, although a counterargument might go that, by using powerful tools, one gains capabilities one wouldn't otherwise have. This brings more difficult and interesting problems into reach, which may be valuable in its own right, depending on one's objectives. None of us can afford the time to become experts in everything, even though you are absolutely right that there is much to be gained by trying. Overall I think that it's necessary to exercise careful judgment in this situation, and I can't say I remember being particularly good at that at 13 years old. – Oleksandr R. Nov 21 '15 at 22:19
  • 2
    +1 for "You will find yourself tempted to use Mathematica as a shortcut too often". I often refer to Mathematica as my "silicon overlord" because it has robbed me of all self-sufficiency and I am bound to its will. I can't really do math anymore, I just know how to use Mathematica. (Only moderately exaggerating) – Meni Rosenfeld Nov 21 '15 at 23:26
  • 1
    As a non-native speaker, I must have underestimated the meaning of "bashing" ("to break one's head on a problem" is what I had in mind). Perhaps a simple "banging" is better suited when communicating with a 13 yr old. :-). I like to think at ideas as tetris pieces: at some point in the study of a subject one ends up with a messed-up configuration where there seems to be no hope. But with a bit of figurative banging against a wall, the pieces can manage to arrange themselves in the perfect configuration. That's what I call satori. (Kid, please do not smash your head physically against a wall!) – Peltio Nov 22 '15 at 04:03
  • 5
    @OleksandrR. I see your point. The ancient Romans used to train with weapons much heavier than those used in battle. My advice is: avoid MMA as long as possible during training (when learning), but when in battle (when applying what you learned - more so when working) take the most advantage you can from that powerful tool. From 13 to 18-21 I believe one should stress the brain the most one can. After that, it's too late to learn certain tricks (but luckily one can still rely on MMA! :-) ) – Peltio Nov 22 '15 at 04:24
  • "From 13 to 18-21 I believe one should stress the brain the most one can. After that, it's too late to learn certain tricks." - we'll have to disagree on that point; a vast amount of the mathematical knowledge I've used here and there was picked up way after I left school, in my case. (Though I've already been using Mathematica at that time, I'm sure it wasn't what pushed me to get deeper into math as a hobby.) – J. M.'s missing motivation Nov 22 '15 at 07:21
  • And you should have seen how smart we were before the invention of pencils, paper or blackboards! We had to bash our heads against the wall of a cave. If you think that is easy, just try it. But only bash when you really have to. Don't let bashing turn into a crutch. – Ralph Dratman Nov 24 '15 at 22:59
  • 1
    @J.M. I think the "13 to 18-21 tricks" were referring a bedrock one forms, or doesn't, with all the appropriate nooks and hooks one is later able to append new knowledge to, or isn't able to. – BoLe Jul 18 '16 at 10:43
  • I want to thank you again for this advice (3 years after the answer!), because my experience has shown this answer to be incredibly true. I put off learning calculus of variations for much longer than I needed to because I could throw EulerEquations at it and hope for the best. But now that I'm really studying it, it's incredibly beautiful and applicable. I've come back to this answer for similar issues over the years. Thank you. – Nico A Jun 14 '18 at 01:16
  • @TreFox Well, I am glad to have been of assistance. Calculus of variation at 16, eh? You'll love Noether at 18. :-) – Peltio Jun 27 '18 at 09:57
16

There are available free sources to get started and learn how to use Mathematica.

Take advantage of the Wolfram Programming Lab. It is an interactive way of learning the wolfram language.

https://lab.wolframcloud.com/app/

You can also set an account and get free access to the wolfram cloud. https://mathematica.wolframcloud.com/app/

2015: Take advantage of your student status to Annual Student Edition for approx 70 USD (There are other options available). You'll need proof of student status, which your school administration will print for you. Double check, the reason for having the annual edition instead of the regular is that you are entitled to any upgrades on the version during the year.

https://store.wolfram.com/view/app/mathematica/student-annual

You can view the videos from Cliff Hasting found in https://www.wolfram.com/broadcast/screencasts/handsonstart/

You can find his book for purchase online.

Stephen Wolfram's new book "An Elementary Introduction to The Wolfram Language" will be available before XMAS. I'm sure it will be a good addition to your christmas wishlist.

The book is already available on-line for free, click the link below.

An elementary introduction to the wolfram language

Zviovich
  • 9,308
  • 1
  • 30
  • 52
16

I started using Mathematica at age 60. I have to say that becoming fluent in Mathematica (then not yet called the Wolfram Language) was one of the hardest, and most fun, technical challenges I've ever undertaken. Learning to express my not-so-great existing math understanding in this rather mysterious Lisp-like language was a huge amount of work.

Today, with the maturity that comes with turning 64 (the old-age equivalent of becoming a teenager) I can say that the payoff has been worth three or four times the effort. As a result of looking things up in Wikipedia and trying them in Mathematica, I've become familiar with ideas I would have found unapproachable on my own.

As an example, consider the concept of Gaussian curvature. This interesting formula for measuring the stretched-ness of a surface at a given point illustrates why one can bend a sheet of paper in one direction with perfect ease, but cannot do so in two directions at once without stretching the sheet -- which is pretty much impossible with paper. Now, Saran Wrap -- that is stretchable. After reading the article in Wikipedia, I easily coded my own gaussianCurvature function, and put it to good use in pursuit of gluing together two or more pieces of paper along lines that curve in the (bent!) planes of the sheets.

As if that were not interesting enough, it turns out that the very same concept is used in General Relativity to check whether spacetime is curved in a way that creates internal stresses in our 3-dimensional materials, known as tidal forces. Of course it helped a little (!) to watch a few hours of Leonard Susskind's superb introduction to General Relativity from Stanford University on youtube.

And here I must disagree with some other answers and comments about not using Mathematica "too much." Granted, I may not be made of the same strong stuff from which real mathematicians are built. But for me, the more I use Mathematica, the more math I learn.

Edit: I notice that I have not answered your question, but... yes, I think you can make great use of Mathematica as long as you don't get overwhelmed by the challenges of really learning it, deeply. That should not happen, but if it ever does, please feel free to email me, ralph.dratman@gmail.com, and I will be happy to offer any help I might be able to give.

Ralph Dratman
  • 1,250
  • 12
  • 20
8

If you are planning a technical career you would be very wise to get Mathematica now. There is a lot to it and much to learn so you have a great advantage if you can explore without pressure now and learn the basics and more, rather than having to learn it under pressure in some college course.

There are many ways of using Mathematica but for myself I think of it much less as programming and more as writing mathematics on a piece of paper. The Mathematica notebook is my piece of paper.

You can use Mathematica in simple ways to explore basic mathematical concepts. You don't have to always use powerful Mathematica routines such as Integrate or DSolve. These are hugely complex, handling all kinds of cases, restrictions and exceptions. But you can define your own simple routines for simple cases to handle basic cases and learn basic concepts.

One of the nice thing Wolfram recently introduced is Inactive and Activate that allow one to set up an expression and then evaluate it in steps.

Another thing you can do is write short tutorials on various math concepts. Simple things are all right, or whatever level you get to. They might come in useful in the future and they're something you can show to other people.

David Park
  • 2,613
  • 18
  • 14
  • 3
    Where is your Mathematica web site now? Couldn't find it. Somebody wrote to me who wants Presentations add-on, but I couldn't find it. – murray Jan 07 '16 at 23:36
7

I've been using Mathematica since I was around your age (that was 18 years ago). I've been loving it the whole time. The fact that you're even considering using Mathematica suggests you are as enthusiastic about mathematics as I was (and am), so there's no reason you shouldn't do the same.

You don't need any sophisticated knowledge of math or programming to use Mathematica effectively. Of course, the more you know, the cooler the things you'll be able to do; and you may learn new things just by using Mathematica.

Meni Rosenfeld
  • 311
  • 1
  • 5
6

It is never ever to late to have a smart Christmas wishlist. That said, there are some very good reasons to start with algebra and programming. If you still need some good arguments;

WDP-Topics

WDP-Algebra

Mathworld-Entrance

Mathworld-Algebra

Functions

Wolframalpha

Wolfram Education Portal-Algebra Topics

Have Fun! Learning is the best time in your life. A life long.

6

You get Mathematica for free in Raspbian OS on the Raspberry Pi and the pi is quite cheap, plus, the pi is great for learning python or java and is cool in many other ways for learning.

Dave H
  • 69
  • 1
  • 2
    @R.M. The OP mentions putting M on his or her Christmas list. The R-Pi low risk investment just to try out M, albeit on an underpowered CPU. But the OP could graduate to the home edition, after deciding whether it's the thing to do. And if M doesn't work out, maybe the Pi will in itself. – Michael E2 Nov 22 '15 at 22:13
  • @Dave, Note that b.gatessucks made a similar comment yesterday. – Michael E2 Nov 22 '15 at 22:15
  • @MichaelE2 Ah, thanks. Missed that part in the OP. Will delete comment. – rm -rf Nov 22 '15 at 22:24
4

Everyone's answer here is very useful. I just want to emphasize that the Wolfram Language (the language behind Mathematica) is a multi-purpose language and is knowledge-based using real world entities and data (Wolfram|Alpha knowledge is fully accesible from the language). You can see a lot of non-math examples here and here. The language is also connected to different external services and devices you can easily use from Mathematica.

Take note of all resources people here already mentioned, specially the wolfram cloud and programming lab which are free.

Finally, you are very young and seem to be very enthusiastic. You may be interested in the Mathematica summer camp Wolfram organizes every year.

xtian777x
  • 1,018
  • 8
  • 14
  • 2
    Since there have been so many mentions of Raspberry Pi as a low-cost option to learn about Mathematica/WL, I thought I'd put in an additional voice in favor of the wolframcloud fulfilling that purpose as mentioned here by @xtian777x. It is much stronger and faster and could be your 'gateway' to the desktop product if you choose to go forward. Best of luck – pgblu Jun 14 '16 at 19:04
3

Most people who seem to appreciate a software that prefers to be closed source have certainly not programmed a CAS themselves. Its a painful job indeed, moreover its time consuming. Maths done by computers is based on heuristics/formulas and is done by computational methods what will be mostly way different than what is taught in classroom.

Suggesting that MMA can bring to you very complex methods very abstractly is not a beneficial aspect for a researcher because it doesn't tell you how they accomplished it and it could well have take years of work and research that you need to do all over again. Are you going to use it just to check your results?

There are other software that does similar work, say Maple and Maxima(open source, hence all free code) and also matlab(though its a master of heavy numerical computation). Also except for their core parts, they have made all the source of algorithms and libraries available to users for free which one can debug to study a complex book on numerical algorithms with full understanding.

As you will learn other programming languages with age, you will study basic loop constructs like for,if else, do while..blah. But MMA will disappoint you with these constructs because its inherently slow with these which are present in every other language with minor speed difference. here patterns and basic list constructs are game(indeed they are, I love it) but you need to spend a lot of time on deciding which pattern will be fastest for a large amount of data. List constructs might run very good in one scenario and for some other problem it can be very slow.Again you might need to change your code. Problem with patterns is that they are not that readable and you will have to break them into piece to get a hold. Surprisingly no other CAS has followed this approach even though I personally find pattern matching very useful.Richard Fateman wrote this pattern matcher in lisp but it has not been really merged into Maxima, and in Maple it is all imperative.

If programming interests you, you will certainly like to code one for yourself in future and for that you need to understand internals of a CAS. For now, start with Mathematica, learn it properly, love it and move to explore other platforms. Then chose the best.

Only factor that I prefer Maxima,Maple,Matlab over Mathematica is that they share their code and they are like teachers to me.

Pankaj Sejwal
  • 2,063
  • 14
  • 23