Scientific Arts


In Scientific Arts Discovery I do one-on-one instruction in Mathematica combined with a collaborative model for exploring areas that you are interested in. It doesn't matter what you know about a topic or field–whether you are new to it, simply curious about it, or if you are a seasoned professional research scientist needing to expand the tools you use in your daily work.

If you are a pre-college or college student here are some of the things we will do:

There will be two common and parallel threads through it all. The first will be learning the Wolfram Language (what people often refer to as Mathematica but in fact it is the language behind Mathematica) and in learning that you will learn a bunch of things:

  • Aspects of programming aimed at broadly exploring open ended problems
  • How to explore whatever you are curious about with a rich set of computational and visualization tools
  • How to problem solve and perform research by just diving into a problem and seeing where it leads
  • How to investigate questions that may have no clear answer–just the way the professionals do

Though that last item may sound a little silly, I do mean it with a large dose of seriousness. It's actually what a practicing scientist, engineer, mathematician, (or linguist, statistician, computational visualization algorithm designer, and so on and so on...) do in their day to day work. It's a sort of directed play: find what's fascinating to you and bring tools to it that let you dive in and explore all the "what ifs" that come to mind.

>>

If you are a seasoned researcher here are some of the things we will do:

As above, there will be two common and parallel threads in our process. The first will be learning the Wolfram Language and learning it will open doors to what's possible in your daily work. The second will be to work together to define the sorts of custom tools that would be most beneficial to your work. These may simply be increasing your ability to take advantage of all the built-in computational knowledge of the Wolfram Language. Or it may involve creating custom tools in the Wolfram Language that you and your colleagues (or laboratory, or business unit,...) can continue to use and develop.

As you learn the Wolfram Language and the full technology stack that is intertwined with it (much of which is written in the Wolfram Language itself) you will start to ask questions of the "Can it do X...?" and "What if Y...?" sort. And this will catalyze discovery and a cascade of similar types of questions.

>>

About me: what do I know?

You can get a bit of a sense of the different areas I've been involved in over the years by looking at my LinkedIn profile at As these things go it's a somewhat rarified document. But perhaps it suggests that I have been involved in a variety of things and that I have an approach that involves diving into projects without necessarily knowing a field in fine detail. In fact, I think that to create new ideas and discover beyond the expected, it is actually good to start without being biased by "how things should be done." This doesn't mean that one should be ignorant or eschew powerful tools. Quite the opposite.

Even if I do not know a particular technical or scientific field, I generally know how to find out about its general framework, where to look for more details, and how to just start playing with it. In my experience this quickly takes me to parts of the field that are fertile ground. And part of my excitement in doing this sort of pedagogical collaboration is that it gives me excuses to learn more about other fields. So, one of the things that I do is to read up on topics that come up in our sessions.

And these days, with such a huge landscape of fields of knowledge, having a tool at your command that allows you to do this sort of diving in across disciplines in coherent manner is incredibly valuable.

This extends to exploring the Wolfram Language itself–which is that tool. (And, interestingly, you can explore the Wolfram Language with the Wolfram language.)

I have been using it since before version 0 (an interesting story which I can share when we first talk). I don't know all that is in it–it has a huge amount of stuff in it–and I am still learning about the new functionality in Version 10. But I do know how to work with it and how to quickly track down functionality that I need, learn and explore it, and then apply it to the problems that I am curious about. How I do this is one of the things that I will teach by example.

So, this is the approach that we will generally take. I will tell you what I know, teach you how to use the system and do research with it, and dive in with you to explore together any things you are curious about.

And here's my dirty little secret: one of the reasons that I do this is so that I am given fresh reasons to learn and explore new areas.

Contact me at to arrange to have a phone conversation about getting started.