TOPIC 3 : COMPUTER PROGRAM

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

1. Computer Program

1.1. a set of instruction that the computer needs to follow to process the data into information

2. Elements of Computer Program

2.1. input

2.1.1. whatever data that is inserted into a computer using devices

2.2. processing

2.2.1. convert input data into information

2.2.1.1. storage

2.2.1.1.1. store the data or information for future use

2.2.1.2. output

2.2.1.2.1. generate the useful information using output devices

3. What is Programming Language?

3.1. system of signs used to communicate a task to a computer

3.2. the task to be performed is call computation

3.3. contains set of instructions, data and rules

3.4. system of signs used to communicate a task to a computer

4. Programming Language

4.1. computation

4.1.1. any process that can be carried out by a computer

4.1.2. includes all kinds of computer operations,

4.1.3. including data manipulation

4.1.4. text processing

4.1.5. information storage & retrieval

4.2. machine readability

4.2.1. to allow efficient translation

4.2.2. to context-free languages

4.3. human readability

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

4.3.2. to resembles natural languages

5. 3 Levels of Programming Languages

5.1. machine language

5.1.1. consists of individual instructions

5.1.2. using binary code

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

5.1.4. instructions specify operations and memory cells involved in the operations

5.2. low level language ( Assembly Language)

5.2.1. designed for a specific family of process

5.2.2. consists of symbolic instructions directly related to machine language

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

5.2.4. mnemonic representation of the instructions and data

5.3. high level language

5.3.1. c, c++,java, VB

5.3.2. designed to eliminate the technicalities of particular computer

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

5.3.4. a program in machine code consists of a sequence of machine instructions.

6. Programming Language Paradigms

6.1. programming paradigm

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

6.2. common programming paradigms

6.2.1. imperative paradigm

6.2.1.1. describe how the computer should achieve solution

6.2.1.2. example of languages : C, Pascal, FORTRAN, ALGO 60 & COBOL

6.2.1.3. key features

6.2.1.3.1. stored memory

6.2.1.3.2. mutable variables

6.2.1.3.3. sequencing, selection & iteration

6.2.1.3.4. pointers

6.2.2. object-oriented paradigm

6.2.2.1. based on imperative/ procedural style with added & code abstraction & encapsulation

6.2.2.2. a revolutionary concept that changed the rules in computer program

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

6.2.2.4. example of languages : Smalltalk, C++ & Java

6.2.2.5. key features

6.2.2.5.1. abstraction

6.2.2.5.2. encapsulation

6.2.2.5.3. inheritance

6.2.2.5.4. polymorphism

6.2.3. functional paradigm

6.2.3.1. based on the concept of functions in mathematics

6.2.3.2. based on Lambda calculus

6.2.3.3. programs written are compact, but run slowly and require a lot of memory

6.2.3.4. example of languages : Haskell, ML, LISP & Scheme

6.2.3.5. key features

6.2.3.5.1. no mutable variables

6.2.3.5.2. everything is an expression

6.2.3.5.3. everything is a function

6.2.3.5.4. no iteration

6.2.3.5.5. recursive

6.2.4. logic paradigm

6.2.4.1. a declarative and relational style of programming

6.2.4.2. example of language : Prolog

6.2.4.3. concept is based on Horn clauses

6.2.4.4. based on facts and rules known as clauses

6.2.4.5. clauses may contain logic variables

6.2.4.6. key features

6.2.4.6.1. no mutable variables

6.2.4.6.2. statements are logical predicates or assertions

6.2.4.6.3. every statement can either be succeed or fails

6.2.4.6.4. few explicit control constructs

6.2.4.6.5. recursion

7. Programming Application Domains

7.1. scientific application

7.1.1. FORTAN

7.1.2. NASA, Biotech

7.2. business application

7.2.1. COBOL

7.2.2. Banking

7.3. artificial intelligence

7.3.1. LISP, Prolog

7.3.2. Manufacturing, robotic

7.4. systems programming

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

7.4.2. Operating System

7.5. web software

7.5.1. Javascript, PHP

7.5.2. Internet application

8. Programming Languages

8.1. scientific computation

8.1.1. Fortran

8.2. business applications

8.2.1. Cobol

8.3. systems programming

8.3.1. C, C++

8.4. compiler construction

8.4.1. ML

8.5. web applications

8.5.1. Perl

8.6. simulations

8.6.1. Java

8.7. user-interfaces

8.7.1. Simula

8.8. symbolic computation

8.8.1. Lisp