You are on page 1of 16

Name:

Class Teacher:
Date:

REVISION BOOKLET

1.2 SOFTWARE AND SOFTWARE DEVELOPMENT

Content in H446 A-Level Computer Science:


1.1 The characteristics of contemporary processors, input, output and storage devices
1.2 Software and software development
1.3 Exchanging data
1.4 Data types, data structures and algorithms
1.5 Legal, moral, cultural and ethical issues
2.1 Elements of computational thinking
2.2 Problem solving and programming
2.3 Algorithms

www.learn-computerscience.com
1.2.1 SYSTEMS SOFTWARE

TOPIC

The need for, function and purpose of operating systems

Memory management:

Paging

Segmentation

Virtual memory

Interrupts, the role of interrupts and Interrupt Service Routines (ISR),


role within the fetch-decode-execute cycle

Scheduling:

Round robin

First come first served

Multi-level feedback queues

Shortest job first

Shortest remaining time

Distributed, embedded, multi-tasking, multi-user and Real Time


operating systems

BIOS

Device drivers

Virtual machines, any instance where software is used to take on the


function of a machine:
Including executing intermediate code or running an operating
system within another
1.2.1 SYSTEMS SOFTWARE

FUNCTION AND PURPOSE OF OPERATING SYSTEMS

MEMORY MANAGEMENT
PAGING

SEGMENTATION

VIRTUAL MEMORY

INTERRUPTS
ROLE OF INTERRUPTS

INTERRUPT SERVICE ROUTINES (ISR)


ROLE OF INTERRUPTS IN THE FETCH-DECODE-EXECUTE CYCLE

SCHEDULING
ROUND ROBIN

FIRST COME FIRST SERVED

MULTI-LEVEL FEEDBACK QUEUES

SHORTEST JOB FIRST

SHORTEST REMAINING TIME


OPERATING SYSTEMS
DISTRIBUTED

EMBEDDED

MULTI-TASKING

MULTI-USER

REAL-TIME

BIOS
DEVICE DRIVERS

VIRTUAL MACHINES

RUNNING AN OPERATING SYSTEM WITHIN ANOTHER


1.2.2 APPLICATIONS GENERATION

TOPIC
The nature of applications, justifying suitable applications for a
specific purpose

Utilities

Open source vs Closed source

Translators:

Interpreters

Compilers

Assemblers

Stages of compilation:

Lexical analysis

Syntax analysis

Code generation

Optimisation

Linkers and loaders and use of libraries


1.2.2 APPLICATIONS GENERATION

THE NATURE OF APPLICATIONS

UTILITIES

OPEN SOURCE VS CLOSED SOURCE

TRANSLATORS
INTERPRETERS

COMPILERS

ASSEMBLERS
STAGES OF COMPILIATION
LEXICAL ANALYSIS

SYNTAX ANALYSIS

CODE GENERATION

OPTIMISATION

LINKERS AND LOADERS

USE OF LIBRARIES
1.2.3 SOFTWARE DEVELOPMENT

TOPIC

Understand software development lifecycles including:

Waterfall

Agile methodologies

Extreme programming

Spiral model

Rapid application development

The relative merits and drawbacks of different methodologies and


when they might be used

Writing and following algorithms


1.2.3 SOFTWARE DEVELOPMENT

SOFTWARE DEVELOPMENT LIFECYCLES


WATERFALL

AGILE METHODOLOGIES

EXTREME PROGRAMMING

SPIRAL MODEL

RAPID APPLICATION DEVELOPMENT


ADVANTAGES/DISADVANTAGES OF DIFFERENT METHODOLOGIES

WRITING AND FOLLOWING ALGORITHMS


1.2.4 TYPES OF PROGRAMMING LANGUAGE

TOPIC

Need for and characteristics of a variety of programming paradigms

Procedural languages

Assembly languages:

Including following and writing simple programs with the Little


Man Computer instruction set

Modes of addressing memory:

Immediate

Direct

Indirect

Indexed

Object-oriented languages with an understanding of:

Classes

Objects

Methods

Attributes

Inheritance

Encapsulation

Polymorphism
1.2.4 TYPES OF PROGRAMMING LANGUAGE
CHARACTERISTICS OF A VARIETY OF PROGRAMMING PARADIGMS

PROCEDURAL LANGUAGES

ASSEMBLY LANGUAGES

FOLLOWING AND WRITING LITTLE MAN COMPUTER INSTRUCTIONS

MODES OF ADDRESSING MEMORY


IMMEDIATE
DIRECT

INDIRECT

INDEXED

OBJECT-ORIENTED LANGUAGES
CLASSES

OBJECTS

METHODS
ATTRIBUTES

INHERITANCE

ENCAPSULATION

POLYMORPHISM

You might also like