This summer part of my resolution is to clear my back log of blog posting from students (and add some of my own). This blog is from Curtis Eckhardt from my Fall Software Engineering course at Stevens. He poses the question: how does someone get started/accomplished in programming? Is it solely through classes?
What is or was your program for programming? My program began as an undergraduate. I had taken several classes that introduced programming concepts as part of their class (statistics and laboratory instrumentation) but I had not taken a programming course. During the month break between the Fall and Spring semesters (1972-1973) I spent the holidays at home and then returned to school for 2+ weeks. A professor (Don Walter) had given me a key to a room that contained a PDP-8 minicomputer that was used by the psychology lab for presenting and controlling experiments. After those 2+ weeks I had a thorough grounding in assembler language and continued learning throughout the Spring semester. That was my introduction to programming, which continued when I entered the graduate program at the University of Pittsburgh in Fall of 1973 and was introduced to the PDP 15 installation at the Learning Research and Development Center.
I am sure there are more current ways to learn programming. What is your experience? Do you try to learn at least one new programming language a year? I do and I encourage my students to do the same. On to Curtis's post - later!
Here’s a question that jumped into my mind the last class:
How do you jump into programming?
Honestly? I suppose you could start by buying a few programming books… but that seems a bit overwhelming. I mean there are many areas in programming. Hell, even picking an appropriate programming language can be a pain. Of course, other questions have to be raised before this conversation can go any further. So I’ll use what I know best and setup a scenario based on me:
You’re in college and would like to learn how to program because it appeals to your sensibilities. You’ve taken two programming classes and found that it’s fairly easy to pick up on. You also have in your head all the possibilities that knowing how to program can provide, but don’t know where to start. Being that you’re a mechanical engineer already approaching your junior year, you deem it unwise to switch over to programming engineering. So what do you do?
What I did personally was join a small organization called Windows Interest Group (WIG). The reasoning was simply, “surround myself with people that know how to program and want to program and it’ll rub off on me.” WIG was for a small group of people to get together and learn how to program. The only problem was the fact that the organization was brand new! I mean I was basically one of five people that was interested enough to return consistently. I didn’t learn how to program better, but gained a few more friends.
WIG was actually a Microsoft sponsored program. So a lot of the meetings were PowerPoint presentations of .NET and how it’s the “wave of the future” for programming. Promoting .NET was just a ruse to get money out of Microsoft. Even though the focus had to be on .NET technology, learning how to program was still the overall goal. That was fine and dandy, but what I was looking for was to get a group of people to work on a cool programming project. Our group tried twice… since we were all too busy with school and work, nothing was accomplished. Plus, there were only 2 people in the group that could have been lead since everyone else were essentially noobs at programming. Anyway, WIG is still active. In fact, visit the (now outdated) website: http://www.asu.edu/clubs/wig/index.html
Without a little direction it’s easy to get overwhelmed and lost in the sea of books and knowledge that’s out there. Where do you start and why? Are taking programming classes the only way to gain guidance? Since time is limited, how does one avoid wasting time?