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:
- 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.
- 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
-
Download ist-ch08.pdf
ist-ch08.pdf Details
Friday, 27 July 2018 [19.6MB]
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
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.
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