1.4 Flashcards

1
Q

Low Level Languages

A
  • Unique for each CPU Type
  • Each has it’s own Assembler
  • Generates one machine code instruction per 1 assembly instruction

EG Assembly

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Low Level Languages Uses

A
  • Device Drivers
  • Embedded Systems
  • Custom Hardware
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Low Level Advantage

A
  • Small Storage Requirements (Embedded Systems)
  • Fast Execution Speed (Fighter Jet Eject System)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

High Level Languages

A
  • Uses Human-like commands (English)
  • Generates many machine code instruction per 1 line of code

EG Java

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

High Level Languages Advantages

A
  • Easier to learn/program
  • Identifiers can be long and meaningful (classes, variables, methods)
  • They allow the use of powerful in-built commands that perform quite complex tasks e.g. random( )
  • Allows creation of modules that can be re-used and accessed by other parts of the program
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

High Level Languages Use

A

General applications

EG Payroll

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Procedural Programming Paradigms

A
  • The programmer defines how they want the program to run
  • Based on algorithms
  • Obey (ordered) instructions
  • Carrying out actions / calculations etc.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Procedural Paradigm Advatages

A
  • Logical Step-by-step process for solving a problem
  • Allows the programmer a way to define precisely each step when performing a task
  • Close control over the operation of hardware
  • Similar operations may be carried out at varying stages of the program execution
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Event Driven Programming Paradigms

A
  • High level programming language
  • Waits for a user interaction (Button Click, Keyboard Press)
  • Particularly suitable for developing GUI and Games
  • Programmer must think of events and triggers
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Visual Programming Paradigms

A
  • High level programming language (EG Scratch: Also Event-Driven)
  • Manipulate program constructs graphically rather than textually (EG Drag and drop blocks of code)
  • Easier to learn
  • More intuitive because visual (no syntax)
  • Very good help systems
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Visual Paradigms Disadvantages

A
  • Limited Screen Space
  • Not ideal for larger programs
  • Takes longer than typing for experienced programmers
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Markup Programming Paradigms

A
  • Includes HTML, XML (Microsoft Word: .docx (Uses XML))
  • Used to add meaning to text (link, bold etc)
  • Changes the format/display of the text
  • HTML (HyperText Markup Language)
    – Commands such as <h1> or <href>
    -- A start tag and end tag <h1>My Heading</h1></href>
  • XML (eXtensible Markup Language)
    –Structuring and marking up data for storage, not display
    –Developer can create own tags
  • Often combined with languages such as Javascript
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Class

A
  • Is a template for creating objects
  • An object is built from a class
  • Can have many instances of the same class
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Object

A
  • Is an instance of a class
  • Contains both attributes and methods
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Method

A
  • A program routine within an object to carry out a particular task on an object
  • Can be inherited from a superclass (Parent)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Advantages of OOP

A
  • Improved productivity when developing software due to the flexible and extendable nature of OOP.
  • Software is easier to maintain as OOP is modular and reusable.
  • Development is faster due to the reusable code and libraries.
  • Development is cheaper.
  • Software can be tested more easily making it more high quality.
  • Software is easier to design as model the real world.
17
Q

Disadvantage of OOP

A
  • OOP is difficult and not as ‘logical’ to some developers, it is complex to create applications in.
  • Software can become larger – more code – than procedural programs.
  • OOP programs can run slower than PP as there is more code to execute.
  • OOP cannot be used for all types of software application such as machine learning and AI.
  • OOP can be difficult to debug.
18
Q

Inheritance

A
  • A Subclass takes on attributes
    and methods from a Superclass
  • Classes are ‘grouped’ by relationships
  • classes within the same group are defined by differences rather than similarities
19
Q

+ Public

A

Can be inherited by any class

20
Q

Protected

Private

A

Can be inherited by any class within the package

21
Q
  • Private
A

Can be accessed by only within its own class

22
Q

Encapsulation

A
  • The technical implication is hidden within the object
  • The process of keeping data within a class secret
  • Private variables can only be accessed by public methods
23
Q

Polymorphism

A
  • Polymorphism allows many similar versions of a method (with the same name)
  • Multiple versions are then available, still with the same name
24
Q

Event Driven GUIs

A
  • A listener is attached to a button/key
  • When detected, the sequence assigned to that listener is executed
25
Q

Non Procedural and 4th Gen

A
  • Allow programmers to specify the results they want without specifying how to solve the problem
  • Large distance from the binary code that the computer hardware actually reads
  • Often integrated with end usr applications to customise without requireing specialised programming skills
  • May attempt to produce natural language interface
26
Q

Package with Programming Capability

A
  • Customise the package
  • Additional functionality can be added without programmer
  • Requires less programming skill
  • Can import/ export from/to other packages
  • Users familiar with interface
  • Programming might be restricted

EG (Off the shelf software)

27
Q

Natural Language

A
  • Refers to a human language
  • Programmer would not need to structure inout in any way
  • Need very high proccessing power / very complex software
  • natural languages used by most people is very ambiguous
28
Q

Scripting

A
  • Provides the programmer a way to define precisely each step when performing a task
  • Embedded in another language control aspect of the software
  • Allows tight intergration with existing programs or data
  • High level programming language
  • interpreted not compiled
29
Q

Special Purpose

A
  • Languages that were developed with a specific purpose in mind
  • Essential features relevant to the application
  • Very specialised with built in functions/abilities