In designing this course, we tried to incorporate the current state of affairs ( in the INTERNET AGE) when it comes to learning a programming language, where the sheer amount of resources
at our disposal can be both a curse and a blessing. This is no less true for SAS programming. There are more than enough resources for anyone embarking on the goal of learning or upgrading their skills in SAS to rely on: (1) SAS particularly extensive documentation about all of their products, (2) the dynamically active community of programmers and users and their contributions; (3) the no less important arrays of courses (paid or not) offered, (4) and even the ability to learn from people next to us. We believe that none of these options is either the definitive solution, nor worthless.
However, for a learner, especially those with no prior knowledge about the programming, making the right choices can be both stressful and/or costly.
So we designed this course in a way to allow you to see the forest from steps/far away or from above so to help you build a contextual self-awareness before you step into it. Once, you have a sense of how your achievement will look like when you get there, we are convinced that (1) the journey will be less stressful, (2) any prior investment you have made or any investment you will make on that front will add value to this one. If you follow through our offer and give it a real try, many of the resources, you have found confusing before will likely start to sound valuable for you. In order to balance the need to help you get a complete picture of SAS programming and not make your journey endless, we put a serious emphasis on the WHY: why SAS does something the way it does; we go to the essential elements of each SAS component, so that you learn more than just the mechanics of making it work when you need it.
For example, in preparing the lesson about MACROS, we made sure to answer the following questions, among other things:
- Why do we need macros?
- how do we create macros (the different methods)
- why do we need different methods to create macros? how do the different methods compare?
- and when it comes to these tools, we let you know upfront that there are limitations (don't even know why we find the need to repeat this to you--- everybody knows that there is no such thing as a perfect/bugs free tool when it comes to POGRAMMING). So expect errors and work to fix them; any error you manage to fix yourself is one more stair on your stairways to professional experience. Don't be afraid of carefully reading your log, then your code again before you throw the towel; the most elementary errors (simple syntax errors, typos...) are the ones that will stick with you the longest in your journey. We highlighted some of those limitations (ex.: macro quoting).
At a high level, here is what we cover:
Part I: SAS Programming components
Lesson 1: DATA STEP
Lesson 2: PROC STEPS
Lesson 3: PROC SQL
Lesson 4: MACROS
Part II: SAS Programming Structure
Lesson 1: STEPS and STATEMENTS
Lesson 2: More on DATA STEP
Part III: Reading data into SAS
Lesson 1: Reading from various sources
Lesson 2: Reading using INPUT STYLES (raw data)
Part IV: SAS Program Data Vector (PDV)
Lesson: PDV
As you can see, we cover most SAS components/programming elements. For each lesson, we start with a few basic notions and expand in level of difficulty throughout the lesson.
Whether you intend to prepare SAS based certification (without going through the usual painful memorization exercise) or list this language on your resume, we are convinced that this course will helps you achieve your goals. A lot of practice exercises were included; they are targeted mostly at people who are acquiring this course with certification (base SAS) in mind.