83
$\begingroup$

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?

$\endgroup$
20
  • 8
    $\begingroup$ You can use Mathematica as a generic programming language with a very basic math background. Math knowledge is not a requirement. $\endgroup$
    – shrx
    Nov 21, 2015 at 13:08
  • 7
    $\begingroup$ 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. $\endgroup$
    – Yves Klett
    Nov 21, 2015 at 13:11
  • 6
    $\begingroup$ 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. $\endgroup$
    – kirma
    Nov 21, 2015 at 13:27
  • 5
    $\begingroup$ @YvesKlett It's noteworthy that Wolfram Cloud (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. $\endgroup$
    – kirma
    Nov 21, 2015 at 13:36
  • 4
    $\begingroup$ @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. $\endgroup$
    – gwr
    Nov 21, 2015 at 15:27

10 Answers 10

57
$\begingroup$

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!

$\endgroup$
7
  • 2
    $\begingroup$ @TreFox I'm pretty certain that book was The Mathematica Book (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! $\endgroup$
    – kirma
    Nov 21, 2015 at 13:58
  • 1
    $\begingroup$ The closest substitute for The Mathematica Book (apart from online documentation) these days is probably Wolfram Mathematica Tutorial Collection (downloadable in parts at 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" (wolfram.com/language/elementary-introduction). $\endgroup$
    – kirma
    Nov 21, 2015 at 14:07
  • 1
    $\begingroup$ @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. $\endgroup$
    – kirma
    Nov 21, 2015 at 16:29
  • 2
    $\begingroup$ @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 ) $\endgroup$
    – Pillsy
    Nov 21, 2015 at 17:17
  • 3
    $\begingroup$ @Pillsy ha, welcome to the shrinking pool of users who even know what an FPU used to be good for ;-) $\endgroup$
    – Yves Klett
    Nov 21, 2015 at 22:02
36
$\begingroup$

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.

$\endgroup$
11
  • 11
    $\begingroup$ 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. $\endgroup$ Nov 21, 2015 at 16:37
  • 5
    $\begingroup$ 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. $\endgroup$ Nov 21, 2015 at 22:19
  • 2
    $\begingroup$ +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) $\endgroup$ Nov 21, 2015 at 23:26
  • 1
    $\begingroup$ 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!) $\endgroup$
    – Peltio
    Nov 22, 2015 at 4:03
  • 5
    $\begingroup$ @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! :-) ) $\endgroup$
    – Peltio
    Nov 22, 2015 at 4:24
16
$\begingroup$

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

$\endgroup$
2
  • 6
    $\begingroup$ Another not very expensive option is to get Mathematica through a Raspberry Pi, see here. $\endgroup$ Nov 21, 2015 at 17:57
  • 3
    $\begingroup$ @b.gatessucks Raspberry Pi, even on its new incarnation is just barely powerful enough to make Mathematica usable. There's a good reason why Mma is free on it... $\endgroup$
    – kirma
    Nov 21, 2015 at 19:30
16
$\begingroup$

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, [email protected], and I will be happy to offer any help I might be able to give.

$\endgroup$
8
$\begingroup$

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.

$\endgroup$
1
  • 3
    $\begingroup$ 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. $\endgroup$
    – murray
    Jan 7, 2016 at 23:36
7
$\begingroup$

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.

$\endgroup$
0
6
$\begingroup$

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.

$\endgroup$
6
$\begingroup$

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.

$\endgroup$
3
  • 2
    $\begingroup$ @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. $\endgroup$
    – Michael E2
    Nov 22, 2015 at 22:13
  • $\begingroup$ @Dave, Note that b.gatessucks made a similar comment yesterday. $\endgroup$
    – Michael E2
    Nov 22, 2015 at 22:15
  • $\begingroup$ @MichaelE2 Ah, thanks. Missed that part in the OP. Will delete comment. $\endgroup$
    – rm -rf
    Nov 22, 2015 at 22:24
4
$\begingroup$

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.

$\endgroup$
1
  • 2
    $\begingroup$ 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 $\endgroup$
    – pgblu
    Jun 14, 2016 at 19:04
3
$\begingroup$

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.

$\endgroup$

Not the answer you're looking for? Browse other questions tagged or ask your own question.