<< Chapter < Page Chapter >> Page >

General background information

An overview of computer programming

I recognize that some of you may not be ready for the kind of technical detail that I will provide in this section. If so, feel free to skipahead to the section titled Preview of the Scratch program . Just remember that this material is here waiting for you to come back and studyit when you are ready.

Not especially difficult

Computer programming is not especially difficult. However, it does require an aptitude for solving problems. In fact, a computer program is usually a modelfor a solution to someone's problem.

One step at a time

If you can learn to program a Digital Video Recorder (DVR), you can probably also learn to program a computer. Of course, a computer is more complicated than a DVR, so there is moreto learn. The important thing is to take the learning process in deliberate steps making certain that you understand each step before moving on to the nextone.

The hard work is often done for us

Fortunately, when we write programs using a high-level programming language such as Scratch, much of the hard work is done for us behind thescenes. For example, we don't have to perform the small incremental steps that are required to divide one number by another number.

As programmers, we are more like conductors than musicians. The various partsof the computer represent the musicians. We tell them what to play, and when to play it, and if we do our job well, we produce a solution to someone's problem.

Memory

All computers contain memory of one type or another. When we speak of human memory, we are usually speaking of the things that the human remembers.However, when we speak of computer memory, we are usually speaking of physical devices where data is stored for later retrieval. Most modern computers containmemory of a type that is often referred to as RAM (more on RAM later) .

All data is stored in a computer as numeric values. Computer programs do what they do by executing a series of operations on the numeric data.

Numeric data Even the text in this module is stored as numeric data in your computer. For example, theupper-case character "A" is commonly represented by the numeric value 65.

The operations that are performed on the numeric data generally consist of calculations and comparisons. It is the order and the pattern of those operations that distinguishes one computerprogram from another.

Random access versus sequential memory

The reason the memory in most modern computers is called random access memory (RAM) is that it can be accessed in any order. Some types of memory, such as a magnetic tape, can only be accessed in sequential order. (Yes, I did use computers with magnetic tape memory in my younger days during the sixties andseventies.)

Sequential access means that to get a piece of data that is stored deep inside the memory, it is necessary to start at the beginning and examine every piece of data until the correct one is found. Thisis typically a slow process.

Combination random/sequential memory

Other types of memory, such as disks provide a combination of sequential and random access. For example, the data on a disk is stored in tracks that formconcentric circles on the disk. The individual tracks can be accessed in random order, but the data within a track must be accessed sequentially starting at aspecific point on the track. While faster than magnetic tape, even this process is usually slower than true random access memory.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Teaching beginners to code. OpenStax CNX. May 27, 2013 Download for free at http://cnx.org/content/col11498/1.20
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Teaching beginners to code' conversation and receive update notifications?

Ask