TEACHING COMPUTER PROGRAMMING

September 9, 2016


If you read my posts on a regular basis you know I have been in the technical community all of my adult life.  I started my university education long before computers or even hand-held calculators were available.  My first recollection of working with computers resulted from a fairly small punch-card system available to the teaching staff in the engineering department.  Everything was analog—not digital.  The digital revolution has allowed technology to advance at a rate absolutely unheard of in the history of our species.  We are moving at light speed with most engineering and scientific disciplines.  There is no way my class of 1966 would we have dreamed of RFID (radio frequency identification), biometric engineering, rapid prototyping, CFD (computerized fluid dynamics), CAD (computer aided design), FEA (Finite Element Analysis) and a hundred more fascinating technologies.

With this being the case,” introduction slide rule operations” classes have been replaced with computer programming classes.  This is as it should be.  The first “computer” I owned was an HP-35.  WONDERFUL MACHINE.

The HP-35 was Hewlett-Packard‘s first pocket calculator and the world’s first scientific pocket calculator – a calculator with trigonometric and exponential functions.  I’m pretty sure most of you do not know or even remember what an HP-35 looks like.  Let’s take a look.

hp-calculator

  • The HP-35 was 5.8 inches (150 mm) long and 3.2 inches (81 mm) wide, said to have been designed to fit into one of William Hewlett’s shirt pockets. I suspect this is the case because my HP-35 fit very nicely into my shirt pocket.
  • Is the first scientific calculator to fly in space in 1972. Actually this was quite a feat and removed a great deal of extrapolation from the astronauts. Prior to this, they used a slide rule to perform calculations other than addition and subtraction.
  • Is the first pocket calculator with a numeric range that covered 200 decades (more precise 199, 10+/-99
  • The LED display power requirement was responsible for the HP-35’s short battery life between charges — about three hours. To extend operating time and avoid wearing out the on/off slide switch, users would press the decimal point key to force the display to illuminate just a single LED junction. For me, this was a huge issue.  When I took my PE exam in 1974, the battery on my HP-35 died requiring me to complete the exam with my slide rule.  REAL BUMMER !!! You do not forget those days.
  • The HP-35 calculated arithmetic, logarithmic, and trigonomic functions but the complete implementation used only 767 carefully chosen instructions (7670 bits).
  • Introduction of the HP-35 and similar scientific calculators by Texas Instrumentssoon thereafter signaled the demise of the slide rule as a status symbol among science and engineering students. Slide rule holsters rapidly gave way to “electronic slide rule” holsters, and colleges began to drop slide-rule classes from their curricula.  One course all engineers were required to take at the university I attended was how to use a slide rule.  That was the “gold standard”.  Also, if you strap that rule to your belt all the girls knew you were an engineering student.  That was big in the 60’s.
  • 100,000 HP-35 calculators were sold in the first year, and over 300,000 by the time it was discontinued in 1975—3½ years after its introduction.
  • In 2007 HP introduced a revised HP 35scalculator in memory of the original.
  • An emulation of the HP-35 is available for the Apple iPhoneand iPad.

My very first computer course was PASCAL. At that time, it was the teaching language of choice for beginners wishing to know something about computer programming.  Pascal is a general-purpose, high-level language that was originally developed by Niklaus Wirth in the early 1970s. It was developed for teaching programming as a systematic discipline and to develop reliable and efficient programs. Pascal is Algol-based language and includes many constructs of Algol. Algol 60 is a subset of Pascal. Pascal offers several data types and programming structures.

Computer teaching programs exhibit the following characteristics:

  • Easy to learn.
  • Structured language.
  • Produces transparent, efficient and reliable programs.
  • Can be compiled on a variety of computer platforms.

There are hundreds of programming languages in use today. How can you know which one to learn first?   Why not start by learning one of the top ten (10) most popular ones? That way you will always be able to discuss with your employer your capabilities.   Learning a programming language is not easy, but it can be very rewarding. You will have a lot of questions at first. Just remember to get help when you need it! You can find out the answer to almost everything on Google nowadays…. so there is no excuse for failure. Also remember that it takes years to become an expert programmer. Don’t expect to get good overnight. Just keep learning something new every day and eventually you will be competent enough to get the job done.

In today’s educational system the most taught computer programs are as follows:

most-pop-teaching-languages

Let’s take a very quick look at descriptive information relative to each programming language.

  • Python is an interpreted, multi-paradigm programming language written by Guido van Rossum in the late 1980’s and intended for general programming purposes. Python was not named after the snake but actually after the Monty Python comedy group. Python is characterized by its use of indentation for readability, and its encouragement for elegant code by making developers do similar things in similar ways. Python is used as the main programming choice of both Google and Ubuntu.
  • Java uses a compiler, and is an object-oriented language released in 1995 by Sun Microsystems. Java is the number one programming language today for many reasons. First, it is a well-organized language with a strong library of reusable software components. Second, programs written in Java can run on many different computer architectures and operating systems because of the use of the JVM (Java virtual machine ). Sometimes this is referred to as code portability or even WORA (write once, run anywhere). Third, Java is the language most likely to be taught in university computer science classes. A lot of computer science theory books written in the past decade use Java in the code examples. So learning Java syntax is a good idea even if you never actually code in it.
  • MATLAB is a high-performance language for technical computing. It integrates computation, visualization, and programming in an easy-to-use environment where problems and solutions are expressed in familiar mathematical notation. Typical uses include: Math and computation.
  • C is a compiled, procedural language developed in 1972 by Dennis Ritchie for use in the UNIX operating system. Although designed to be portable in nature, C programs must be specifically compiled for computers with different architectures and operating systems. This helps make them lightning fast. Although C is a relatively old language, it is still widely used for system programming, writing other programming languages, and in embedded systems.
  • C++ is a compiled, multi-paradigm language written as an update to C in 1979 by Bjarne Stroustrup. It attempts to be backwards-compatible with C and brings object-orientation, which helps in larger projects. Despite its age, C++ is used to create a wide array of applications from games to office suites.
  • Scheme is a functional programming language and one of the two main dialects of the programming language Lisp. Unlike Common Lisp, the other main dialect, Scheme follows a minimalist design philosophy specifying a small standard core with powerful tools for language extension. Scheme was created during the 1970s at the MIT AI Lab and released by its developers, Guy L. Steele and Gerald Jay Sussman, via a series of memos now known as the Lambda Papers. The Scheme language is standardized in the official IEEE standard and a de facto standard called the Revisedn Report on the Algorithmic Language Scheme (RnRS). The most widely implemented standard is R5RS (1998);[4] a new standard, R6RS,[1] was ratified in 2007.[5] Scheme has a diverse user base due to its compactness and elegance, but its minimalist philosophy has also caused wide divergence between practical implementations, so much that the Scheme Steering Committee calls it “the world’s most unpotable programming language” and “a family of dialects” rather than a single language.
  • Scratch is a free visual programming languagedeveloped to help simplify the process of creating and programming animations, games, music, interactive stories and more.  The Scratch programming language is primarily targeted at children ages eight and older, and is designed to teach computational thinking using a simple but powerful building-block approach to software development that focuses more on problem solving than on specific syntax.

SUMMARY:  As mentioned above— Learning a programming language is not easy, but it can be very rewarding. Don’t expect to get good overnight. Just keep learning something new every day and eventually you will be competent enough to get the job done.  I really struggled with PASCAL.  It seemed as though I studied day and one-half the night.  I had a full-time job and attended school after hours.  It was tough but rewarding when I finally to the point where I actually could program and see time-saving results from the programs written.  The best advice I can give—hang in there.  It is worth the effort.

Advertisements

What do you think?

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: