Archive

Author Archive

Why We Use Mathematica in Our Research Courses

November 13, 2012 8 comments

Why We Use Mathematica in Our Research Courses

James Choi PortraitBy James H. Choi

Welcome!


Source Link

Any computer language can do what other computer languages can do.  The only difference is the efficiency.  (Think of shoveling snow with a tea spoon.  It can be done, but not efficiently.)  At the same time, there is no computer language that can solve all problems efficiently.  (You can race driving a school bus, but not efficiently.)  A modern day knowledge worker in science/engineering will end up learning multiple computer languages for multiple set of problems (A spoon for tea, a shovel for snow) over his/her career.  No one can go through a modern career knowing only Mathematica, or any other one language alone. (You can have a sports car, but you need to drive a van when you move 12 people.)

Of many different and capable programming languages, many of them available for free, why does Sabio Research use the most expensive one, Mathematica?  (Professional version is $2,495)

Here are the reasons.

Overview

We are neither choosing a final computer language, nor the only computer language the student will ever know. Here we are choosing the first computer language which will be used by pre-college students not only for science projects, but also through their college, graduate school and professional career working on many different types of work. In other words, we are choosing a computer language that can handle integral equations, differential equations, number theory problems, statistics, complex analysis, signal/image processing, optimization, graphing, visualization, 3D modeling, animation, physics simulations, genomic research, protein structure analysis, stock market prediction, environmental research, etc.


message

Cost

While it is true that Mathematica is $2,495, student version (with the same capability) is $65/year. But rarely students need to spend even $65/year to use Mathematica. Many math and science competitions (ARML, ISEF, KSEA) also provide free Mathematica license to the participants or winners.

Many academically advanced high schools, and most prestigious universities, and graduate schools provide Mathematica license for their students for free.

Advantage over C++, C# or Java

Mathematica is an interpreted language. (It can also be locally compiled for a faster performance) Thus, students can see the results of their command immediately and this will allow students to tweak the code endlessly until it works just right. Such trial and error learning (which is the most common way of learning a computer language) would take 10 times longer on a compiled language.

Advantage over Matlab, Mathcad

Mathematica is superior in pure mathematics, and has the largest number of built-in mathematical functions. There are many advocates of Matlab, but they are all users of specialized applications for which Matlab is a superior tool. Those advocates do not have to solve a wide array of problems as our students do. And also, Matlab advocates usually don’t know much about the functional programming (as opposed to procedural programming) and how much faster it brings one’s idea to reality. Here is an example of Matlab’s code (the topic was chosen by and the code was written by Matlab to showcase Matlab’s capability) and Mathematica code (written by Mathematica to show how Mathematica handles it differently). The result: Matlab’s 90 lines vs Mathematica’s 13 lines of code to accomplish the same thing. You can see how much quicker Mathematica user would have finished the job.

Advantage over Python

Mathematica is an environment (almost an operating system) as well as a language. Mathematica not only solves problems, but also is an mathematical/technical word processor. Students can think, try, tinker, solve, then write report all in one environment. Mathematica has a massive built-in library. Whatever functions students need, they are already available in Mathematica without having to link to a third party library. In Python, students have to look for a third party library of varying quality/reliability and must go through the process of linking them. Mathematica has everything students need, and it works out of the box. Here is a comparison result with an older version of Mathematica.

Common (and incomplete) perception of Mathematica

There are many people who think they know Mathematica. These people have used Mathematica to solve some math problems. They have entered a few lines of code at most (because usually that is all it takes to solve a math problem.) These people are not even aware of what Mathematica can do, especially in the latest version. If they have never written full fledged software using the latest version, whatever they know is too limited and obsolete.

One common complaint about Mathematica by software engineers is that Mathematica’s syntax is difficult to understand. What they really mean is that they don’t understand functional programming concept because their brain got already hardened with procedural programming in their formative years, i.e., they just could not get rid of the accent, or understand other languages.

Conclusion

Students should master one versatile and powerful computer language early on so that they can use it for everything they work on to get answers/results in minutes, not hours or days. Mathematica is ideal for that role. By mastering Mathematica, students can turn their idea to a proof-of-concept demonstration in a record time. Here is an example. For example, if students were assigned to solve a difficult problem using a specific language (Python for example) during their summer internship, they can solve the problem quickly in Mathematica first, impress the daylight out of the supervising professor with a demonstration, then proceed to port the algorithm to the target language of supervisor’s specification. Mathematica is the only computer language that is procedural (C, C++, Java style), functional (Scheme, Haskell style), and rule-based (Prolog style) at the same time. This versatility broadens the idea of what a “computer language” is supposed to be for the students preventing them from being pigeon-holed into the peculiarities of the first computer language they learn. This is similar to speaking with a thick accent, or unable to speak, in second and third human language they learn. Those who had Mathematica as their first computer language will understand functional or rule based programming concept later in their career.

