Complete Content Flashcards
Give examples of three translation errors:
- Syntax error: Spelling/punctuation errors including IF instead of ELIF
- Linking Errors: Calling functions when the correct library hasn’t been linked to the program
- Semantic Errors: Variables are declared illegally
When is a value parameter preferable to a reference parameter?
Passing parameters by value are useful when doing a calculation in a subroutine as you can still retain the original value from the copy you have made.
What is ambiguity and why should high level programming languages be unambiguous?
Where there is an uncertainty of meaning and other interpretations are possible.
High level languages must be unambiguous so that there is only one way to interpret each statement.
This ensures accurate translation into machine code.
What other difficulties have programmers had to overcome when producing natural language interfaces?
Accents
Homonyms (Words that sound the same)
Proper nouns
Other Languages
Voice patterns
What is alpha, beta and acceptance testing?
Alpha testing is conducted in house by the developers and are not shared with an end-user or customer. They are not the final piece of software and will include limited functionality and many bugs.
Beta testing is conducted after alpha and are shared with a limited amount of end-users to beta test the system with live data. Will contain the main functionality but will still include some bugs. These bugs are reported by the testers and corrected by the development team.
Acceptance testing is the final phase of testing undertaken by actual end users with real data. The purpose of this is to ensure the system has met the original requirements and specifications of the customer.
What are the purpose of procedures in algorithms?
Programs can be broken down into smaller parts.
These can be named and reused any number of times throughout the code to perform a specific task.
It is used to avoid duplication of code and makes algorithms more efficient and secure.
Each procedure can also be individually tested without touching the rest of the code.
What is the difference between passing parameters by reference and by value?
Passing by reference is when the original value is passed through the subroutine therefore any changes made to the data is permanently stored in the original value.
Passing by value is where the original value is passed through the subroutine and a copy of it is created for the duration of the call. This means the original value will not be changed.
What are 3 examples of execution errors?
Runtime errors: Even though a program can compile, it could still crash or produce incorrect results.
Logical error: Division by 0 or incorrect use of operators.
File handling: Attempting to write to a file that doesn’t exist.
How does current legislation impact private data and what measures can be taken to protect this data?
GDPR 2018:
- All private data must be collected lawfully with consent.
- Data includes name, address and photos or anything that can uniquely identify an individual e.g. fingerprint.
- Parental consent needed if data is required from someone under the age of 16.
Data Protection Act 1998:
- Personal data shall be processed fairly and used within its lawful purpose.
- Personal data must be relevant.
- Companies must undertake in organisational measures in order to keep data safe and reduce damage or destruction of it.
What is a recursive sorting algorithm?
Algorithm that calls itself, using parameters and has a stopping condition. An example is a quicksort.
Two advantages of a recursive sorting algorithm:
Easier to write and useful when the data structure is fixed in size like an array.
What is version management?
To store, record and analyse different stages of code development.
Versions of software can be submitted through a version control system to track and record changes in projects and files.
Ensures developers don’t overwrite each others code.
Can also roll-back software if their program becomes corrupt during development.
How is program version management used in software engineering?
To track and save source code throughout the development process.
Commonly integrated into IDEs.
Examples are Git and Mercurial.
Create different versions to track changes.
Stored on local machines or servers.
Cloud based repositories can be used such as GitHub.
Cloud based ensures all developers have up to date programs.
Useful for tracking bugs.
What does the Von Neumann Architecture contain and how is it connected?
CPU containing the ALU, Registers and Control Unit.
Data bus connecting the input and output device.
Control bus connecting control unit with input and output devices.
2 arrows from CPU to memory.
What are the characteristics and use of cache memory?
Attempts to solve the Von Neumann Bottleneck where the processor runs faster than the memory.
Small, extremely fast memory.
Placed near the processor.
Data and instructions which are used regularly are stored here.