This unit covers the fundamental programming concepts required to develop software products. 

Outcomes

5.2.1 describes and applies problem-solving processes when creating solutions

5.2.2 designs, produces and evaluates appropriate solutions to a range of challenging problems

5.2.3 critically analyses decision-making processes in a range of information and software solutions

What to do?

1.  Download the text for this unit. Check below Files to Download - ist-cho8.pdf 

2.  Read Section 8.1 of the text.

3.  Read the rest of the information/text on this page.

4.  Create a page called "Introduction to Programming"  and write your answers to the following questions:

  1. Describe the function of a programming language and list five different programming languages and research or find out the situations and problems they are typically used for. Provide examples in your answers.
  2. Research the historical development of programming languages and produce a timeline of the major developments.

 Note: This task is due today 27 July 2018.  

File(s) to download

Introduction to Programming

Computer software

Software is a program that enables a computer to perform a specific task, as opposed to the physical components of the system (hardware).

This includes application software such as a word processor, which enables a user to perform a task, and system software such as an operating system, which enables other software to run properly, by interfacing with hardware and with other software.

Practical computer systems divide software into three major classes: system software, programming software and application software, although the distinction is arbitrary, and often blurred.

Computer software has to be "loaded" into the computer's storage (such as a hard drive, memory, or RAM).

Once the software is loaded, the computer is able to execute the software.

Computers operate by executing the computer program.

This involves passing instructions from the application software, through the system software, to the hardware which ultimately receives the instruction as machine code.

Each instruction causes the computer to carry out an operation -- moving data, carrying out a computation, or altering the control flow of instructions.

Software Development

Software development is the process of developing software through successive phases in an orderly way. This process includes not only the actual writing of code but also the preparation of requirements and objectives, the design of what is to be coded, and confirmation that what is developed has met objectives.

Computer programming

Computer programming
Computer programming is the process of building and designing an executable computer program for accomplishing a specific computing task. Programming involves tasks such as analysis, generating algorithms, profiling algorithms' accuracy and resource consumption, and the implementation of algorithms in a chosen programming language.
 
The source code of a program is written in one or more programming languages. The purpose of programming is to find a sequence of instructions that will automate the performance of a task for solving a given problem. The process of programming thus often requires expertise in several different subjects, including knowledge of the application domain, specialized algorithms, and formal logic.

Programming Languages

Programming Language 

A programming language is a formal language which comprises a set of instructions used to produce various kinds of output. Programming languages are used to create programs that implement specific algorithms.

main-qimg-5f7df2d01af3670837ea4403da520fdc-c  

Computer Programming languages are basically classified into two types - High Level Programming Language and Low Level Programming Languages.

High Level Programming Languages are the programming languages that provide a strong abstraction and have a simple and easy syntax. For example - Python, Java, C, C++, Ruby, Perl, Python, Basic, JavaScript and many more.

Low Level Programming Languages are the programming languages that provide very little or no abstraction and have a very-very complex syntax. These languages mainly consist of numeric terms while high-level programming languages provide syntax consisting of a complete alphanumeric syntax. There are most commonly only two Low Level Programming Languages - Assembly Language and Machine Language. 

Types of Programming Languages

Different languages have different purposes, so it makes sense to talk about different kinds, or types, of languages. Some types are:

  • Machine languages, that are interpreted directly in hardware
  • Assembly languages, that are thin wrappers over a corresponding machine language
  • High-level languages, that are anything machine-independent
  • System languages, that are designed for writing low-level tasks, like memory and process management
  • Scripting languages, that are generally extremely high-level and powerful
  • Domain-specific languages, that are used in highly special-purpose areas only
  • Visual languages, that are non-text based
  • Esoteric languages, that are not really intended to be used, but are very interesting, funny, or educational in some way