Tag Archives: Learning

The DRIP Method to Learning

This morning, as I was thinking through the process of learning to program, something hit me about how it all works, how we learn, particularly as it relates to languages. But fundamentally we learn everything using the same method. I call it the DRIP Method:

Do Repeatedly and Incrementally Progress

Do
To learn something, you must do it. It doesn’t matter what it is. If you want to learn to read, you have to read. If you want to learn to write, you have to write. If you want to learn to program a computer, you have to program a computer. There are no shortcuts.

Repeatedly
To learn something, particularly if you want to learn it well, you have to do it repeatedly. When you were learning to write, you didn’t write a single word and stop. You wrote the same word over and over and over again. When you learned to write a sentence, you didn’t stop with your first sentence. You wrote sentence, after sentence, after sentence. If you want to learn to program, you can’t write a single line of computer code and call yourself a programmer. You have to write and write and write until the fundamentals become second nature to you.

Incrementally
We learn incrementally. With a spoken language, it’s one word at a time. We say our first word as a baby. Then we slowly add words to our vocabulary. Eventually we figure out if we put multiple words together we can create a phrase or sentence that allows us to communicate effectively. This same incremental process applies to everything we learn. Expert, or even competent, status is never reached immediately or even quickly. It is a methodical process of doing something repeatedly and incrementally adding knowledge and skills to our competence repository.

Progress
By doing something repeatedly and incrementally adding new knowledge and competencies we slowly progress. We go from scratching our heads in confusion about the syntax of a programming language, to building our own code repositories, to creating well designed and useful programs.

I can promise you that at some point along your programming journey you’re going to get discouraged. It happens to the best of us. And when that time comes, just remember that you got to where you are using the DRIP method, and the DRIP method will see you through those difficult times. Do, repeat, increment, and progress, and one day you will be the expert you’ve dreamt of becoming.

Code well, code often!

Getting a C# Start

To learn anything knew, you have to start with the basics. And to develop for Microsoft technologies a good place to start is learning the C# programming language. Below you’ll find a couple of video resources that I personally have found to be very good. These aren’t the only beginner resources available, but I’ve enjoyed them, have learned from them, and highly recommend them.

If you’ve never programmed a single line of code before, don’t worry. You have a lot to learn, but it’s doable. Just remember that a programming language is no different than a human spoken language. You learn it one word (keyword) at a time with lots and lots and lots of repetition. And so it goes with programming. First you’ll learn the keywords and the syntax (the punctuation) and the mathematical operators (just like regular math). Then you’ll learn how to write lines of code (the sentences), and then blocks of code (the paragraphs), etc. Pretty soon you’ll be writing decent sized programs that do something fun and cool and useful.

My point is to not get hung up on everything you have to learn. Programming languages have gotten large and complex, but only because they have become so capable. You didn’t learn to write a best-selling book when you were 4 years old and you’re not going to learn to write the next operating system in your first year of programming. So give yourself a break. Sure, learn as quickly as you can, but don’t feel like you have to be a master programmer in a few weeks, months, or years. It’s not going to happen. Be realistic! Otherwise you’ll get discouraged and give up because you’ll convince yourself you can’t do it. And that’s utter nonsense. You CAN do it! And you WILL do it, if you stick with us here at WinDevsDotNet!

Personally, I learn best by listening, seeing, and doing. So here are two video courses to get you started. These are from Bob Tabor, the founder of LearnVisualStudio.Net. Lucky for us Microsoft has apparently contracted with Bob to offer a few of his courses for free. I hope they paid him!

C# Fundamentals for Absolute Beginners at the Microsoft Virtual Academy. I’m in the process of taking this course and so far it’s been great. Bob does a nice job of taking it slow and pointing out the “hows” and “whys”. He assumes you know absolutely nothing about programming. This series was recorded towards the end of 2013 and posted in early 2014.

C# Fundamentals: Development for Absolute Beginners over on Channel9 is also from Bob Tabor. This series is similar to the one above, but appears to have been recorded back in 2011. I remember going through this series a couple of years ago and really liking it. So I don’t think you can go wrong with either of these.

Check back soon for more learning resources. I am in the process of developing a learning plan for you to keep you (and me) on track. Comment below with any questions or comments, or follow us on Twitter and tweet away.