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 Programs

1.1. - A set of instruction the computer needs to follow to process the data into information

2. Program Language Paradigms

2.1. Program Paradigm

2.1.1. - A model class for programmingl language that share common characteristics and differences

2.2. Common Programming Paradigms

2.2.1. - Imperative paradigm

2.2.1.1. * Sequential

2.2.1.2. * Variable memory locations

2.2.1.3. * To change the values of variables

2.3. Imperative Paradigm

2.3.1. - Describe how computer achieve solution

2.3.2. - Ex : C , Pascal , FORTRAN , ...

2.3.3. - Key features :

2.3.3.1. * Stored memory

2.3.3.2. * Mutable variables

2.3.3.3. * Sequencing , selection & iteration

2.3.3.4. * Pointers

2.4. Object Oriented Paradigm

2.4.1. - Imperative / procedural style with added data & code abstraction & encapsulation

2.4.2. - Concept that changed the rules in computer program developement

2.4.3. - OOP organized around object rather actions , data rather than logics

2.4.4. - Examples of language : C++ , SmallTalk /7 JAVA

2.4.5. Key features :

2.4.5.1. * Abstraction

2.4.5.2. * Encapsulation

2.4.5.3. * Inheritance

2.4.5.4. * Polymorphism

2.5. Logic Paradigm

2.5.1. - Declarative & relational style of programming

2.5.2. - Example language : Prolog

2.5.3. Key features :

2.5.3.1. * No mutable variable

2.5.3.2. * Statements are logical predicates or assertions

2.5.3.3. * Every statement can either be succeed or fails

2.5.3.4. * Few explicit control constructs

2.5.3.5. * Recursion

2.6. Functional Paradigm

2.6.1. - Concept of functions in mathematics

2.6.2. - Lambda calculus

2.6.3. - Written compact , but run slowly & require a lot of memory

2.6.4. Example language : Haskell , ML , LISP & Scheme

2.6.5. Key features :

2.6.5.1. * No mutable variables

2.6.5.2. * Everything is an expression

2.6.5.3. * Everything is function

2.6.5.4. * No iteration

3. Programming Aplication Domains

3.1. Scientific Application

3.1.1. Developed FORTRAN

3.1.2. -Included control structures , conditions , and input/output

3.2. Artificial Intelligence

3.2.1. - Deals with emulating human-style reasoning on a computer

3.2.2. - Involve symbolic computation , mostly names not numbers

3.2.3. - Common data structure is the list

3.2.4. - Requires more flexability

3.3. Systems Programming

3.3.1. - Assembly languages were used age ago because of its power and efficiency

3.3.2. - CPL , BCPL and C++ developed

3.4. Web software

3.4.1. Markup - annotating a document in a manner

3.4.2. Scripting _ enable the script to run this commands include control structures such as if-then-else & do-while

3.4.3. General purpose - used for a wide range of programming jobs

4. Elements of Computer Programs

4.1. - Input

4.2. - Processing -> Storage

4.3. - Output

5. Programming Language

5.1. - A system signs used of communicate a task/algorithm to a computer causing the task to be performed

5.2. - Task to be performed called computation

5.3. - Set of instruction , data and rules

5.4. - 3 levels of programming language

5.4.1. * Machine Languge

5.4.2. * Low level language (Assembly language)

5.4.3. * High level language

6. Machine Language

6.1. - Representation of a computer program that only can understand by the computer

6.2. - Instruction : Binary code

7. Assembly language

7.1. - Representation of machine language of a specific processor

7.2. - Converted a machine code by an assembler

7.3. - one to one correspondence

7.4. - Slow and error-prone but efficient for hardware performance

8. High level Language

8.1. - English like programming language

8.2. - one to many correspondence

8.3. - Easier program than assembly language

8.4. - Used descriptive names

8.5. - Can be described using familiar symbols