Topic 3 : Computer Programs and Programming Language

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

1. Computer Program

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

1.2. tell the computer,what actions you want the computer to perform the order those actions should happen in

2. Elements of Computer Program

2.1. Input

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

2.1.2. example : mouse,keyboard

2.2. Processing

2.2.1. convert input data into information

2.2.2. example : CPU

2.3. Storage

2.3.1. store data or information for future use(permanently or temporarily)

2.3.2. example : hard disk,memory

2.4. Output

2.4.1. generate the useful information using output devices

2.4.2. example : monitor,printer

3. Programming Language

3.1. a system of sign used to communicate a task/algorithm to a computer,causing the task to be performed

3.2. the task to be is called computation,which follows absolutely precise and unambiguous rules

3.3. contains set of instruction,data,and rules that are used to constructs a program

4. Programming Language

4.1. 3 levels of programming language

4.1.1. 1.Machine Language

4.1.1.1. consist of individual instruction that will be execute by the CPU one at a time

4.1.1.2. using binary code

4.1.2. 2.Low Level Language (assembly language)

4.1.2.1. designed for a specific family of processor

4.1.2.2. consists of symbolic instruction directly related to machine language instruction

4.1.3. 3.High Level Language

4.1.3.1. example : C,C++,JAVA and VB

4.1.3.2. designed to eliminate the technicalities of a particular computer

4.1.3.3. statement compiled in a high level language typically generate many low level instruction

5. Machine Language

5.1. the representation of a computer program which is actually read and understood by the computer

5.2. instruction

5.2.1. machine instruction are in binary code

5.2.2. instruction specify operations and memory cell involved in the operation

6. Assembly Language

6.1. a symbolic of a machine language of a specific processor

6.2. converted to a machine code by an assembler

6.3. one to one correspondence

6.4. programming in assembly language is slow and error prone but is more efficient in terms of hardware performance

6.5. mnemonic representations of the instruction and data

6.6. example : load,price

7. High Level Language

7.1. a programming language which use statement consisting of english like keywords such as "FOR" , "PRINT",or "IF" and etc

7.2. each statement corresponds to several machine language instruction

7.3. much easier to program than in assembly language

7.4. data are reference using descriptive names

7.5. operations can be described using familiar symbols

7.6. example : cost ;=price + tax

8. Programming Paradigm

8.1. a model for a class of programming language that share a common characteristic and its differences

8.1.1. Common Programming Paradigm

8.1.1.1. imperative paradigm

8.1.1.1.1. the sequential execution of instruction

8.1.1.1.2. the use of variable representing memory locations

8.1.1.1.3. the use of assignment to change the values of variables

8.1.1.2. object oriented paradigm

8.1.1.2.1. allow programmers to write reusable code that operates in a way that mimics the behavior of objects i the real world

8.1.1.3. the functional paradigm

8.1.1.3.1. based on the abstract notion of a function as studied in the lambda calculus

8.1.2. Imperative Paradigm

8.1.2.1. describe how the computer should achieve solution

8.1.2.2. example : C,Pascal,FORTRAN,ALGO,COBOL

8.1.2.3. key future : , stored memory,mutable variables

8.1.3. Object Oriented Paradigm

8.1.3.1. based on imperative / procedural style with added data and code abstraction and encapsulation

8.1.3.2. a revolutionary concept that changed the rules in computer program development

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

8.1.3.4. example : smalltalk,C++ and JAVA

8.1.3.5. key future : abstraction,encapsulation,inheritance

8.1.4. Logic Paradigm

8.1.4.1. a declarative and relational style of programming

8.1.4.2. example : Prolog

8.1.4.3. concepts is based on {Horn clauses}

8.1.4.4. based on facts and rules known as { clauses}

8.1.4.5. clauses may contain {logic variable } which take any value necessary to make the fact or the left side of the rule match a goal

8.1.4.6. key future : no mutable variable,statement are logical predicates or assertion,recursion

8.1.5. Functional Paradigm

8.1.5.1. based on the concept of function in mathematics

8.1.5.2. based on Lambda calculus

8.1.5.3. programs written are compacts but run slowly and require a lot of memory

8.1.5.4. example : Haskell,ML,LISP,Scheme

8.1.5.5. key future : no mutable variables,everything is an expression,no iteration,recursive

9. Programming Application Domain

9.1. scientific application

9.2. business application

9.3. artificial intelligence

9.4. system proggramming

9.5. web software