Wolfram Computation Meets Knowledge

Education & Academic

If You Teach a Student Mathematica

Each release of Mathematica brings with it powerful new tools that can be applied to an ever-widening range of fields, so it's no surprise that a great many faculty members at all levels choose Mathematica as the tool around which to base their curricula. My first introduction to the software came during my undergraduate education when I took a differential equations course. As my professor went through the syllabus and explained what topics we would cover that semester, she also mentioned that we would be using Mathematica and showed some examples of what it could do. Having never used mathematical technology more sophisticated than a graphing calculator, I did admittedly have a bit of a rocky start with the language and syntax. I remember my professor spending a lecture period going over the basics of how to enter input and perform computations, but I decided to dismiss all that advice and just figure it out myself---which seemed to be a good idea at the time. I probably should have paid closer attention to my professor's tutorial, because I soon became frustrated at what seemed like a very rigid language. As I investigated further---mostly by looking at all the examples in the documentation---I quickly realized that by learning a few simple rules one could effectively harness the program and produce powerful results. Ultimately it was Mathematica's consistent language design that got me excited about learning more.
Computation & Analysis

Word Facts

Recent versions of Mathematica introduced useful data functions related to linguistics. In Version 7, Mathematica's integrated string manipulation and visualization functions provide a powerful platform for computational linguistics. Both DictionaryLookup and WordData give programmatic access to curated data that's ready for computation. DictionaryLookup has been extended to cover more languages, while WordData has information on word meaning, structure, and usage, as well as cognitive and grammatical relationships between words. Let's look at a range of examples, starting with some interesting and amusing word facts. DictionaryLookup currently contains word lists for 27 different languages:
Education & Academic

Wow! This Is Mathematica?

Recently, I was in Puerto Rico giving Mathematica talks to faculty and students within the University of Puerto Rico and Inter American University of Puerto Rico system. First off, I loved the islands and the weather. Second, the people were enthusiastic, understanding of my broken Spanish, and wonderful people with whom to interact and discuss Mathematica integration. On my flight home, I realized that it would be good to document a little bit of my experience talking with educators about integrating Mathematica into courses and how Mathematica 7 has completely changed my perspective (and uniformly, their perspective) as well. I've now been at Wolfram Research almost 12 years. My experiences at the company have been quite varied. I have traversed the country in the MathMobile (see below) showing lots of people at schools, companies, and government labs how to start using Mathematica; I have sat at a desk in technical support answering questions from longtime users on how to do (and fix) pretty detailed programming; I have worked in public relations to convey to the press why Mathematica is such an important topic for them to cover.
Computation & Analysis

Plug-and-Play Mathematica with Wolfram Lightweight Grid System

For some people, parallel computing and the need for a cluster is a way of life. For others, the need sneaks up on them. Most clusters and grids are planned and organized from the first, and that can take time and effort, to say nothing of configuration. Other times there's no budget for new hardware, but there are computer labs or desktop computers unused for much of the day---a cluster waiting to be harnessed, if only you can get the Macs to talk to the Windows boxes, and keep straight all the hostnames in use. For situations like these I helped develop Wolfram Lightweight Grid System, which is designed from the ground up to let you assemble existing hardware into a self-organized network, accessible from Mathematica with almost no configuration.
Announcements & Events

Pattern Matching Your Source Code—How Wolfram Workbench Integrates Mathematica Development Tools

Inside and outside of Wolfram Research, teams are working on large Mathematica projects. Working with large code bases requires powerful tools; it is even better if these tools are integrated. With Wolfram Workbench, we brought an integrated development environment (IDE) to our users. What does "integrated" mean? Well, let's look at just one example of how Workbench integrates Mathematica's central language features, pattern matching, editors, and source management tools. Let's start with a specific problem: with our Mathematica 6.0 release, we overhauled many of our libraries and APIs (our recent Version 7.0 release builds on the improvements in Version 6.0). Some groups of functions were deprecated or their APIs changed. We had collected a long list of these changes... but how would users apply them to their source code? Go through them one by one and line by line in their code? Definitely not.
Computation & Analysis

The Evolution of Parallel Computing with Mathematica

In the eighties I attended a scientific presentation about a rather cumbersome way to parallelize one of the symbolic computation systems in existence at that time and quickly realized how much more elegantly I could bring parallelism to Mathematica, thanks to its symbolic communication protocol, MathLink. This protocol allowed me to exchange not only data but also programs between concurrently running Mathematica kernels. The result was a package, written entirely in Mathematica, called Parallel Computing Toolkit. At a time when parallel computing meant big expensive machines, FORTRAN, and batch jobs, it was quite satisfying to experiment with different parallel paradigms from an interactive Mathematica notebook, with a couple of machines on a local network doing the computations, and be able to do parallel functional programming and work with symbolic expressions and arbitrary-precision arithmetic in parallel. I got a lot of surprised reactions from people who thought that parallelization is this big complicated thing, requiring supercomputers and large funds, and rather large problems, to be worthwhile. The truth is, most problems people solve are easy to parallelize.
Computation & Analysis

March Madness in Mathematica

It's that time again when many of us begin to explore the pseudo-science of bracketology as the United States eagerly approaches the NCAA Men's Basketball Tournament---March Madness. It's a frenzied few weeks where statistical analysis and mathematical algorithms make a sudden leap from the desktops of professionals to the homes of millions of sports fans. As a sports fan and as an account manager working with Mathematica and Mathematica Home Edition, a wild idea occurred to me. Could someone with no professional programming training or mathematical degrees, like me, use Mathematica to create something of value, like a March Madness bracket, for someone else? While I frequently support and work with some of the brightest engineers, scientists, and statisticians in the commercial world, my personal use of Mathematica has been fairly simplistic. What could I do? I decided to find out.
Products

Demonstrations Milestones

Recently, I had the pleasure of discussing some pieces of the Mathematica universe with distinguished scientists, forward-looking educators, and a lot of excitable kids at the annual meeting of the American Association for the Advancement of Science (AAAS). Showing newcomers some of the magic we make here at Wolfram Research is always fun, and one of the best ways to introduce them to the types of things that we like to build is the Wolfram Demonstrations Project.