Please enable JavaScript.
Coggle requires JavaScript to display documents.
Comp Theory 2 and Comp Thinking - Mocks - Coggle Diagram
Comp Theory 2 and Comp Thinking - Mocks
Utility Software
Encryption software uses an algorithm to convert plain text into cipher text; this can be done symmetrically or asymmetrically.
Defragmentation software reorganises the files on a hard disk drive, this reduces the movement of the read/write head and therefore speeds up access to files.
Compression software reduces the size of a file so it can be downloaded over the internet at quicker speeds.
Ethical, Legal, Cultural Impacts
The Internet:
Pros: Provision of knowledge, communication, education, research, E-commerce.
Cons: Privacy concerns, platform to voice 'hate speech', distribution of illegal images, piracy.
Privacy Issues:
Number plate recognition.
Face recognition.
Electronic tagging.
Cell phone and GPS technology.
Recording browsing history.
Smart devices listening.
Cultural Issues:
Access to the internet is not the same across the world.
Technology is developing at an ever increasing rate.
Loss of cultural identity (embracing elements of a Westernised world).
Designers may unintentionally apply cultural values while developing systems.
Censorship.
Environmental issues:
Our ever increasing appetite for technology depletes finite natural resources.
2% of global energy consumption is a result of data centres.
Devices have to be disposed of carefully as they contain harmful materials.
Legislation:
Data Protection Act:
Data must be processed lawfully and fairly.
Data can only be collected for legitimate reasons.
Data must be relevant and limited.
Data must be accurate and up-to-date.
Data cannot be kept longer than necessary.
Data must be secure.
Computer Misuse Act:
Fraud.
Planting of viruses.
Hacking.
Data theft.
Deliberate data destruction.
Copyright Designs and Patents Act:
Makes it illegal to copy any work without the owner's permission.
Open Source:
Users can modify and distribute.
Full access to source code.
May not be fully tested.
Support provided by the community.
Proprietary Source:
Cannot modify, protected by Copyright Designs...
Supported by developers.
Users cannot access source code.
Tested prior to release.
Designing and Refining Algorithms
Flow Charts:
Stadium - Start or end of the program.
Rectangle - Process.
Parallelogram - Input or output.
Rhombus - If statement.
Searching and Sorting
Linear Search:
Each element is individually equated with the element to be searched for.
Pros:
Very simple and data does not need to be ordered.
Cons:
Very inefficient on large data sets.
Binary Search:
Midpoint is found, if the midpoint is a decimal, it will be rounded.
If the mid point is the element being searched for, the search ends.
The mid point will be established somewhere else depending whether the midpoint is greater than or less than the element.
Pros
: More efficient for large data sets than linear searches.
Cons
: Data has to be in order.
Bubble sorts:
First number in the list is selected, if it is greater than the next number, they swap.
Move to the third number and compare this with the 4th.
This cycle repeats from step one when the end of the list is reached.
Pros:
A very simple algorithm.
Cons:
Slow as the process has to cycle back to the beginning.
Insertion Sort:
An imaginary marker is placed after the first element in the list.
If the second element is greater than the first, it stays in place and the marker moves 1 to the right.
The third element is then checked, if this element is less than the second element, the two swap.
The first value is then compared with the third value and the first is greater than the third, the two swap. The marker then moves right by 1.
The cycle repeats.
Merge Sort:
The input array is divided into two sections (halved).
If the left index is greater than the left index, the array will half again.
This continues until all elements are separated.
Pairs of elements are compared and merged.
These pairs are sorted to form several small lists, these small lists are then merged in the same manner to complete the algorithm.
Pros:
Better on larger lists as the algorithm does not cycle through several times.
Cons:
Requires more memory as sub-lists have to be created.
Programming Fundamentals
A constant is an identifier for a memory location that does not change during the running of a program.
A variable is an identifier for a memory location that can change during the running of a program.
Assignment is performed with the "=" symbol.
Selection is a program branching as a result of a condition being met or not met.
Abstraction is the process of filtering in order to ignore any characteristics of a program that are not essential; this allows for concentration to be directed towards characteristics that are essential.
Pros:
Allows for a general idea of the problem to be established.
Suitable Test Data
Erroneous - Likely to give an undesirable output (wrong data type perhaps).
Boundary - Lying on the very boundary of a parameter; only just accepted.
Invalid - Not within the range asked.
Subprograms
Advantages:
Program is easier to write.
Program is easier to debug.
Reusable components are created.
ASCII
Standard ASCII is a 7 bit character set, extended ASCII is a 8 bit character set; it allows for foreign languages to be represented by ASCII and also allows for error checking.
Unicode is a more demanding character set than ASCII, it is a 16 bit character set and therefore allows for foreign characters, symbols and emojis.
Logic Gates
Not = ¬
And = n
Or = u