Dustin Farris

A Day in the Life of Me

Connect
LinkedIn Google Plus Facebook
Connect
  • Home Go Home!
  • About Who Am I
  • Code View My Projects
  • Blog Welcome to my blog
  • Mail Stay In Touch

Blog

09

April

2012

C as a first language?

P

rior to entering the University of Tennessee, I had no programming experience. Sure I knew my way around a computer, but knew nothing of programming languages. In fact, the only programming idioms that I might have had an intuition for came from math. Needless to say, walking into CS 102 for the first time was quite the experience.

The class was taught in C++. I have had many discussions with peers as well as past professors about how other languages are better at teaching how to program, such as Python. This is where I become conflicted pertaining to the discussion. I agree that Python is better at teaching students the idioms of programming. After all, a language is just a tool to be used in crafting a program. Learning C as a first language, however, helped me understand how a language interfaces with the system and a general low level understanding. By teaching an introductory course with a language such as Python, you tend to lose that.

It may make it more difficult, but in the end the students benefit from it. I’m afraid what ends up happening is that many students get frustrated or intimidated and switch majors. This was the case when I took CS 102 at UT. It was not the instructor, you did a fantastic job Mrs. Mayo, and the assignments were fine, but if you don’t have any prior understanding of the subject the learning curve can be steep. Using an easier language, syntactically, could help retention rates for entry-level CS courses.

So, I haven’t done a very good job at showing why C or C++ is a good first language. Well, after struggling with C and C++ for the first couple of semesters and getting to the point where I felt moderately comfortable, I started taking classes where I had the choice of language. Again, this kind of blew my mind. The only programming language I knew at the time was C++ (mostly C), and I couldn’t fathom learning a new language in 2 weeks for an assignment. Here is my selling point, I learned Python and everything made sense. I dare say that going the other way would not be the case, at least not in a couple of weeks.

You can draw a comparison to understanding math and knowing how to use a calculator. If you know how to use the calculator very well, but do not understand the math enough to set up the problem, you will eventually hit a brick wall. I agree with this wholeheartedly, but why not learn both together. Use the calculator to reinforce the principles. This can be accomplished with programming as well. The bottom line is that I am happy I learned C as a first language, and feel it has helped me get to where I am today.


Back to Blog

Comments

Comment Functionality Coming Soon

About

This blog contains random thoughts and events that I feel I should share. I'm not sure if they will be groundbreaking or great leaps forward for humankind, but they are fun to write nonetheless.

Search

categories

  • Star Wars
  • GDC
  • Music
  • Programming
  • PnP Roleplaying Games

Explore

  • Home
  • About
  • Code
  • Blog
  • Resume
  • Home
  • About
  • Code
  • Blog
  • Mail