Resources for a Beginner

Posts: 5
Joined: 2012-04-14
Location: United States

Hey everyone,

I'm relatively new to programming and I was wondering if anyone had suggestions on whether I should learn to program in Igor (the program I will be using for data analysis) or if I should take the time to learn another language first. If the latter, is there a particular language someone would suggest or resources to begin?

Thank you so much!

Posts: 803
Joined: 2007-03-01
Location: United States

I think there are two parts to learning to program. The first is learning the logic of programming, how to write algorithms, how to use loops, etc. This part isn't really specific to any language, as most procedural programming languages don't differ very much in this respect. The second part is learning the syntax and getting familiar with the language itself.

I think it's easier to learn something when I have an actual goal in mind (other than just learning). Since you plan to use Igor for your data analysis, you have a goal and a reason to learn Igor. So I would recommend that you learn to program in Igor. The downside here is that as far as I know there aren't tutorials that teach you how to program using Igor. Most of the guides assume that you have some basic familiarity with programming in general. But if you don't know what a variable or function is, and aren't familiar with different flow controls (eg. for loop, do...while, etc.), you may want to find another resource to teach you the very basics of programming and then start using those ideas in Igor programming.

If you need help learning the very basics of programming, I recommend that you take a look at Codecademy ( They provide free online tutorials that teach you JavaScript, but the first several units focus more on learning to program rather than the language itself.

Posts: 205
Joined: 2009-03-22
Location: Belgium

Just do it all in Igor. Igor has several features that lower the barrier to entry, like how the dialogs show you the actual commands you need to use. Also, being able to program while having access to Igor's graphing, data loading, and manipulation tools will prove to be an enormous advantage.

And you'll find that after you've picked up a single language, like Igor's, other languages become much easier. So even if at some point you find yourself no longer using Igor, the skills you learned will still be useful.

Posts: 1651
Joined: 2007-06-21
Location: United States

If you have not done the Igor Pro guided tour, I recommend that you do that first since you need to understand Igor in order to program it. The guided tour, or at least the first half of it, is essential for all Igor users. To do the guided tour, choose Help->Getting Started.

Here is the Igor documentation for learning Igor programming.

There is a short section in the Guided Tour:
DisplayHelpTopic "Guided Tour 3 - Histograms and Curve Fitting[Writing a Procedure]"

I recommend reading the following manual chapters in the PDF manual:
IV-1: Working With Commands
IV-2: Programming Overview
IV-3: User-Defined Functions
IV-5: User-Defined Menus
IV-6: Interacting With The User

The basics of those chapters would make a good introduction to Igor programming.

After doing some Igor programming, you should read Chapter IV-3, "User-Defined Functions" again. Some things that did not sink in on the first reading will make more sense after you have done some programming.

Howard Rodstein

Posts: 5
Joined: 2012-04-14
Location: United States

Thanks so much for all the suggestions! I'll just dive straight into Igor!

Back to top