Occasionally we see students in our more advanced courses who have skipped the Programming 1: Essentials class. Usually they are familiar with SAS or other programming languages. Sometimes they are even fluent and proficient in other programming languages. They feel comfortable skipping the basics and moving on to other classes, confident in their abilities to succeed as an efficient SAS programmer. Our SAS Training Instructors offer some valid reasons and explanations as to why you should always start with the foundation….even if you’ve already been a SAS programmer for the past five years!
SAS Programmer: 33 Years
SAS Training Instructor: 20 Years
Programming 1 is the foundation course and prerequisite knowledge for almost every other class we offer. It would sort of be like jumping into James Beard’s cookbook without knowing what the difference is between sauté, fry and blanche. Could you muddle your way through the recipe? Sure. But you’d be more confident if you understood the basics of cooking first.
Imagine that I am a Windows user and I need to rename a picture file. In Windows Explorer, I will right-click on the file, choose “Rename” and provide the new filename. In this situation, my knowledge of Windows Explorer allows me to perform the task quickly. Now, imagine that I want to rename all 1,000 pictures in a given folder, so that they have the same prefix. Suddenly my skills within the very visual environment of Windows Explorer are limited and inefficient. While I will technically be able to achieve the objective using my current skillset, the process will be cumbersome and inefficient. However, if I take the time to learn some DOS, which is essentially the foundation for Windows Explorer, then in just a few minutes I would have code to run that renames all of the pictures in just seconds.
For exactly the same reason, new users of SAS should also consider taking SAS Programming 1, which is the Foundation of most of the visual development tools.
Will you need to write a lot of code to achieve your day-to-day objectives? Not likely. Will the need arise to go beyond the day-to-day uses for the tool? Quite likely, and you can often address these situations more efficiently if you know how to code in SAS.
I recently had a student who took the time to tell me how much he was enjoying the SAS Programming 1 course because it was so much easier to understand than the self-teach method he had initially tried. As instructors we use our knowledge and expertise to explain technical concepts in a way that is difficult to get from just help and online documents. Online resources are great for looking up a specific issue but not always the fastest way of getting a good understanding of how it all fits together. In this age of digital information we think we can get all the answers online, but in many situations this is a longer pathway, especially when learning something new.
In recommending SAS Programming 1, other points I would emphasize include:
- Starting from the beginning provides a faster way to ramp up and be more productive at work.
- Students receive important reference materials in class as well as access to extended learning resources after class.
- SAS Programming 1 is a prerequisite for most other programming based SAS courses.
- Students have the ability to ask a knowledgeable instructor specific SAS questions as well as the access to that instructor after class. Many students continue to seek the help and advice from their instructor weeks, months or even years after taking a class.
SAS Programmer: 27 Years
SAS Training Instructor: 12 Years
I like to think that one of the bonuses of a student coming to our Programming 1 course is that we give them tips, tricks, and hints that are going to benefit them for the remainder of their SAS coding career. I think each of us has a bucketful of experience that we have picked up along the way and we share that with them, in particular our Programming 1 students. We emphasize questions like “Why do you think that stupid little period in the format is so important?” or “Do I need to worry about the case of these values in the quotation marks?” or “How will this libname statement change when you get back to your office?”
This kind of learning you can’t find in books, searching a web site, or by watching a recording. It only comes from that one to many interaction of experienced instructor with classroom.
Mark Jordan (a.k.a. the SAS Jedi)
Computer Programmer: 40 years
SAS Programmer: 18 Years
SAS Training Instructor: 6 Years
(And yes, Mark's birthday in SAS is a large negative number.)
I have a personal story to share about this:
My first professional programming gig was as an applications developer on z/OS for a shipbuilding company. They allowed me all the time I needed to get things done, but they had no training budget at all – none. So for my first 5 years as a SAS programmer I was completely self-taught. I became adept at SAS programming, and even published a local SAS User Group paper or two. I got my next job with a large financial services company based primarily on my reputation. I remarked to my new boss how I’d never been able to weasel my way into a SAS class during my last job. During my first week on board, my boss signed me up for SAS training! I was ecstatic to learn that my new company had plenty of training budget, and actively encouraged professional development. Then I discovered the class running that week was Programming 1, and I was nonplussed. And had perhaps had just a touch of attitude... After all, the “SAS Jedi” - in a Programming 1 class? Harrumph!
But, somewhere during that class the instructor presented the workings of the PDV. I’d never heard of it before - and suddenly, a light came on. Now I understood how DATA step merges really worked, and I could code more consistently, competently and confidently with a firmer understanding of the fundamental concepts of the SAS language. I paid much better attention thereafter in class, and picked up many useful tips. I’ve never again looked askance at training, no matter how basic.
When we teach ourselves a skill, we usually have to focus on completing a particular project or task. We don’t have or take the time to root through all of the fundamentals – we just get the job done. Programming 1 can fill in those gaps in your “SAS foundation”, even if you’ve been using SAS for years.
SAS Programmer: 30 Years
SAS Training Instructor: 23 Years
I tell my Programming 1 students something very similar to Mark's last sentence above....
“I understand many of you have been using SAS for several weeks already. That's fine. You have some SAS knowledge. But your knowledge is like Swiss cheese. It's full of holes. This class fills in those holes to give you a solid foundation going forward.”
Unlike Mark, I was no SAS Jedi going into my first SAS course. Quite the contrary, I lied my way into my first SAS job (Fake it ‘til you make it!) and was quickly busted and sent to a SAS class as "punishment" ... March 12, 1982, Denver, CO. The faded signature on my 30-year-old diploma: J Larry Stewart (Currently the Vice President of SAS Education).