AS definitions, AS worksheet and exam answers, Background: Bill Griffin
Wednesday, 8 October 2014
Wednesday, 1 October 2014
GrOPER-SYS
Operating Systems, GrOPER-SYS Pitch
The operating system is the most important program that runs on a computer. Every general-purpose computer must have an operating system to run other programs. Operating systems perform basic tasks, such as recognizing input from the keyboard, sending output to the display, keeping track of files and directories on the disk, and controlling peripheral devices such as disk drives and printers.
For large systems, the operating system has even greater responsibilities and powers. It makes sue that different programs and users running at the same time to not interfere with each other. The operating system is also responsible for security, ensuring that unauthorized users do not access the system.
Operating systems recognize input from peripheral devices |
Operating Systems can be:
Real-time (RTOS) - Are usually used to control machinery, scientific instruments ad industrial systems. This typically has very little user-interface capability, and no end-user utilities, since the system will be a "sealed box" when delivered for use. Any particular operation will execute precisely in the same amount of time, every time it occurs.
Real-time (RTOS) - Are usually used to control machinery, scientific instruments ad industrial systems. This typically has very little user-interface capability, and no end-user utilities, since the system will be a "sealed box" when delivered for use. Any particular operation will execute precisely in the same amount of time, every time it occurs.
Single user, single task - As the name implies, this operating system is designed to manage the computer so that one user can effectively do one thing at a time. The Palm OS for Palm handheld computers is a single user, single task operating system.
Multi-User - A multi-user operating system allows many different users to take advantage of the computer's resources simultaneously. The operating system must make sure that the requirements of the various users are balanced, and that each of the programs they are using has sufficient and separate resources so that a problem with one user doesn't necessarily affect the entire community of users. Unix, VMS and mainframe operating systems such as MVS are examples of multi-user operating systems.
Multi-Tasking - Allows more than one program to be run at once. This can either be pre-emptive or co-operative.
1. Pre-emptive - The operating system divides the CPU time and allocates a slot for each program.
2. Co-operative - Relies on each program to allocated time for each other.
Distributed - Multiple computers working together to carry out multiple computations. When acting together they can be described as distributed.
Embedded - Used in embedded computer software. (Used on small computers with less resources).
GrOPER-SYS
I'd like to introduce to you GrOPER-SYS - The new mobile operating system for smartphones and tablets. It is an open source system that aims to offer a more in-depth user experience - unlike many other OSs, GrOPER-SYS has no restrictions.
HTML5-based applications are emphasized, and there is a large store for apps that can be easily uploaded by users.
Essentially, we aim to have a full PC experience - on a mobile, with all the standard applications included such as command prompt.
Monday, 29 September 2014
Recursion
- A method or function that calls itself.
- A type of iteration or looping.
- Must have a stopping condition (this prevents endless loops).
Two types:
- Tail, when the last thing that happens is the recursive call.
- Head, when the first thing that happens is the recursive call.
Functions, Subroutines, Procedures - Worksheet Answers
A function can pass values, and will return a value:
Def function(somenum):
Return somenum*3
A subroutine is a portion of code within a larger program that performs a specific task and is relatively independent of the remaining code (called by name):
go sub
A procedure can receive a parameter or argument and does not have a return values (which would make it a function, essentially).
Def procedure(somenum):
print(somenum)
An iteration means the act of repeating a process with the aim of approaching a desired goal, target or result. Each repetition of the process is also called and "iteration", and the results of one iteraiton are used as the starting point for the next iteration.
Iteration is used to repeat sections of code:
number = 1
while number = <10
print("Iteration!")
number = number + 1
Iteration means less code == easier to read.
More efficient // powerful.
More manageable && maintable
More extensible with new features.
A for loop is a set of instructions that repeat until a criteria is met. It is:
- Count controlled
- Repeats a fixed number of times based on:
1. Limit
2. Increment
- Good for arrays or when number of repetitions is known in advance
While loops are condition controlled loops, so they work like IF statements. They repeat for as long as the condition is true, which can be a problem as an indefinite loop never fails.
There are two types of while loops:
While do: Condition first so may never run:
while 10 + 10 = 20
print("While do")
Do while: condition last so always runs at least once
print("do While")
while 10 + 10 = 20
ITERATION WORKSHEET
For loops
a) A for loop completes a set of instructions, repeating until a criteria is met. The number of repetitions is known in advance.
b) int i = 0; - Initialize (initializes the variable!)
i < 10; - Argument (continuation condition) - Tests if i meets certain condition (if < 10)
i++ - Adds on 1
While loops
a) for (int i = 0; i < 10; i++){
System.out.println(i)
}
---------------------------------------------
Corrected:
i = 0
While (i < 10)
print(i)
i++
b) Program a working solution that counts from 10 to 1:
for (int i = 10; i > 0; i--){
system.out.println(i)
}
c) What is the difference between a while loop and a for loop?
A for loop is count controlled and will repeat for a predetermined number of iteraitons.
WHILE is condition controlled and will repeat until a conditional statement is satisfied.
Def function(somenum):
Return somenum*3
A subroutine is a portion of code within a larger program that performs a specific task and is relatively independent of the remaining code (called by name):
go sub
A procedure can receive a parameter or argument and does not have a return values (which would make it a function, essentially).
Def procedure(somenum):
print(somenum)
An iteration means the act of repeating a process with the aim of approaching a desired goal, target or result. Each repetition of the process is also called and "iteration", and the results of one iteraiton are used as the starting point for the next iteration.
Iteration is used to repeat sections of code:
number = 1
while number = <10
print("Iteration!")
number = number + 1
Iteration means less code == easier to read.
More efficient // powerful.
More manageable && maintable
More extensible with new features.
A for loop is a set of instructions that repeat until a criteria is met. It is:
- Count controlled
- Repeats a fixed number of times based on:
1. Limit
2. Increment
- Good for arrays or when number of repetitions is known in advance
While loops are condition controlled loops, so they work like IF statements. They repeat for as long as the condition is true, which can be a problem as an indefinite loop never fails.
There are two types of while loops:
While do: Condition first so may never run:
while 10 + 10 = 20
print("While do")
Do while: condition last so always runs at least once
print("do While")
while 10 + 10 = 20
ITERATION WORKSHEET
For loops
a) A for loop completes a set of instructions, repeating until a criteria is met. The number of repetitions is known in advance.
b) int i = 0; - Initialize (initializes the variable!)
i < 10; - Argument (continuation condition) - Tests if i meets certain condition (if < 10)
i++ - Adds on 1
While loops
a) for (int i = 0; i < 10; i++){
System.out.println(i)
}
---------------------------------------------
Corrected:
i = 0
While (i < 10)
print(i)
i++
b) Program a working solution that counts from 10 to 1:
for (int i = 10; i > 0; i--){
system.out.println(i)
}
c) What is the difference between a while loop and a for loop?
A for loop is count controlled and will repeat for a predetermined number of iteraitons.
WHILE is condition controlled and will repeat until a conditional statement is satisfied.
Thursday, 18 September 2014
RAID
RAID
RAID (Redundant Array
of Inexpensive/Independent Disks) is a term to describe several hard disks made
into one logical disk.
The main reasons why
RAID is used are:
-
To make loss of
data happen less often
-
For more storage
space
-
More flexibility
– a disabled hard drive doesn’t mean no computer
-
Access data more
quickly
The disadvantages of
RAID are:
-
Certain choices
can protect against data being lost because one (or a number) of disks failed.
This does not, however, protect against the data being deleted or overwritten.
-
After one (or a
number) of disk failures, getting the system into a clean state could take a
long time
-
RAID can be a
little challenging – some easy to make mistakes can result in nulled data
Monday, 15 September 2014
What is an Algorithm? Answers June 2010
An algorithm is simply a set of instructions or steps that is followed to complete a task.
There are 2 common ways to display algorithms, one being flowcharts, and another being pseudo-code.
There are 2 common ways to display algorithms, one being flowcharts, and another being pseudo-code.
Designing Solutions to Problems - Data Dictionaries
Thursday, 11 September 2014
Wednesday, 10 September 2014
Mini Test Answers (Jun 2010 a451)
(a)
(i) An example of an
input device would be a scanner, to scan the barcodes of the various items
bought.
(ii) An example of an
output device would be a display to give information to the user of the
checkout.
(iii) An example of a
storage device would be a hard disk, to store information on what is commonly
bought to be used to store membership details.
Systems software
directly controls the hardware of the system.
Applications packages
allows users to do extra tasks.
Monday, 8 September 2014
Program design and UI
08/09/2014
(Mon)
3
Key stages to program design:
- Designing
the User Interface
- Designing
the Data
- Designing
the Processing (algorithms)
User
interface:
The
method where the user tells the device what to do and the device responds.
The difference in UI changes and updates between
mobile phones and ATMs is largely to do
with competition. There is no competition between brands
of ATMs, however, UI is unique
selling point of many mobile phones. ATMs also have
to have familiarity, so that anyone can
use an ATM anywhere in the world.
Types
of interface:
1. Command Line Interface (CLI)
- Linux
terminal
- Command
prompt (Windows)
- PowerShell
(Windows)
- Mac
terminal (AT&T UNIX - FreeBSD)
2. WIMP - Menu Driven (Windows Icons Menus and
Pointers)
3. Natural Language - Voice recognition technologies
- Google search
4. Graphical User Interface
Command
Line Interface
-
Purely based on command sets
-
Difficult to learn - Acronym commands
that can be chained, hypothetically unlimited commands
-
For technical people.
Command line can be powerful and efficient, such as
assigning values to multiple computers.
Menu
Driven
-
Easy to use
-
Require little technical knowledge
-
Limited to the options available
-
Examples are Sat Nav systems, old
phones, Sky remotes, ATM.
Natural
Language
-
“Hello computer, create a spreadsheet
with income and expenditure to calculate my monthly outgoings…”
-
Difficult to construct – Human language
is very ambiguous
-
AI of computer systems is not developed
enough
-
Is used to some extent in Sat Nav car
systems.
GUI
Advantages:
-
Commonly used
-
Easy to learn
-
Require limited training
-
Intuitive
-
Fewer mistakes can be made when using the
program
-
Use of GUI objects such as drop downs,
option buttons, dialogue boxes to alert on validation errors
-
User can associate icons with real world
objects – e.g. Filing cabinet and recycle bin.
Limitations:
-
Require more processing power and system
resources
-
Not always suitable for the environment
it is being used in
-
Can be restrictive for more advanced
users.
Factors
to consider when designing a user interface:
-
The user
-
Screen layout
Most important
functions are central, with more complex or less used functions in menus
-
Validation
Asks if you’re sure –
Checks spelling, lets you know you need an @ symbol for your email address, make
sure the username is free, date of birth in reasonable range etc.
-
Online help
-
Readability
-
Choice of fonts and colours
-
Technology Platform
-
Help
Windows paperclip man –
‘What would you like to do?’
Windows
8
Windows 8 was redesigned radically, with the new
tile based start menu that is completely different to its predecessor. The
changes were made partly to shift closer to touch screen devices, such as
tablets.
Microsoft seemed to believe that tablets and PCs
needed to be combined – but there was no demand. They attempted to create demand
with tablet PCs and surface, which also only partly worked.
One detail that was a controversial change was the
removal of the start button in the bottom left corner – it was replaced in
windows 8.1, but it was unnerving for long term users used to utilizing the
start button for the control panel, browse files, and generally use as the
first call for system functions.
Windows 8 was received so poorly largely because of
the steep learning curve, although these complaints were addressed with Windows
8.1, an update to edge towards the functionality of Windows 7. A desktop mode
was also implemented, to actually avoid
using the tile system in place.
Windows 8 also most likely failed because it seemed
to alienate long term desktop users with a useless interface. For experienced
users, the interface got in the way more than it sped things up, especially
without a touch screen.
Thursday, 4 September 2014
Compiled and Intepreted Languages
Programming Phases
Define a task/problem (Specification)
Plan your solution (Design)
- Find suitable algorithm to solve it
- Find suitable data structures to use
Write code (Implementation)
Fix program error (bugs) (Testing and debugging)
Make your customer happy (Deployment)
Subscribe to:
Posts (Atom)