Monday, December 26, 2011

Relevance in Learning

As one semester ends and another begins, I find myself again in the unique position of having been a student, then a teacher,  and now in a dual role of teacher/ student. The overwhelming arguments I hear from the student's perspective are those of the relevance in what they are being taught.  "Why do we need to learn this?" is one of the most common rhetorical questions posed.   I have to speculate if most teachers ever ask themselves this question, because I generally try to answer that question in my own mind when I hear people say it.  Oftentimes I find myself unable to formulate any type of answer that has logic as to the modus operendi involved in a given course.

I have pondered the range of possibilities.  Perhaps this was the way it was taught to them. Perhaps they are looking at the larger picture.  Perhaps it is to teach the theory rather than the practice. Perhaps it follows the course of instruction laid out in the textbook. Perhaps they don't know themselves. Perhaps they don't care.  So many possible explanations.  I have had to restrain myself from actually asking professors this question myself after engaging in a strenuous round of mental gymnastics regarding the WHY of their methods.

We need to clarify that relevance in teaching involves structuring the learning to be relevant to the present time and to the field of computer science as well as to the computer industry.  The reason why our learning needs to be relevant is that 99% of the people are in college in order to obtain a better job.  Most employers of today  are more interested in what an employee can do in terms of output relating to their job. This being said, students should be taught material that is relevant to the workplace, marketable, and current.

Some would argue there is a need for low level machine language programmers.  While this may be true, the trend is rapidly moving toward more dynamic programming methods. If you spend your college time learning "legacy" languages, systems, and development strategies, then the job you get will be in the phasing out process when you start.  Better to focus on technologies of our times for the maximum in returns.

So the question again surfaces why most professors are not teaching relevant material.  The typical assignment involves a command line interface (console program) that performs limited functions.  Counting to 100 by input choice of 2, 3, or 5; converting binary to decimal (maybe hexadecimal for the more adventurous);  create an output involving two intersecting lines; etc.    I know these are cutting edge concepts (in a time machine set to 60 years ago),  but have to question the relevance of their application for today.  Imagine an employer being blown away by a demonstration of projects like these.

I have decided to stop pondering why this is the norm and start changing it.  I want to inspire students to produce an end result they can be proud of.  An end result that can be published, marketed, even blogged about. Publishing a web page is withing every college student's immediate reach and can be used as a repository for their work.  Much like framing a good painting to put on the wall.  Getting something "live" is a first step for a student to begin to take pride in their work.

Is there any real excuse for a computer science student not having online content?  First having a web "space", then adding meaningful content in the way of programs written, applications designed, games created, papers written, resume, and so forth.  Imagine if it was not only functional, but also looked good.  LOL

No comments:

Post a Comment