Essays academic service


An introduction to exploring the career of a computer programmer

Finnish translation thanks to Oskari Laine, Helsinki, Finland. Spanish Translation provided by the WindowsHelper Team Introduction Today, most people don't need to know how a computer works. Most people can simply turn on a computer or a mobile phone and point at some little graphical object on the display, click a button or swipe a finger or two, and the computer does something. An example would be to get weather information from the net and display it.

How to interact with a computer program is all the average person needs to know. But, since you are going to learn how to write computer programs, you need to know a little bit about how a computer works.

Your job will be to instruct the computer to do things. A series of actions or steps taken to achieve an end. A series of actions conducted in a certain order. An ordered set of steps to solve a problem. Basically, writing software computer programs involves describing processes, procedures; it involves the authoring of algorithms.

Creating a computer program can be like composing an introduction to exploring the career of a computer programmer, like designing a house, like creating lots of stuff. It has been argued that in its current state it is an art, not engineering. A fair question you may have is "Why should I learn how to program a computer? One thing that you will learn quickly is that a computer is very dumb, but obedient.

It does exactly what you tell it to do, which is not necessarily what you wanted. Programming will help you learn the importance of clarity of expression.

A deep understanding of programming, in particular the notions of successive decomposition as a mode of analysis and debugging of trial solutions, results in significant educational benefits in many domains of discourse, including those unrelated to computers and information technology per se. Seymour Papert, in "Mindstorms" It has often been said that a person does not really understand something until he teaches it to someone else.

Actually a person does not really understand something until after teaching it to a computer, i. Muddled and half-baked ideas have sometimes survived for centuries because luminaries have deluded themselves as much as their followers or because lesser lights, fearing ridicule, couldn't summon up the nerve to admit that they didn't know what the Master was talking about.

A test as near foolproof as one could get of whether you understand something as well as you think is to express it as a computer program and then see if the program does what it is supposed to. Computers are not sycophants and won't make enthusiastic noises to ensure their promotion or camouflage what they don't know.

What you get is what you said. Hogan in "Mind Matters" Mark Guzdial has a blog post, Why should we teach programmingthat elaborates on many reasons learning computer programming is important.

JLogo Programming

One final reason, it can be lots of fun! A co-worker once said: And, what kinds of objects do the instructions manipulate? By the end of this lesson you will be able to answer these questions. But first let's try to write a program in the English language. Writing software, computer programs, is a lot like writing down the steps it takes to do something.

Before we see what a computer programming language looks like, let's use the English language to describe how to do something as a series of steps. A common exercise that really an introduction to exploring the career of a computer programmer you thinking about what computer programming can be like is to describe a process you are familiar with.

Describe how to make a peanut butter and jelly sandwich. Rather than write my own version of this exercise, I searched the Internet for the words "computer programming sandwich" using Google. One of the hits returned was http: Students will write specific and sequential steps on how to make a peanut butter and jelly sandwich. Students will write a very detailed and step-by-step paragraph on how to make a peanut butter and jelly sandwich for homework.

The next day, the students will then input read their instructions to the computer teacher. The teacher will then "make" the programs, being sure to do exactly what the students said. When this exercise is directed by an experienced teacher or mentor it is excellent for demonstrating how careful you need to be, how detailed you need to be, when writing a computer program. A demonstration of this exercise is available on YouTube. Programming in a natural language, say the full scope of the English language, seems like a very difficult task.

But, before moving on to languages we can write programs in today, I want to leave on a high note. Click here to read about how Stephen Wolfram sees programming in a natural language happening. It provides a new approach to teaching computer programming through a graphical user interface that eliminates the possibilty of making certain mistakes common in text-based programming.

Color is used for categories that the blocks belong to. Notice that the ask block and the corresponding answer block are the same shade of blue.

An introduction to exploring the career of a computer programmer shapes of the blocks determine where they can be placed to form an acceptable program. The rounded green join block fits into a rounded hole in the violet say block. One of Scratch's strengths is the ease with which students can construct games and animated simulations and stories. Another strength is the Scratch website itself which provides access to many tutorials and a community of users with programs they've written.

To learn more about Scratch, visit the Scratch Wiki. Blocks-based programming is a great way to get started. But, as the size of the programs you want to write grows or you need a feature not available in Scratch, it's time to switch to text-based programming. Programming Languages - High-Level Languages Almost all of the computer programming these days is done with high-level programming languages. There are lots of them and some are quite old.

As you will see, high-level languages make it easier to describe the pieces of the program you are creating. They help by letting you concentrate on what you are trying to do rather than on how you represent it in a specific computer architecture.

They abstract away the specifics of the microprocessor in your computer. And, all high-level languages come with large sets of common stuff you need to do, called libraries. In this introduction, you will work with two computer programming languages: More research of its use in educational settings exists than for any other programming language.

Java is a fairly recent programming language.

  1. The question he wanted to answer was whether kids would embrace the new technology and learn using it.
  2. By the end of this lesson you will be able to answer these questions.
  3. One thing that you will learn quickly is that a computer is very dumb, but obedient. As you will see, high-level languages make it easier to describe the pieces of the program you are creating.
  4. The shapes of the blocks determine where they can be placed to form an acceptable program.
  5. One final reason, it can be lots of fun! But first let's try to write a program in the English language.

It appeared in 1995 just as the Internet was starting to get lots of attention. Java was invented by James Gosling, working at Sun Microsystems. It's sort-of a medium-level language. One of the big advantages of learning Java is that there is a lot of software already written see: Java Class Library which will help you write programs with elaborate graphical user interfaces that communicate over the the Internet.

You get to take advantage of software that thousands of programmers have already written. Java is used in a variety of applications, from mobile phones to massive Internet data manipulation.

You get to work with window objects, Internet connection objects, database access objects and thousands of others. Java is the language used to write Android apps. So, why do these lessons start with the Logo programming language?

No other computer programming language has the depth of research as Logo, based on its use in educational settings.

What Is Computer Programming?

It's roots are in the development of interactive learning environments. Wally Feurzeig was researching the use of a timeshared computer to improve teaching mathematical concepts while at BBN Bolt, Beranek, and Newman.

The question he wanted to answer was whether kids would embrace the new technology and learn using it. With some success demonstrated using an existing programming language, Wally contracted Seymour Papert to help with Logo's design. Seymour wrote the functional specification for Logo. Daniel Bobrow then wrote the first Logo interpreter.

Since these early days, hundreds of books and research papers have been written about its use in the classroom. Papert, has put together a comprehensive website on Logo: I like using the Logo language to teach introductory programming because it is very easy to learn.

The faster you get to write interesting computer programs the more fun you will have. But do not let Logo's simplicity fool you into thinking it is just a toy programming language.

Logo is a derivative of the Lisp programming language, a very powerful language still used today to tackle some of the most advanced research being performed.

Beyond Programming covers six college-level computer science topics with Logo. Both Logo and Java have the same sort of stuff needed to write computer programs. Each has the ability to manipulate objects for example, arithmetic functions for working with numbers. Each lets you compare objects and do a variety of things depending on the outcome of the comparison.

Most importantly, they let you define named procedures. Named procedures are lists of built-in instructions and other named procedures. The abstraction of naming stuff lets you write programs in a language you yourself define.

This is the stuff that programming is really all about, as you will see. Just to give you a feel for what programming is like in a high-level language, here's a program that greets us, pretending to know English. The "Hello world" program is famous; checkout its description on Wikipedia by clicking here. In addition to commands, Logo has operators that output some sort of result.

Although it's a bit contrived, here is a program that displays the product of a constant number ten and a random number in the range of zero through fourteen.