It is important to remember that students are not yet software/electrical/mechanical engineers. In fact, they are still open to all possibilities. Students working in coursework, research, internship, science competitions never compete on scalability, security, objective-oriented-ness, execution speed of their code. They compete on ideas–the algorithm development–and they complete on the cycle time–how quickly they turned an idea into a working demonstration. Mathematica is the best tool for turning your idea to a living, moving, 3D demonstration in a record time.

Writing software to sell? Test the concept/algorithm in Mathematica then hire someone else to port the code to Java/C++/C# to commercialize their creation! Remember, in this modern economy, we don’t become a technology superstar by coding. We succeed by coming up with ideas that can be demonstrated to science competition judges, college admissions officers, professors and venture capitalists.


message

Protected: Mathematica Graphics3D Options

November 9, 2012 Enter your password to view comments.

This content is password-protected. To view it, please enter the password below.

Categories: Mathematica

Protected: Mathematica File Operations

November 9, 2012 Enter your password to view comments.

This content is password-protected. To view it, please enter the password below.

Categories: Mathematica

London Olympics 2012 Medals per Athlete Ranking

August 13, 2012 2 comments

In my opinion, the medal count of the Olympics is misleading.  It does not take into account how many athletes actually completed for each country.  Botswana sent four athletes.  They can never dream of ranking high in the final tally even if 100% of them won gold.

Thus, medal per athlete is a better reflection and measurement on the performance of each country.  Since no one seems to be computing it, I calculated it.  And the results are surprising.

This method of counting is full of problems as well.  An entire soccer team can win only one medal whereas one lone swimmer can win many.

So, which method is the most accurate way of measuring a country’s performance?   Whichever that puts your country on top is the best, of course.

Total Medal per Athlete Ranking.  (Data Source: Official London Olympics Site)

Country Medals/Athelete
Botswana 0.25
Jamaica 0.24
Iran 0.23
China 0.23
Kenya 0.22
Ethiopia 0.20
Georgia 0.20
United States of America 0.19
Russian Federation 0.19
Mongolia 0.17
Azerbaijan 0.17
Qatar 0.17
Afghanistan 0.17
Trinidad and Tobago 0.13
Cuba 0.13
Japan 0.12
Armenia 0.12
Great Britain 0.12
Kazakhstan 0.11
Germany 0.11
Netherlands 0.11
South Korea 0.11
North Korea 0.11
Hungary 0.11
Grenada 0.10
France 0.10
Kuwait 0.10
Italy 0.10
Moldova 0.09
Indonesia 0.09
Singapore 0.09
Slovakia 0.09
Romnania 0.09
Australia 0.08
Ukraine 0.08
Bahrain 0.08
Thailand 0.08
Lithuania 0.08
Puerto Rico 0.08
Denmark 0.08
Ireland 0.08
Cyprus 0.08
Czech Republic 0.08
Belarus 0.08
Uzbekistan 0.07
Colombia 0.07
India 0.07
New Zeland 0.07
Malaysia 0.07
Mexico 0.07
Canada 0.06
Brazil 0.06
uganda 0.06
Tajikistan 0.06
Norway 0.06
Estonia 0.06
Slovenia 0.06
Dominican Republic 0.06
Sweden 0.06
Croatia 0.06
Saudi Arabia 0.05
Guatenmala 0.05
Finland 0.05
Poland 0.05
Taipei 0.05
South Africa 0.05
Turkey 0.04
Latvia 0.04
Solvenia 0.04
Bahamas 0.04
Switzerland 0.04
Tunisia 0.04
Gabon 0.04
Serbia 0.03
Bulgaria 0.03
Montenegro 0.03
Romania 0.03
Argentina 0.03
Spain 0.03
Algeria 0.03
Belgium 0.03
Hong Kong China 0.02
Greece 0.02
Egypt 0.02
Venezuela 0.01
Morocco 0.01
Portugal 0.01

For those who believe in gold only, here is the gold medal per athlete ranking.

