Monday, November 28, 2011

The Syllabus

With the boom of mobile devices and the connected boom in mobile software, combined with an economy that's making if difficult to find work, I've been interested in learning to create programs for some time now. On top of that, I work with a non-profit organization that works with Hungarian orphans (www.hafellowship.com) and one thing we're hoping to do is teach some of them computer programming. Talking to a few people in the industry, it seemed that C# was the programming language to learn.

The problem I ran into was that most tutorials I found went well over my head. It seemed like they were for seasoned programmers who were switching over to C#. I am not a seasoned programmer.
My programming background is extremely basic to say the least. When I was a kid, I fiddled with BASIC, but hardly learned much of anything. In high school, I took a computer science class where we learned some C++. The class wasn't extremely deep and I felt like it was more of an introductory class than anything. In college I took another programming class to avoid the absurdly basic computer class most students were required to take. It felt like a rehash of what I learned in high school.

In fact, that college class may have been the genesis of this whole project. My professor, to say the least, wasn't very good at breaking down the material for someone who was a complete rookie in programming. A number of students struggled and the only reason I passed was, as I said, it was a rehash of what I already learned. I, in fact, tutored a classmate of mine because he was completely lost. He wasn't a dummy either. He just tended to get lost in the big words and the prof just wasn't very good at, as I put it, putting the cookies on the low shelf. Had it not been for my high school class, I would have had no hope in that class.

But I don't blame the prof for those failures. He was very knowledgeable in programming. However, as a teacher, I know it can be a challenge breaking things down and presenting it to someone who doesn't know much about the subject. Part of the reason I'm certified in high school education is because I know I can't do that for kids that are incredibly young.

Well I'm hoping to overcome a lot of these problems my prof had. I'm going to do that with two characteristics of myself. 1. I'm an experienced educator so I have a good idea on how to break stuff down. 2. Since I'm not a very experienced programmer, I can't talk above those who are just getting into this stuff. It's impossible.

So what is this "thing" I'm putting together and how is it going to work? I'm going to take what's presented in the videos and expand on it. I'll also provide practice assignments so people can reinforce the lessons. Nobody's going to learn programming just watching videos or reading about it. After all, nobody became a professional basketball player just by watching the NBA Finals. As the number of people following this grows, I hope that we get people to share their solutions to the assignments.

I'm not promising to have all the answers. I'm just offering the chance for people to expand on this. I'm not looking to be THE teacher. Anyone participating in this can provide challenges to others as well. It's a team effort as we try to learn C# together. And because I'm not THE teacher, I'm not going to fulfill a lot of teacher roles. I'm not going to beat anyone over the head to get them to complete assignments. I'm not going to make anyone join in the discussion. If people seem to disappear, I'm not going to call them and ask them where they've been. One characteristic I've heard a lot of employers in the IT business look for is that people get things done by their own initiative. So I'm going to look for the same from people participating in this. This is rather radical given the current state of education. But I think it's going to be beneficial for a lot of people.The cliche is very true. You get out of this what you put in.

I know some people may stumble upon this blog well after we've started. I hope those people take everything that presented by those involved the first time around and use it. Perhaps they start a small group themselves to do the same thing, using this blog as a starting point. They'll be able to see where we were when we were learning this stuff. Again, a lot of this requires initiative. It's up to those people to take the initiative of learning by using that which is provided.

To aid in the process, I'm going to present this blog to people I've met over the years that know programming or are in the computer industry. I'm asking them to just help clarify things when needed and provide help when the people learning the material are stuck. I ask that they don't take the role of THE teacher more than needed.

To get things rolling, we're going to start with a video series that Microsoft has produced. It will be our starting point. It's labeled as being for "absolute beginners" so I think it's right for the intended audience of this blog. I don't know if they're going to produce any more videos than what they currently have, but for now, we'll take what they have. I'll be sharing what they have as well as some additional stuff shortly.

No comments:

Post a Comment