Topic 3 :Computer Programs and Programming Language

Get Started. It's Free
or sign up with your email address
Topic 3 :Computer Programs and Programming Language by Mind Map: Topic 3 :Computer Programs and Programming Language

1. Overview of computer program and programming language

1.1. Computer Program

1.1.1. A computer program is a set of instructions that the computer needs to follow to process the data into information.

1.1.2. They tell the computer:

1.1.2.1. What actions you want the computer to perform

1.1.2.2. The order those actions should happen in

1.2. Elements of Computer Program

1.2.1. INPUT

1.2.1.1. Whatever data that is inserted into a computer using input devices

1.2.1.2. PROCESSING

1.2.1.2.1. Convert input data into information.

1.2.1.2.2. STORAGE

1.2.1.2.3. OUTPUT

1.3. Programming Language

1.3.1. A programming language is a system of signs used to communicate a task/algorithm to a computer, causing the task to be performed.

1.3.2. The task to be performed is call computation, which follows absolutely precise and unambiguous rules.

1.3.3. Computation

1.3.3.1. Computation is any process that can be carried out by a computer.

1.3.3.2. Computation includes all kinds of computer operations

1.3.4. Machine Readability

1.3.4.1. it must have a simple enough structure to allow for efficient translation.

1.3.4.2. Machine readability is ensured

1.3.5. Human Readability

1.3.5.1. It requires that a programming language provide abstractions of the actions of computers that are easy to understand

1.3.5.2. Programming languages tend to resemble natural languages

1.3.6. 3 levels of Programming Languages

1.3.6.1. Machine Language

1.3.6.1.1. Consists of individual instructions that will be executed by the CPU one at a time.

1.3.6.1.2. Using Binary code ,since machines/ computer only know "on" and "off"

1.3.6.2. Low Level Language (Assembly Language )

1.3.6.2.1. Designed for a specific family of processors (different processor groups/family has different Assembly Language)

1.3.6.2.2. Consists of symbolic instructions directly related to machine language instructions one-for-one and are assembled into machine language

1.3.6.2.3. machines/ computer only know "on" and "off"

1.3.6.3. High level Language

1.3.6.3.1. For example: C, C++, Java and VB

1.3.6.3.2. Designed to eliminate the technicalities of a particular computer

2. Programming Language Paradigms

2.1. A model for a class of programming language that share a common characteristics and its differences

2.2. Common Programming Paradigms

2.2.1. Imperative paradigm

2.2.1.1. The sequential execution of instructions

2.2.1.2. The use of variables representing memory locations

2.2.1.3. The use of assignment to change the values of variables

2.2.2. Object-oriented paradigm

2.2.2.1. Allow programmers to write reusable code that operates in a way that mimics the behavior of objects in the real world.

2.2.3. The functional paradigm

2.2.3.1. Based on the abstract notion of a function as studied in the lambda calculus

2.2.4. The logic paradigm

2.2.4.1. Based on symbolic logic

2.3. Imperative Paradigm

2.3.1. Describe how the computer should achieve solution

2.3.2. Example of languages : C, Pascal, FORTRAN, ALGO 60 & COBOL

2.4. Object Oriented Paradigm

2.4.1. Based on imperative / procedural style with added data & code abstraction & encapsulation

2.4.2. A revolutionary concept that changed the rules in computer program development

2.4.3. OOP is organized around objects rather actions, data rather than logic

2.4.4. Example of languages: Smalltalk, C++ & Java

2.5. Logic Paradigm

2.5.1. A declarative and relational style of programming

2.5.2. Example of language : Prolog

2.5.3. Concept is based on {Horn clauses}

2.5.4. Based on facts & rules known as {clauses}

2.5.5. Clauses may contain {logic variables} which take any value necessary to make the fact or the left side of the rule match a goal

2.6. Functional Paradigm

2.6.1. Based on the concept of functions in mathematics

2.6.2. Based on Lambda calculus

2.6.3. Programs written are compact, but run slowly and require a lot of memory

2.6.4. Examples of languages : Haskell, ML, LISP & Scheme

3. Programming Application Domains

3.1. Programming Application Domains

3.1.1. Domains

3.1.1.1. Scientific Application

3.1.1.1.1. FORTRAN

3.1.1.2. Business Application

3.1.1.2.1. COBOL

3.1.1.3. Artificial Intelligence

3.1.1.3.1. LISP, Prolog

3.1.1.4. System Programming

3.1.1.4.1. PL/S, BLISS, Extended Algol, C

3.1.1.5. Web Software

3.1.1.5.1. Javascript, PHP