Country Gold/Athe
Grenada 0.10
China 0.10
Ethiopia 0.09
United States of America 0.09
Jamaica 0.08
Iran 0.08
North Korea 0.07
uganda 0.06
Kazakhstan 0.06
Russian Federation 0.05
Great Britain 0.05
South Korea 0.05
Hungary 0.05
Cuba 0.05
Kenya 0.04
Bahamas 0.04
Azerbaijan 0.04
Netherlands 0.03
France 0.03
Trinidad and Tobago 0.03
Lithuania 0.03
Norway 0.03
Czech Republic 0.03
Georgia 0.03
Dominican Republic 0.03
Italy 0.03
Germany 0.03
Croatia 0.03
New Zeland 0.03
Algeria 0.03
Ukraine 0.03
Japan 0.02
South Africa 0.02
Latvia 0.02
Romnania 0.02
Switzerland 0.02
Uzbekistan 0.02
Turkey 0.02
Denmark 0.02
Belarus 0.02
Australia 0.02
Ireland 0.02
Slovenia 0.01
Solvenia 0.01
Venezuela 0.01
Tunisia 0.01
Brazil 0.01
Spain 0.01
Romania 0.01
Mexico 0.01
Colombia 0.01
Poland 0.01
Serbia 0.01
Sweden 0.01
Argentina 0.01
Canada 0.00
Botswana 0.00
Mongolia 0.00
Qatar 0.00
Afghanistan 0.00
Armenia 0.00
Kuwait 0.00
Moldova 0.00
Indonesia 0.00
Singapore 0.00
Slovakia 0.00
Bahrain 0.00
Thailand 0.00
Puerto Rico 0.00
Cyprus 0.00
India 0.00
Malaysia 0.00
Tajikistan 0.00
Estonia 0.00
Saudi Arabia 0.00
Guatenmala 0.00
Finland 0.00
Taipei 0.00
Gabon 0.00
Bulgaria 0.00
Montenegro 0.00
Belgium 0.00
Hong Kong China 0.00
Greece 0.00
Egypt 0.00
Morocco 0.00
Portugal 0.00
Categories: Others

Write a picture diary

Picture diary on a free blog.  Start today.  You will be glad you did in 40 years.

Write a Picture Diary

James Choi Portrait

By James H. Choi
http://column.SabioAcademy.com
Source Link

Dear Sabio Students,

When I look back at my life, the time I was your age, I wish I had more to remember it by.  I wish I had more pictures or more people, and that I had written more to remind me of what I thought and felt at the time.

In addition to the sentimental values, I wish I had a diary to be used as an alibi, so to speak, to answer my own wondering such as “When did I do that?” or  “When was it?”

These days I have my Outlook Calendar to keep track of not only my future appointments but also past records.  But a calendar is different from a diary.  There are no commentaries in an appointment calendar.

These days, I’ve found an easy solution.  The free blogging software WordPress — which you are reading now — lets me simply send an email with an attached photo to my WordPress account, which posts the photo to my blog.  If you use an Android or iPhone, you can use WordPress app to make your job even simpler.  What I like best about this method is that I don’t have to wait to be back at my desk.  I could be right on the spot, as events are unfolding, and write a diary complete with pictures.  It does not get fresher than this.

Of course, diaries are supposed to be private, and with WordPress you can set your blog’s privacy settings to “private.”  Only you can read that blog.  You can also create several blogs (apparently there is no limit) with one account, and have a different privacy setting for each.

So although I’m rather late beginning my photo diary in life, this works.  As I go to different places and have various thoughts and feelings, now I can capture them just by sending an email to my WordPress account.  Of course, these days even without a blog, you could just send an email to anyone in your phone — but WordPress is better.  It chronologically captures the story of your life, allowing you to easily look up your posts later.

I’ve been sending emails to my blog from different places, where I’ve felt different emotions and had many thoughts.  It could be as simple as an interior decor of a restaurant I frequently go.  With age, I realize that everything is fleeting.  Something seemingly sturdy as a restaurant’s decor will go away someday.  People around you, must sooner.  So, I am keeping a picture diary of everything that I might some day recall fondly.

I’m quite happy with it.  The only thing I could wish for is that I could have had all this when I was your age. Well, you have it.  So you might as well use it to its fullest.

message

I found blogging also useful for chronicling an event for others.  For example, when I took students to HMMT (a math competition), I created a special Facebook account just for this.  Now that I know how to use WordPress, I will set up a new account, set the privacy so that the blog is open to all but nobody could search for the site, then share its URL with parents. As long as I set the URL to be something like wordPress.com/al232kjds2a5ljfasdj77adsf  no one will accidentally type that to view the blog content.  Then I updated in real time how the students were doing, what they were eating, when they went to bed.  The parents — in remote home towns — could keep up with their students just from my sending emails to this blog.

It’s too bad I had to update “we didn’t’ win any awards!” this year on the event blog, but nonetheless, I’m sure the parents found it invaluable seeing where their children were at all times and what they were doing hour by hour.  Apparently there is a way to also upload videos but I haven’t had a success doing it from my phone yet.  You can always upload to YouTube from your phone, then embed that video into your blog at a later date working on your computer, as I have for this HMMT posting.

You could do the same on Facebook, sure, but this blog is much easier to maintain.  Facebook is never meant to be a place to keep your private information.  On WordPress, the interface and the privacy setting does not change on you as Facebook does.  WordPress is your space alone under your complete control, preserving your memories with digital permanence.

Start today.  When you look back in 40 years, you will be glad you did.

message

Categories: Others