Although I took BASIC, FORTRAN and yes, even COBOL, back in the dark ages, most of my programming for several years was limited to SAS in every flavor – on Windows, Unix, Mac (when they had that), then the new SAS On-Demand. I used SAS macro language quite a bit, a huge variety of statistical techniques, SAS Enterprise Guide, SAS Enterprise Miner a little bit and SAS/GRAPH (which I hate) even less.
When I started graduate school, I already knew SAS because I had been working as an industrial engineer and we used it for analyses. As a graduate teaching assistant, I taught three-hour computer labs that students were required to take in addition to their lectures. Yes, a three-credit statistics course required SIX hours of class time, three hours in the lab and three in the lecture. On top of that, you were actually expected to read the book and do the homework problems, which could take from one to four or more additional hours, depending on how much previous mathematics/ statistics you had. SPSS and SAS existed, but only as code. Students had to learn programming because that was the only way to get your results.
For reasons beyond one blog post, universities have been cutting back on requirements to accommodate working students, so now students get less for their money – less requirements, less hours in class. I teach statistics primarily to students who don’t want to learn it – people getting doctorates in education, psychology, business. Add on top of that programming and I (erroneously) thought it was a bit much given that most of my students work full time, drive an hour or two to get to class and back, and have additional classes on top of that. Many of my students are in professional and managerial positions, working over 40 hours a week.
Because they didn’t really want to do programming and they could use pointy-clicky options like SAS Enterprise Guide and SPSS, I went with that. Even then, many of the students had problems because the whole statistical analysis process was new.
Still, I was wrong. The work I did today (and for the last couple of years), was VASTLY easier because I had used SAS. I understand the concept of loops, arrays, macro variables, user-defined functions (a.k.a. macros), and a very large number of varied types of functions – text processing ones like changing to upper case, trimming blanks, finding substrings, and mathematical functions to find minimum, maximum, etc. etc. I know about IF and ELSE statements, and thanks to PROC SQL, SELECT, INSERT and CREATE statements.
If I had a Ph.D. in Educational Psychology without the ability to program, my options for supporting my children when my husband fell ill and later died would have been much more restricted than they were. Financially, having learned programming has been a huge benefit in my life and that of my children. In many projects, even when I wasn’t doing much of the coding myself, understanding programming has made me much more effective in design and management. On top of it, I love my work.
So … starting this year, I am back to teaching programming.