Get Started. It's Free
or sign up with your email address
Rocket clouds
Topic 3 by Mind Map: Topic 3

1. Overview of computer program and programming language

1.1. Computer Program

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

1.2. Programming Language

1.2.1. - A programming language is a system of signs used to communicate a task/algorithm to a computer, causing the task to be performed. - The task to be performed is call computation, which follows absolutely precise and unambiguous rules. - Contains set of instructions, data and rules that are used to construct a program.

1.2.2. 3 levels of Programming Languages

1.2.2.1. 1. Machine Language

1.2.2.1.1. - Consists of individual instructions that will be executed by the CPU one at a time. - Using Binary code ,since machines/ computer only know "on" and "off".

1.2.2.2. 2. Low Level Language (Assembly Language)

1.2.2.2.1. - Designed for a specific family of processors - Consists of symbolic instructions directly related to machine language instructions - Machines/ computer only know "on" and "off".

1.2.2.3. 3. High level Language

1.2.2.3.1. - C, C++, Java and VB - Designed to eliminate the technicalities of a particular computer

1.2.3. Machine Language

1.2.3.1. Read and understood by the computer.

1.2.3.2. Instructions: 1. Machine instructions are in binary code 2. Instructions specify operations and memory cells involved in the operation

1.2.4. Assembly Language

1.2.4.1. Symbolic representation of the machine language

1.2.4.2. Programming in assembly language is slow and error-prone but is more efficient in terms of hardware performance

1.2.4.3. Mnemonic representation of the instructions and data

1.2.5. High-level language

1.2.5.1. Programming language which use statements consisting of English-like keywords

1.2.5.2. Operations can be described using familiar symbols

2. Programming Language Paradigms

2.1. 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. Describe how the computer should achieve solution

2.2.1.2. C, Pascal, FORTRAN, ALGO 60 & COBOL

2.2.2. Object-oriented paradigm

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

2.2.2.2. Smalltalk, C++ & Java

2.2.3. The functional paradigm

2.2.3.1. Based on the concept of functions in mathematics

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

2.2.3.3. Haskell, ML, LISP & Scheme

2.2.4. The logic paradigm

2.2.4.1. A declarative and relational style of programming

2.2.4.2. Prolog

3. Programming Application Domains

3.1. Scientific Application

3.1.1. FORTRAN

3.1.2. NASA, Biotech

3.2. Business Application

3.2.1. COBOL

3.2.2. Banking

3.3. Artificial Intelligence

3.3.1. LISP, Prolog

3.3.2. Manufacturing, Robotic

3.4. Systems Programming

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

3.4.2. Operating System

3.5. Web Software

3.5.1. Javascript, PHP

3.5.2. Internet Application