Class of 2025 CS Notes PDF

Summary

These notes cover various topics in computer science, including Java and C/C++ programming, sorting algorithms, and computer systems in organizations. They are likely study notes, not an exam paper or textbook.

Full Transcript

https://ib.compscihub.net/ https://isf-dp-cs.github.io/ IMPORTANT notices: HL MARKING: Paper 1 - 40% (100 marks) Paper 2 - 20% (64 marks) Paper 3 - 20% (30 marks) IA - 20% ( ALOT OF GRINdING) Testing stuff Note: the change name Game to the name of your class Java public static void mai...

https://ib.compscihub.net/ https://isf-dp-cs.github.io/ IMPORTANT notices: HL MARKING: Paper 1 - 40% (100 marks) Paper 2 - 20% (64 marks) Paper 3 - 20% (30 marks) IA - 20% ( ALOT OF GRINdING) Testing stuff Note: the change name Game to the name of your class Java public static void main(String[] args) { Game gg = new Game(); gg.test(); } public void test() { for(int i = 0;i < 20;i++) { String temp = String.valueOf(genCol()); System.out.println(temp); if(i==15) { temp= "d"; } System.out.println(check(temp.toCharArray())); } } Exit skills are the stuff you need to know by the end of the chapter https://moodle.isf.edu.hk/mod/resource/ view.php?id=868252 Revision!!! Best piece of code ever written in all of video games history C/C++ float Q_rsqrt(float number) { long i; float x2, y; const float threehalfs = 1.5F; x2 = number * 0.5F; y = number; i = * ( long * ) &y; // evil floating point bit level hacking i = 0x5f3759df - ( i >> 1 ); // what the fuck? y = * ( float * ) &i; y = y * ( threehalfs - ( x2 * y * y ) ); // 1st iteration // y = y * ( threehalfs - ( x2 * y * y ) ); // 2nd iteration, this can be removed return y; } SL PROGRAMMING Sorting algorithms must remember all - Bubble Sort - Selection Sort - Binary Search Encapsulation: The grouping of the data and the methods that operate on the data into one single unit(class). The practice of hiding the structure and representation of data within a class with the use of private variables / and making it only accessible outside that class via accessor functions; The practice of hiding the structure and representation of data within a class and making it only accessible within the class. Improve security Using data hiding/use of private variables Cannot access the data directly so other classes have to use accessor methods to access the data/ programmed can be made read only Ease of maintenance HL PROGRAMMING Programming theory Terminology/Jargon Abstract data structures: - LinkedList - Nested Lists (2 dimensional array) - Binary Search Tree - Traverse - Visit all of the nodes of the tree in a specific order - In order (Sorted) - Pre order () - Post order INDEX IMPORTANT notices: 1 https://moodle.isf.edu.hk/mod/resource/view.php?id=868252 2 Revision!!! 2 SL PROGRAMMING 2 HL PROGRAMMING 3 INDEX 4 Kevin’s essence Yuqi Sun CS higher level notes 6 Java 6 Binary Search 7 Topic 1.1 - Systems in Organizations (SL & HL) 9 1.1.1 Identify the context for which a new system is planned. 9 1.1.2 Describe the need for change management. 10 1.1.3 Outline compatibility issues resulting from situations including legacy systems or business mergers. 12 1.1.4 Compare the implementation of systems using a client’s hardware with hosting systems remotely 13 1.1.5 Evaluate alternative installation processes 16 1.1.6 Discuss problems that may arise as a part of data migration 18 1.1.7 Suggest various types of testing 18 1.1.8 Describe the importance of user documentation 21 1.1.9 Evaluate different methods of providing user documentation 22 1.1.10 Evaluate different methods of delivering user training 23 1.1.11 - Identify a range of causes of data loss 23 1.1.12 - Outline the consequences of data loss in a specified situation 24 1.1.13 Describe a range of methods that can be used to prevent data loss 25 1.1.14 Describe strategies for managing releases and updates 26 Topic 1.2 - Systems Design Basics (SL & HL) 27 1.2.1 Define the terms: hardware, software, peripheral, network, human resources 27 1.2.2 Describe the roles that a computer can take in a networked world 29 1.2.3 Describe the roles that a computer can take in a networked world 31 1.2.4 Identify the relevant stakeholders when planning a new system 33 1.2.5 Describe methods of obtaining requirements from stakeholders 34 1.2.6 Describe appropriate techniques for gathering the information needed to arrive at a workable solution 36 1.2.7 Construct suitable representations to illustrate system requirements 36 1.2.8 Describe the purpose of prototypes to demonstrate the proposed system to the client 40 1.2.9 - Discuss the importance of iteration during the design process 40 1.2.10 - Explain the possible consequences of failing to involve the end-user in the design process. 40 1.2.11 Discuss the social and ethical issues associated with the introduction of new IT systems 41 1.2.12 Define the term usability 41 1.2.13 Identify a range of usability problems with commonly used digital devices 42 1.2.14 Identify methods that can be used to improve the accessibility of systems 42 1.2.15 Identify a range of usability problems that can occur in a system 43 Topic 2 - Computer Organisation (SL & HL) 44 2.1.1 - Outline the architecture of the central processing unit (CPU) and the functions of the arithmetic logic unit (ALU) and the control unit (CU) and the registers within the CPU 44 2.1.9 - Define the terms: bit, byte, binary, denary/decimal and hexadecimal 47 2.1.11 - Define the Boolean operators: AND, OR, NOT, NAND, NOR and XOR 51 Topic 3 - Network Fundamentals (SL) 53 3.1.1 - Identify different types of networks 53 3.1.2 - Importance of standards in the construction of networks 59 3.1.3 - Describe how communication over networks is broken down into different layers 61 3.1.4 - Technologies required to provide a VPN 61 3.1.6 - Protocol and data packet 62 3.1.7 - Explain why protocols are necessary 63 3.1.8 - Explain why the speed of data transmission across a network can vary 64 3.1.9 Explain why compression of data is often necessary when transmitting across a network 65 3.1.10 Outline the characteristics of different transmission media 65 3.1.11 Explain how data is transmitted by packet switching 66 3.1.12 Outline the advantages and disadvantages of wireless networks 67 3.1.14 Describe the Characteristics of Wireless Networks 67 3.1.15 Describe the different methods of network security 68 3.1.16 Evaluate the advantages and disadvantages of each method of network security 69 Topic 5 - Abstract Data Structures (HL) 70 5.1.1 - Identify a situation that requires the use of recursive thinking. 70 Queue 70 Stack 70 Binary tree 71 N-ary Tree 72 LinkedList 72 5.1.19 - Compare the use of static & dynamic data structures 72 5.1.20 - Suggest suitable data structure for given scenario 73 Topic 6 - Resource Management (HL) 73 6.1.1 - Identification of critical resources 73 6.1.2 - Availability of resources 75 6.1.3 - Limitation of resources 76 6.1.4 - Problems with insufficient resources 77 6.1.5 - Role of the Operating System 78 6.1.6 - 6.1.7 - OS resource management techniques 79 6.1.8 - Dedicated OS for a device 79 6.1.9 - OS and complexity hiding 79 Topic 7 - Control Systems (HL) 80 Centralized Control Systems 80 Distributed Systems 81 Option D: Object Oriented Programming 83 Polymorphism: 83 Stack queues and binary trees: 84 Importance of style and naming conventions: 85 Advantages of using library collections: 85 Encapsulation: 85 UML Diagrams: 86 Inheritance: 88 D.2.7 Describe the advantages of libraries of objects 88 D.3.3 Private, protected, public, extends and static 88 Test questions 90 Paper 3 - Case Study Computer Science Paper 3 Resources 95 DEFINITIONS 95 CS Classroom 96 Internet Resources 97 Websites about the 6 “Challenges Faced”: 97 Kevin’s full notes (updated) Yuqi Sun CSHL 300 pages notes redux f… Added: topic 1 SL notes Java Polymorphism - Class can do the same thing in different ways - Child class can override main functions - Parametric polymorphism (Overloading) - Use one function to interact with different types - Different types of parameters - function(int,int) - function(int,float) - function(String,String) - Same method names but different types of parameters - Number of parameters - function(int) - function(int,int) - function(int,int,int) - Compiler will decide which class to use - Sequence of parameters - function(int,float) - function(float,int) - Invalid types of polymorphism - Same name same parameter but different return types - int function(float,float) - String function (float,float) - Will have error - Inheritance(Overriding) - Use one function name and same parameters with different execution in inherited classes Linked list Initialise private LinkedList name = new LinkedList(); Add a.add(var) a.add(index, var) a.addFirst(var) a.addLast(var) Delete a.remove(index) Delete head a.remove() a.remove(var) a.clear() Modify a.set(index, element) Search (get) a.contains(var) Returns 1st place a.element() a.get(index) a.getFirst() a.getLast() a.indexOf(var) Misc a.clone() a.size() a.toArray() Binary Search public static int binarySearch(int[] arr, int find) { //-1 = n/a int start = 0; int end = arr.length-1; int mid; while(startfind) { end = mid-1; } else { start = mid+1; } } return -1; } Topic 1.1 - Systems in Organizations (SL & HL) 1.1.1 Identify the context for which a new system is planned. Exit Skills - Investigate and outline the framework of a new system - Describe the limitations of a proposed system - Present various organizational issues that relate to the installation of a new system - Identify the importance of a new system for various users - Outline the technologies involved New Systems can be created in order to - Replace a system that is inefficient, no longer suitable for its original purpose, redundant or out-dated - Increase productivity or quality of the output or minimize costs - Reduce the flaws and errors of the existing system Context = background, environment, framework, setting or situation surrounding a system Context of problem can include: - People involved - Laws involved - Time required - Money required - Location - space required - Current system The context will affect the problem, which will affect the solution E.g. a delivery driver should be equipped with a mobile phone, as they need to carry around packages and move around often; whereas airplane pilots can use tablets as they have more space and move around less New systems rarely come in a vacuum - you cannot ignore the context surrounding the problem Considerations when considering a new system’s context - The extent of the new system - The limitations of the new system - E.g. What would be the context of introducing a new payment system for school trips? - Will there be any organizational issues related to the new system? - How will user roles be affected /changed? - Will any underlying technologies be affected/changed? Potential Organizational Issues - Lack of guiding organizational and business strategies - Lack of stakeholder and end-user participation - Lack of end-user “ownership” of system - Lack of attention to required training - Lack of attention to various organization issues, such as organizational culture - Lack of attention to design of tasks and jobs, allocation of information system tasks, and the overall usability of the system Feasibility Report (TELOS) - Technical Feasibility: Is the existing technology sufficient to implement the proposed system? - Economic Feasibility: Is the proposed system cost effective? - Legal Feasibility: Are there any conflicts between the proposed system and any regulations/laws? - Operational Feasibility: Are the existing operational practices and procedures sufficient to support the maintenance and operation of the new system? - Schedule Feasibility: How long will we wait? Example: A bookstore uses door to door salesmen to collect orders from customers, these orders are then taken to the company’s offices and are input by a secretary. The bookstore has decided to change this department and will ask their salesmen to input the orders at home using their personal computers. Discuss the effects of these changes. - Secretary is no longer needed, meaning that they will either lose their job or have to find a new position at the company - Physical space to accommodate the secretaries is no longer needed - Salesmen will have to have a personal computer with internet connection and the skills to use a personal computer - New software or hardware will have to be obtained by the company - Company has to find a network to connect with salesmen - Salesmen may ask for extra pay 1.1.2 Describe the need for change management. Exit Skills - Identify factors that are involved - Justify the need for change management - Investigate and outline success factors Describe the need for change management Examples: - Change in tutor time - Change in traffic light lights (Light bulb to LED) - New phone Changing a system can be difficult for a variety of reasons: – Users don’t like change (too often/at all) – New systems might omit old features – Old systems might be faster in certain circumstances – People find change complex – From a technology perspective, change might lead to incompatibility – There might be data loss during migration – It might be expensive (either in terms of money or time) – … the list goes on! Before any change is applied, the following steps might make the process easier: Successful Change Management relies on factors such as - Planning & preparation - Before any changes are made the whole process needs to be planned for and risks highlighted and factored into the plan. - Communication - Two-way communication between all stakeholders is essential throughout the process - Shared vision and buy-in - Within larger organizations creating a shared vision and getting buy-in is absolutely essential, otherwise passive or active resistance to change could ruin the whole project. - Careful Implementation - The new system needs to be introduced carefully at a pace that is appropriate for the needs of the organization. - Review & adaptation - It’s important to ensure that success of system implementation is analyzed at all points in the process and changes are made as appropriate. The need for Change Management - Resistance to change: Employees may resist changes in their work processes, systems, and tools. Change management helps to mitigate this resistance by involving employees in the change process, communicating the benefits of the new system, and providing training and support. - Impact on employees: New computer systems can impact employees' roles, responsibilities, and daily tasks, and change management helps to minimize the disruption and ensure a smooth transition for employees. - Complexity of implementation: Change management helps to ensure that all aspects of the implementation are managed effectively, including planning, testing, training, and deployment. - Stakeholder alignment: Organizations often have multiple stakeholders involved in the implementation of new computer systems, and change management helps to align these stakeholders and ensure that everyone is working towards the same goals. - Continuous improvement: Change management helps organizations to identify opportunities for improvement and make changes that benefit the organization in the long-term. 1.1.3 Outline compatibility issues resulting from situations including legacy systems or business mergers. Exit Skills - Describe the importance of compatibility - Identify the way legacy systems interact with modern systems - Suggest struggles for successful integrations during business mergers - Identify the international dimension of software compatibility Legacy system : Old system or device, no longer supported by the provider. (Eg. old car, cant find replacement parts) dongle Merger: Combination of two or more entities into one, mergers can be very tricky Issues when replacing legacy system: - Lose important old features/functions - File formats incompatible - New UI or features for end-users to learn Strategies when integrating legacy systems & methods of business merging - Keep both information systems, and develop them to have the same functionality (high maintenance cost) - Replace both information systems from each company with a new one (increased initial cost) - Select the best information systems from each company and combine them (difficult for the employees to work with foreign information systems) - Select one company’s information system and drop the other company’s (policy problems) 1.1.4 Compare the implementation of systems using a client’s hardware with hosting systems remotely Exit Skills - Define SaaS (Software as a Service) - Define on-premise software - Relate and analyze the difference between SaaS and on-premise software software solutions Common SaaS examples - Microsoft Office 365 - Google Apps - Amazon Web Services - Dropbox 1.1.5 Evaluate alternative installation processes Exit Skills - Explain the major installation processes - Suggest with reasons different installation processes - Explain the pros and cons of each installation process 4 alternatives to changing the system - Direct changeover: Old system is stopped and new system is started immediately. - Pros: Minimal time and effort, new system is available immediately. - Cons: If the new system fails, there is no fall back. Not familiar with the system. - Parallel running: The new system has started, but the old system is kept running alongside it. Data has to enter into both systems. - Pros: If a new system fails, the old system still works as a backup system, data won't be lost etc. If unsure how to do things in the new system, can return back to the old system. - Cons: Running two systems at the same time is expensive and time consuming. - Pilot running: New system is piloted (tested) with a small subset of the organisation. Once it is ironed out and all bugs have been fixed, the whole organisation switches over. - Pros: If the new system fails, only a small number of people are affected. All features are tested and a new system is tested, pilots can train others. - Cons: Users of the new system might suffer from data loss etc if new system fails. - Phased conversion: The new system is introduced in phases as parts of the old system are gradually replaced with the new system. - Pros: Allows people to get used to the new system; training of staff can be done in stages - Cons: if the new system fails, there is no fall back for that part of the system. Time consuming 1.1.6 Discuss problems that may arise as a part of data migration Exit Skills - Define Data Migrations - Identify the importance of incompatibility and incompleteness - Provide a balanced analysis of different data migration scenarios Possible problems that may arise - Corrupted Files - A corrupted file is a damaged or altered file that cannot be accessed or used properly due to data errors or other issues. - Incompatible File Formats - The data created from a newer version of a piece of software may not be compatible with an older version of the same software - Data Structure Differences - Moving from a table to a flat file, or from an array to a linked list may cause some problems - Validation Rules - If an input is does not fit certain rules placed on the destination; if you type in -4 when prompted to enter your age (your age can’t be -4) - Incomplete Data Transfers - If the transfer of data is interrupted, only parts of it will be transferred, leading to data loss - International Conventions on Dates, Currencies and Character Sets - DD/MM/YYYY vs MM/DD/YYYY 1.1.7 Suggest various types of testing Exit Skills - Identify the importance of testing - Define major testing types - Suggest the best testing for a proposed scenario Static(without execution of software) vs Dynamic Testing(with execution of software) - Reviews, walkthroughs, or inspections are referred to as static testing, - Executing programmed code with a given set of test cases is referred to as dynamic testing - Static testing is often implicit, like proofreading, such as when the IDEs check source code or syntax - Dynamic testing takes place when the program is run - Dynamic testing may begin before the program is 100% complete in order to test particular sections/modules of code - Static testing involves verification, whereas dynamic testing also involves validation. Together they help improve software quality Static - In the developing stage * Dynamic - In all stages Alpha - First stage/phase of software testing Beta - Second stage/phase of software testing Black box - during all phases of software testing White box - In the first stage of software testing Dry run testing - Prior to any development Data testing - Automated testing - Unit testing - Integration testing - Alpha vs Beta testing Alpha Testing Beta Testing - Alpha testing performed by testers who - Beta testing is performed by clients or are usually internal employees of the end users who are not familiar with the organization internals of the system - Alpha testing performed at developer's - Beta testing is performed at client site location or end user of the product Black Box vs White Box Testing - Black-box testing (also known as functional testing) treats software under test as a black-box without knowing its internals. Tests are using software interfaces and trying to ensure that they work as expected - White-box testing (also known as structural testing) looks inside the software that is being tested and uses that knowledge as part of the testing process User Acceptance Testing - Testing any new/updated system with its ultimate end users to see if it meets their expectation is very important Automated Testing - Automated testing is a method in software testing that makes use of special software tools to control the execution of tests and then compares actual test results with predicted or expected results - All of this is done automatically with little or no intervention from the test engineer - Automation is used to add additional testing that may be too difficult to perform manually or when the body of code that needs to be tested is vast. Data Testing - when normal, abnormal and extreme data is put into the system for testing - Example: a system that accepted a student’s grades then outputted “pass” if the score was 60 or above, and “fail” otherwise - Normal Data such as 76 would be used to test whether the system gave the appropriate response - Data at the limits should also be used; for this example, 0,59,60,100 would be used to test the extremes - Extreme Data is data that should be rejected due to being beyond the limits, in this case examples would be -10, 101, 99999 - Abnormal Data (illegal data) is data that is not expected, in this case, if “two” were entered instead of “two” or if “4 5” was entered instead of “45”, these would be examples of abnormal data Dry run testing is when the programmer mentally runs the algorithm with pen and paper. They examine the source code and decide the output should be Unit Testing is when individual parts of the system are tested separately Integration testing is when the whole system is tested together to verify if it all works together Debugging is the systematic process of finding and correcting errors in a computer program - There are computer programs that can test and debug other programs Validation and Verification - Validation - the process of evaluating whether data input follows appropriate specifications ad is within reasonable limits - Are we developing the correct system? - Does the product meet the customer's needs? - Verification - the process of ensuring the data input is the same as the original source data. A method of verification is through double entry(entering the data twice in separate input boxes and then comparing the data to ensure they both match) - Are we developing the system correctly - Does the product comply with a specific regulation or condition? 1.1.8 Describe the importance of user documentation Exit Skills - Identify the importance of proper user documentation - Describe the way proper documentation affects implementation User Documentation is any document that explains how to use the features and functions of a system to its end-users. It comes in many forms: books, PDFs, websites, videos, etc. Reasons why proper user documentation is important - Makes using the system much simpler to understand - Allows for users to utilize the system at a higher level of efficiency - Reduce burden on customer support teams - Minimize errors and misuse - Teaches users how to use the system - Reduces confusion and ambiguity - Legal requirements Proper documentation includes - Appropriate module headers - Appropriate comments - Useful and meaningful variable names - Useful module, classes methods and function headers - Appropriate code indentation - Appropriate code structuring - Appropriate use of enumerated types - Appropriate use of constant identifiers - Appropriate use of data types defined by users 1.1.9 Evaluate different methods of providing user documentation Exit Skills - Identify the importance of proper user documentation - Suggest various methods of user documentation - Describe the way propped documentation affects implementation Methods Features Advantages Disadvantages Help Files Offline, supplied - Always same version as - They can only be used with the system the system after system has been - Give general installed instructions on how to - They don't give any help use the system when installing the - Give general solution instructions on how to - They often only deal solve some major errors with very general errors - They often lack a search capability, you have to look to find help for your problem Online Support Active Support - Extensive compared to - Requires internet help files connection - Always up to date - Live support - Hard to (Continuously revised) explain the problem. - Usually an option to talk with a human operator if no answers. (Live support) - Often have search capabilities Printed Offline booklet - Always available - Can be lost Manuals - Can be read prior to - Often limited, small using the system booklet - Help install the system - Not updated. 1.1.10 Evaluate different methods of delivering user training Exit Skills: - Identify the importance of proper user training - Suggest various methods of user training - Describe the way propped user training affects implementation Importance of user training: - User take full advantage of the system - Prevent user from breaking the system - Prevent data loss for user files Methods Description Advantages Disadvantages Self instruction Self teach Low cost No guidance, user feel Flexible timeline lost/overwhelmed User only learns the training they Features misunderstood/ignored want Formal Classes Learn in a High quality training High cost class Inflexible Remote/Online Online class - Structured learning - Teachers & internet Training environment connection needed - Expert on hand to answer - Can feel ‘remote’ with no questions quick ‘hands on’ - Curriculum designed to - Has to be computer-based teach all aspects, including ones that might be misunderstood or difficult to grasp - Flexible locations 1.1.11 - Identify a range of causes of data loss Exit Skills - Identify the negative impacts of data loss - Identify various causes of data loss Cause Examples Hardware/System malfunctions Physical damage Software malfunction Data corruption Human error - Accidental deletion - Administrative errors - Poor data storage organization system (misplacement) - Closing the program before saving Malicious softwares Trojan, Virus, Worm Natural disasters Sinkhole smash, Me when the earth just opens up and eats my laptop 1.1.12 - Outline the consequences of data loss in a specified situation Exit Skills - Outline the negative impact of data loss in various situations - Identify various consequences of data loss in a given scenario Top 5 reasons for data loss: - Hardware Failure 35% - Human Error 28% - Theft/Malicious Employees 17% - Software Failure 14% - Virus 6% Examples: - Hospital Procedures/Records - Bank debt/loan - Lost my minecraft password - Lose my left lugnut - Hotel Reservation - Financial Transactions Consequences vary in severity: - Can the data be replaced? - How easy is the data to replace? - Who will be affected by the data loss? - Are there financial implications to the data loss? - Are there “life and death” consequences to the loss - Who is responsible for data recovery 1.1.13 Describe a range of methods that can be used to prevent data loss Exit Skills - Define failover systems, redundancy, removable media, offsite storage and online storage - Give details about the methods used to prevent loss of data Key data loss prevention methods - Failover system, another system that can overtake when the main system fails - Redundancy, multiple copies are being saved at the same time - Removable media, save data to a separate removable hard drive such as CDeez nuts, DVD, vinyl, USB, external hard dribe - Offsite/online storage, backup storage in another location Security tactics - AntiVirus - Firewall 1.1.14 Describe strategies for managing releases and updates Exit Skills - Define updates, patches, upgrades and releases - Give details about the management of updates and releases - Describe automatic update process Patch: quick & temporary small fixes or changes Update: more significant changes, new features, permanent additions and bug fixes Release: a completely new version of the system Upgrade: when a user already has the old version of the system, they upgrade to the new version on top of the old version Patch: - Quick/temporary/small fixes - Focused on fixing bugs - Fixing bug may generate another - Not adding new features - Work on existing piece of software - EMERGENCY Nerf/Buff to brawlers (ROSA) Update: - Fix many bugs - New feature - Works on existing software DOUG best brawler in bs ye fax https://x.com/AshClashYT/status/1761951084283670702?s=20 - z Upgrade: - Releases a new version of the existing software - Applied to existing applications Release: - New versions of the software (Brawlstars - Version 53.176) Downgrade - When new software is really buggy or just bad How to get updates - Manual(download and install yourself) - Requires internet connection or removable media (USB, CD) - Pros - Full control - Cons - Time consuming - Auto(software automatically contacts the developer, downloads and installs any updates) - Done online or over the air - Pros - Don’t have to think/worry about updates, always up to date - Cons - No control, bad update might crash the system Release Management: - Manual: - Online - Removable Media - Using removable media with data of new version to upgrade - Not used much now because internet connection is sufficient. - Auto: - Online - Over the air Topic 1.2 - Systems Design Basics (SL & HL) 1.2.1 Define the terms: hardware, software, peripheral, network, human resources Exit Skills - Give the precise meaning of the terms hardware, software, peripheral, network and human resources Hardware: - Physical parts of a computer or device Peripheral devices: - External hardware device for a computer, not essential hardware for the computer - Input/Output(I/O) devices - Keyboard, Mouse, Screen etc Software: - Computer program, set of instructions - Virtual, not physical - Lines of code, stored as binary Networking: - Consists multiple devices that communicate with each other using a transmission medium - transmitting or sharing information Human Resources: - End-users of a system - End-users ≠ human resources - Example: PowerSchool is a system designed for ISF, and the students are the end-users who are in the organization User acceptance testing: - Testing updated system with its end-users to see if it meets their expectations is important - Satisfied users = more productive users = good for developers - Difference from beta testing: user acceptance is more focused on user reaction and satisfaction from using the system. Beta testing is more on functionality in real world context 1.2.2 Describe the roles that a computer can take in a networked world Bop deez nuts Exit Skills - Define client, server, email server, DNS server, router and firewall - Describe the different roles that a computer can have Client - The computer or device connected to the server - If an office has a server that stores the company's database on it, the other computers in the office that can access the database are "clients" of the server - Receives data via the network Dumb Terminal - Consists of a keyboard, monitor, and a network card that is connected to a server or a powerful computer - Completely depends on the computer they are connected to for computations, data processing and data management - Very low processing power Thin Client - Low performance terminal - Depends heavily but not entirely on the server it is connected to - mainly uses resources/applications from the server Server - A computer that provides data to other computers - It may serve data to systems on a local area network (LAN) or a wide area network (WAN) over the Internet - Many types of servers exist, including web servers, mail servers, and file servers - Each type runs software specific to the purpose of the server - For example, a Web server may run Apache HTTP Server or Microsoft IIS, which both provide access to websites over the Internet - A mail server may run a program like Exim or iMail, which provides SMTP services for sending and receiving email - A file server might use Samba or the operating system's built-in file sharing services to share files over a network - While server software is specific to the type of server, the hardware is not as important. In fact, a regular desktop computer can be turned into a server by adding the appropriate software. Client-Server Model - Where clients request information and the server performs tasks in order to provide the information - At least one server machine is required as a prerequisite for the client-server architecture - The main difference between servers and clients is that servers share their resources, whereas clients do not Router - A router is a hardware device that routes data (hence the name) from a local area network (LAN) to the internet - It can be a separate hardware device or software loaded onto a server Domain Name System (DNS) - Serves as names for the computer - Transforms the webpage that you type in into an Internet Protocol(IP) address that can be found with servers - A DNS server attributes names to network addresses and therefore resolves names by assigning them to appropriate entities (a resource that is part of the network - Automatically finds the address of the name that you typed into the address bar of your web browser from the internet - The DNS system is a protocol within the set of the Transmission Control Protocol(TCP)/IP protocol suite and is used for managing public names of websites; one can bypass the DNS lookup by directly entering the IP address directly into a browser. Email Server - Manages the flow of emails in and out of the network, checks if it is valid, and allows users to access their email etc Router - Networking device that accepts incoming quanta of information(data packets) - Routers reads the destination address of the data and distributes them across networks - Data is distributed according to a routing table or routing policy (policy based routing) - A router identifies the destination of a message and sends them via an appropriate route and is used to forward data packets between networks Firewall - Hardware or software network infrastructure that controls data flow access among network entities - Used to offer protection and limit access to a network - The ideal firewall system configuration consists of hardware and software components 1.2.3 Describe the roles that a computer can take in a networked world Exit Skills - Give the precise meaning of IT subjects of social and ethical significance - Develop a balance and thorough review of a given scenario that involves social and ethical issues - Explain the effects that are associated with continued developments in IT Social Issue - A social issue is a problem that influences a considerable number of the individuals within a society Examples of social issues: Crime, Health, Education, Media & Propaganda, Poverty, Terrorism Ethical issue - A problem or situation that requires a person or organization to choose between alternatives that must be evaluated as right (ethical) or wrong (unethical) Examples of ethical issues: Computer crime, Responsibility for computer failure, Protection of computer property, records and software, Privacy IT subjects of social and ethical significance - Reliability - How well a system functions - Reliability determines value - Integrity - Protecting the completeness and accuracy of data - Data lacks integrity if it is incomplete, out of date, or has been purposely or unintentionally altered - Inconsistency - If information is duplicated and only one copy is updated - Security - Protection of hardware,software, peripheral and computer networks from unauthorized access - Methods include: biometrics, proprietary tokens, passwords, firewalls, locks - Authenticity - Proving one's identity to gain access beyond reasonable doubt - More factors = higher difficulty of providing false credentials - Privacy - Ability to control how and to what extent data is used and disseminated to others - How long data is stored - Who has access to the data - How the data is used - Anonymity - When an individual uses a system to conceal their real identity - Can be used to commit illegal or malicious activities - Intellectual property - Ideas, discoveries, scientific, endeavor, photographs, films, essays, unauthorized and illegal reproduction - Copyright laws are designed to protect intellectual properties from unauthorized reproduction - Modern file sharing practices make it easy to break copyright laws - The Digital Divide and Equality of Access - The growth of information technology has not been developed equally in all parts of the world - Even in advanced countries there are some areas who lack access to IT infrastructure - Reasons may include - Economic costs - Financial costs - Lack of literacy - Lack of language skills - Lack of basic resources (electricity) - Surveillance - Using IT systems to monitor individuals or a group of people with or without their knowledge or consent - Groups that may perform surveillance include - Government - Law enforcement - Employers - Traffic control - Globalization and Cultural Diversity - The use of IT to diminish the importance of geographical, political, economic and cultural boundaries while speeding up the global spread of political, sport and cultural news - Traditional values and culture may diminish over time 1.2.4 Identify the relevant stakeholders when planning a new system Stakeholder - A person, group or organization that has interest or concern in the system - Examples - Creditors - Directors - Employees - government (and its agencies) - owners (shareholders) - Suppliers - Unions - Community from which the business draws its resources - Not all stakeholders are equal - Who will the new system affect? - Who will the end-users be? - What are their needs? 1.2.5 Describe methods of obtaining requirements from stakeholders Methods of Obtaining Requirements: Surveys: Interviews: Direct Observation: Collecting Documents: Pro Cons Survey Can get lots of response Lying bastards Accessible Not filling in Cheap Potential for bias Online Fast Automatic Data Compile Interviews High quality data Slow ○ In-depth Costly ○ Follow up Can’t collect from many Flexibility & Adaptability people Authentic Not generalizable Better for singular Hard to process data stakeholders Potential for bias ○ e.g CEO Questions may be biased/guide towards specific answers Can be asked about what they don’t like TAKES A LONG TIME TO PROCESS Direct Observation Natural, no interference Slow Empirical They know they are Can be done with an being observed interview Cannot ask questions Authentic - what they are ○ Don’t know why doing rather than what people are doing they tell you what they are Unbiased doing Open to interpretation Hard to process data Collecting Documents Detailed information Slow Hard to interpret Dumb Terminal Thin Client Client Without Server No Functions Some Functions Most Functions 1.2.6 Describe appropriate techniques for gathering the information needed to arrive at a workable solution Before you start making a system you need to make sure you know exactly what’s going on at the moment and what other information you might need. Methods of gathering information: - Examining current systems - Looking at competing products - Organizational capabilities - Literature searches (web/books) 1.2.7 Construct suitable representations to illustrate system requirements Basics Rectangle - external entity, person, data source Arrow - direction of data flow Open box - storing data Rounded box - a process E.g. drivers renew license on national website, input personal detail and various checks to make sure it fits age and medical requirement, if it fits then it is approved or else rejected Data flow diagram - In a System Flowchart, there will be no decision blocks - Format the blocks with command/type 1.2.8 Describe the purpose of prototypes to demonstrate the proposed system to the client 1.2.8 Purpose of prototype: - Gives idea of final product - Better to fail early!!! - Weed out the issues before release - Cheap and quick - Increases system development speed - Can interact with end users / data collection - People can conceptualize the product before release, experiencing its functionality - Attract attention from end-users - Gather funding for development of the product - Promoting - Investors 1.2.9 - Discuss the importance of iteration during the design process 1.2.9 - Iteration - a procedure in which repetition of a sequence of operations yields results successively closer to a desired result - 1.2.10 - Explain the possible consequences of failing to involve the end-user in the design process. 1.2.10 Explain the possible consequences of failing to involve the end-user in the design process. User dissatisfaction: - Unable to address user’s problem - User unable to fully utilize the system - More cost into modifying the system to satisfy user after final product is already released 1.2.11 Discuss the social and ethical issues associated with the introduction of new IT systems Exit Skills - Explain the importance of the introduction of new IT systems - Analyze the social and ethical issues that relate to a given scenario - Identify possible consequences associated with new IT systems Ways new IT systems have changed the way humans live - ATM replace human, travel sites replace travel agencies, reporters replaced by internet blogs and “citizen journalists” - Facebook and Twitter becoming vital parts of peoples’ lives (kevin) - “Smart home” - virtual environment that takes control of everyday household tasks like checking the contents in your fridge and making appropriate orders for supplies - In business environments people have to study new technologies alongside their regular duties 1.2.12 Define the term usability Exit Skills - Give the precise meaning of the term usability, ergonomics and accessibility Accessibility ≠ Usability Usability - the potential of a product, application or website to accomplish user goals Accessibility - the potential of a service, product, device or environment to serve and meet the demands of as many users as possible Components of Usability - Memorability - How much people remember after not using the product for a while - Learnability - How easy is it to learn it from scratch - Errors(while using the system) - How prone users are to making mistakes - Readability - How to make text/content more readable with limited screen size - Efficiency - After you learn it, how fast can you use the system Ergonomics - ergonomics or human engineering refers to the design of safe and comfortable products, systems or processes, specifically for people (examples include keyboard shaped to consider human comfort) 1.2.13 Identify a range of usability problems with commonly used digital devices Devices: - Console Controllers (High Efficiency, high errors, high memorability) - iPhones (High learnability, high memorability, limited readability, low errors) - PCs 1.2.14 Identify methods that can be used to improve the accessibility of systems Usability ≠ Accessibility Usability - the potential of a product, application or website to accomplish user goals Accessibility - the potential of a service, product, device or environment to serve and meet the demands of as many users as possible Peripherals can increase accessibility For example: Left handed mouse Braille keyboards Eye-typers (steph hawk) Screen readers Voice synthesizers Accessibility controllers Types of disabilities - Visual - Auditory - Mobility and dexterity - Cognitive 4 specific ways to improve accessibility of a system: 1. Touchscreen: UR THE REASON HE MADE COPY CHRIS LIU!! Listen to music using the atm 1.2.15 Identify a range of usability problems that can occur in a system Usability Problems Ticketing System - Too many redirects - Too many distractions - Online Payroll (paying salaries/wages) - Too many icons and information - Requires a level of prior experience Scheduling - Airport departures board - Don't know how its sorted - Alphabetical - Too many flights listed - Too many rows, information, homogeneous looking info - Easy to make errors Voice recognition - They can mishear you - Don’t know the features/commands of it - Systems that provide feedback - Options limited - How reliable is the feedback - kid or insane person (sebastien having amygdala hijack) spamming button - Topic 2 - Computer Organisation (SL & HL) 2.1.1 - Outline the architecture of the central processing unit (CPU) and the functions of the arithmetic logic unit (ALU) and the control unit (CU) and the registers within the CPU CPU: Central processing unit - First checks cache, then PM, then SM - The primary component of a computer that acts as its “control center.” Arithmetic Logic Unit (ALU), aka core: Performs all the basic arithmetic, logical, or input and output operations. Multi-core processor: Multiple ALUs, perform multiple operations at the same time - High power/ low power cores, mainly for mobile devices; to preserve battery. Non-intensive tasks use low power cores, resource intensive tasks use high power ALU. More cores not always equals to more speed Processors can get too hot, reaching a point where if it gets hotter it can get damaged, the system lowers speed to stop the processor from getting hotter. 3 jigahertz doesnt mean it will run at 3 jigahertz Temperature impacts the performance of the computer Control Unit (CU): Responsible for providing the ALU with the data that needs to be processed, as well as the instructions on how the data should be processed. MDR: Memory data register - Tells primary memory what info to write/read MAR: Memory address register - Tells primary memory where to write/read info PM: Primary memory (more expensive) - CPU talks to ROM first, then talks to RAM - RAM: Random access memory - Can write and also read - Volatile (if there is no power (when the computer is off), the data stored in the RAM disappears) - Store: instructions, addresses (another place in the RAM), values for variables - ROM: Read-only memory (BIOS, basic input or out system) - Cannot write information to it, only read - Non volatile (data is preserved when power is off) - The ROM stores: - The initial instructions to start up the operating system (booting) - BIOS (basic input and output) - CPU works with ROM, contains the basic system to interact with the system - OS is loaded from SM to RAM - Cost per Gigabyte of PM is much higher than SM - SM (Secondary Memory): Stores all applications and documents, everything you save - To watch movie, CPU transfers bits from SM to PM - Cannot function without PM because it bottlenecks as it passes instructions slowly - Non volatile - Stores OS - SSD: Solid state drive - HDD: Hard disk drive - SSD speed > HDD speed - The secondary memory is really slow compared to the RAM Cache: small memory that stores frequently accessed instructions or data changes. Faster than reading instructions from the RAM. Bus: A system that transfers data between hardware Memory Address bus (MAB): Transfers addresses in between CPU & PM Data bus (DB): Transfers data between CPU & PM In computer architecture, a bus (historically also called data highway or databus) is a communication system that transfers data between components inside a computer, or between computers. This expression covers all related hardware components (wire, optical fiber, etc.) and software, including communication protocols. In most traditional computer architectures, the CPU and main memory tend to be tightly coupled, with the internal bus connecting the two being known as the system bus. In systems that include a cache, CPUs use high-performance system buses that operate at speeds greater than memory to communicate with memory. The internal bus (also known as the internal data bus, memory bus or system bus) connects internal components of a computer to the mother board. Local buses connect the CPU and memory to the expansion bus, which in turn connects the computer to peripherals. Bus systems such as the SATA ports in modern computers support multiple peripherals, allowing multiple hard drives to be connected without an expansion card. the the mdr and mar not in the cu CPU only reads from the RAM. Memory, Operating Systems, and Applications 2.1.9 - Define the terms: bit, byte, binary, denary/decimal and hexadecimal Binary - 2 states, 1 or 0 e.g. On or off, just like a light switch. Higher degree of accuracy is unnecessary and hard to measure. BASE-2 numbering (only 2 symbols to represent) Bit - Binary digit, smallest unit of data in computing (represented by a 0 or 1) Byte -8 bits grouped together Denary - Numbering system with 10 symbols: 0-9 BASE-10 0123456789 Hexadecimal - Numbering system with 16 symbols: 0-9 + A-F BASE-16 A=10, B=11, … , E=14, F=15 A to F is just numbers beyond 9 used for like color #000000 is sherman Why we use hexadecimal - it is easy to convert to binary: 1 hexadecimal digit = 4 bits Turkish Quandale Dingle Divide each character in a string. ASCII table - Assigning a number to a letter - 8 bits Unicode table - Includes more characters, expand ASCII table, e.g. language, emojis - 16 bits (larger) COlors - Represented as Hexadecimal or RGB - RGB is from 0 to 255 - (0,0,255) for blue - Hexadecimal is from 0 to F - (#0000FF) for blue Screens consist of many grids, which are called pixels. Higher resolution != better quality Resolution is dimension of pixels on a digital screen, x*y Common screen resolution: 4k 4K resolution can fit 4 full HD screens ” Pixelated” We use hexadecimal or RGB to give each pixel a colour. The pixels combined create an image. Convert binary to hexadecimal: Start from the right, divide the bits into 4 digits in a group 1101/0111 0011/0011 Look at table then substitute each group of 4 with its hex. Always indicate base of answer. Binary, base 2 Decimal, base 10 Hexadecimal, base 16 Convert hexadecimal to decimal: Same way as binary -> decimal: Hex: 33 b16 16^1 * 3 + 16^0 * 3 = 48 + 3 Dec = 51 b10 Each hexadecimal digit is 4 bits. Double - decimal Long - whole Float - decimal Int - whole Different types have different sizes. Uses different space, to be more efficient we separate into two types. One type for smaller numberrs and other for larger. E.g int for most numbers, long for very large numbers. Operating system can allocate the number of RAM needed according to the variable type. 2.1.11 - Define the Boolean operators: AND, OR, NOT, NAND, NOR and XOR Logic gates use binary False = 0 True = 1 Q = Result A, B are operands XOR = Exclusive OR (A, B must be different for Q to be true) NOT = if something is true, returns false A&&B When a=1, b=1 Q=1 When a=1, b=0 Q=0 When a=0, b=1 Q=0 When a=0, b=0 Q=0 A||B (or) When a=1, b=1 Q=1 When a=1, b=0 Q=1 When a=0, b=1 Q=1 When a=0, b=0 Q=0 A XOR B When a=1, b=1 Q=0 When a=1, b=0 Q=1 When a=0, b=1 Q=1 When a=0, b=0 Q=0 A NOT / NOT A When a=0 Q=1 When a=1 Q=0 Topic 3 - Network Fundamentals (SL) What is a network? Devices that are interconnected, communicating with each other, and sharing resources. Can use all of the processing power of the computers in the network 3.1.1 - Identify different types of networks Hardware i think: Modem: Converts signal from fibre-optic cables/wireless signal into something understandable to the device or router Switch: Connect the computers in the LAN Router: Connect LAN with WAN - The switch can be connected to the router and provide the local area to the internet Local Area Network (LAN): Covers a local area - Includes a local office/building and is common in homes, thanks to spread of wifi - Can be wired or wireless - Nearly all modern LANS are based on Ethernet Wide Area Network (WAN): Covers area wider than local - Definition: Interconnected LANs over a wide area - E.g. two LANs connected in a small house does not count as a WAN - Involves a bigger area than LAN - Collection of other networks, including LANs and WANs --hence the name. - WANs can be wired (fibre-optic cable) or wireless (microwave or satellite transmission technology). - The internet is a WAN - Spans across whole world - Could be connected in wide range of ways - Satellite - Wires - Fibre optic cables - Internet - Globally connected network system - WWW is just one of the services of the internet - E.g. Instagram, whatsapp - Extranet - - Virtual Local Area Network (VLAN) - Commonly used for large companies - A network that is subdivided into smaller networks, sub networks - Physically connected, but separated virtually - When creating new network do not need to create LAN, just create VLAN and connect to LAN - Advantage: - Can merge two groups together - Security: easier to control access for the users - E.g. Teachers can access certain things students can't, but teachers’ can’t get access to HR files - Disadvantage: - Managing VLAN is difficult Storage Area Network (SAN): Sharing storage - Just see the drive, can't see the whole computer - Computers used as drives still need CPU & RAM etc to connect to the network and process basic information to store & manage storage Wireless Local Area Network (WLAN): Exclusively wireless LAN - Most commonly used with wifi - ISF - Disadvantages - Slower than LAN Switch - Connects computers to LAN - Add numbers of switches when number of computers are expanded Network Cord - Connects switch and router, can be wired or wireless with wifi Router - Routes LAN to WAN - One router even when number of computers expand Modem - Convert signal to something understandable to another device - Advantage to not having a modem in the router: Routers get updated very often, modems don’t. Routers with modem build in have to get modem updated as well, extra cost - Phones have modems Intranet: a private network contained within an enterprise that is used to securely share company information and computing resources among employees Extranet: only accessible to some people, could include login password VPN (Virtual Private Network): Allow people to log into a network remotely and access its resources - Make a tunnel between your computer and a VPN server - Tunnel is an encrypted connection - People outside of the tunnel can't see what’s inside, or not be able to decrypt it - VPN has access to user’s data, VPN can see which websites the user wishes to visit - Uses: - Bypass firewall - Change location - If your company sets you up with a VPN, you can access your corporate intranet, file servers or email from come as if it was being used in the office (LAN) - Good for remote workers, especially in fields where privacy is paramount - Requires authentication to connect to the VPN server - Slower speed - Speed is inversely proportional to to distance - Limited by the speed of the VPN server - Fast connection, slow VPN server = slow Technologies required to provide a VPN - A LAN that is connected to the internet - One computer outside of the LAN that is also connected to the internet - VPN client and server running on the lone machine and the original LAN - Internet connection Intranet with VPN Why is it secure: 1. Authentication, not everyone can connect to the VPN (Nobody outside the organization should be accessing the VPN) Using username password, two factor authentication, certificates, one-time passwords and software tokens to authenticate. 2. Encryption/Tunneling, when data is intercepted it cannot be read due to encryption. Personal Area Network Definition: PAN is the computer network that connects computers/devices within the range of an individual person. As PAN provides a network range within a person’s range typically within a range of 10 meters it is called a PAN. - Covers small area, a small room AND only serves one person (not necessarily) - Interconnects devices that are centered around a user - Smallest kind of network - Can be connected wired or wireless - Connection between smart watch and phone - Wired: USB, Headphones - Bluetooth Peer-to-Peer (P2P) - A network model in which computers or hardware devices exchange files - Computers are servers and clients at the same time (Both client and server at the same time) - Making a call: Both phones are sending and receiving data. 3.1.2 - Importance of standards in the construction of networks Devices are made by different organisations, components are built by different companies Devices with different standards struggle to communicate with each other Standards can be both software (protocols) and hardware - Apple didn't follow the standard of usb c and make their own standard - Is a standard -> could make a cable, create devices that could communicate using the cable (standard) There are companies that set the standard that companies that produce devices have to follow Why do we need standards? - Create common ground - Communication between devices Protocol: specifically for how to do things Examples of standards: 1. Certain pins carry electricity, other data. 2. How they send information, how they interact 3. File types - Apple releases HEIC, image viewing softwares have to adapt to these changes 4. Type C cables, allows macbook to be compatible with monitor, monitor to be compatible with Nintendo switch 3.1.3 - Describe how communication over networks is broken down into different layers 3.1.4 - Technologies required to provide a VPN A virtual private network (VPN) uses the internet to allow people to log into a network remotely and access its resources, but encrypts the connection to thwart eavesdroppers. Strengths: - Allows for remote connection - Increased security, as the VPN encrypts information passed through its tunnel - Change location - Bypass firewall Limitations: - Reduces speed - Potentially banned by certain servers - Data potentially logged by VPN service provider (loss of privacy) Telecommuting - VPN allows for connections into the company’s LAN remotely more secure 3.1.6 - Protocol and data packet Protocol Definition: A set of rules for data communication over a network - How to send and interpret data - Order, send file name or content first? - Make sure data is transmitted correctly Data packet Definition: A unit of data made into a single unit that travels along a given network path - Data sent are split into packets - Contains set amount of data - Contains data - Contains specific details for transmission - Contains a fixed structure - Data: Anything in a form suitable for use with a computer - Packet: A small unit of data used in network communication. A data packet must contain - Header: - Sender’s IP address - Receiver’s IP address - Protocol - Payload: - Data Protocol vs standard: Standards a set of guidelines of rules for a platform or language that should be adhere to. It includes specifications of hardware, software, interfaces, interoperability and safety to ensure functionality. Protocol: a set of formal rules describing how to transmit data, especially across a network, rules that must be adhered to ensure effective communication 3.1.7 - Explain why protocols are necessary Flow Control - Rate of data transmitted from sender to receiver - To ensure rate of data transmitted matches receiver’s receiving capabilities - Avoids congestion - Utilized to prevent data is sent faster than what receiver can receive Deadlock - Two or more nodes trying to access one node at the same time - Up to the protocol to stop and queue the two nodes’ requests Congestion Control - State where a node or link carries so much data that the service quality deteriorate, which may result in data loss - Results in delays, data packet loss and blockage of new connections (see dead ock) 3.1.8 - Explain why the speed of data transmission across a network can vary Wired (usually faster): Less interference Wireless (usually slower): Wifi slower to connect, but faster in terms of data transfer Bluetooth (way less electricity) faster to connect, slower in terms of data transfer Data transfer is limited by the cable, even if the port has higher transfer capacity Traffic: The more network traffic, the slower the data transfer on a particular connection will be. (may result in slower data transfer at some times of day) Distance: +Distance = - Speed Signal repeaters may be used for long distance signals as they are weakened Speed will be lower if there are obstacles in the way like wall Infrastructure: A phone capable of using 5g in a country without 5g infrastructure will affect transmission speed Hardware overheating can slow down transmission speed Large files can be slower to transmit not only due to more packets needing to be sent, but more packets also create more traffic that slows the transmission speed down even more. 3.1.9 Explain why compression of data is often necessary when transmitting across a network Smaller file size = faster transmission speed Some file types are already compressed - Mp3 - Jpeg - pdf If you have something that is already compressed, sometimes compressing it further will not reduce the size by much. Compression Definition: Data compression involves encoding information to use fewer bits than the original data entity. Why bother to compress - Hard drives are not compress, as this requires the user to decompress it whenever accessed, which takes time - Backups are compressed as these are used as a last resort, and does not need to be used as regularly Types of compression - Lossless - Lossy - File Size is smaller - Lose some data 3.1.10 Outline the characteristics of different transmission media Wired Wireless - Confined to the computers that are - Easier to expand(more area/users) connected (more secure) (requires less infrastructure) - Can physically restrict the access (people from outside can't easily gain access, have to be physically near the wire) - Faster than wireless (in general) - Higher Cost (in general) - Harder to set up - Less prone to interference DSL - Digital Subscriber Line Transmits data through phone lines - Digital signal - Can access internet and phone call at the same time - Everyone has access to their own internet connection (no need to share bandwidth) - Use common telephone lines - Signal in copper wires could be interfered - Forms - ADSL (asymmetric digital subscriber line) - Download faster than upload - Used in homes - Cheapest form - SDSL (Symmetric digital subscriber line) - Upload and download same speed - VDSL (very high bit rate DSL) - Very high bit rate DSL - Fiber internet (fiber optic) - Fastest data transmission method - 1000 Mbits/s - Travel longer distances - More expensive Dial-up connection transmits data using sound - In a dial-up connection, you would not be able to make a phone call while browsing the internet as when using the internet through dial up connection, the modem dials a specific number to the ISP, which takes control over the phone line, making voice communication unavailable - Much slower than DSL - Cheaper Transfer through infrared - Very slow - Takes little power - Vulnerable to interference 3.1.11 Explain how data is transmitted by packet switching 3.1.12 Outline the advantages and disadvantages of wireless networks Advantages - Uses unlicensed radio spectrum - Doesn't cost anything - LAN can be setup without cabling - Setup costs is minimal (MAIN ADVANTAGE) - No need to like break walls to establish cables - Easier to set up - Easy to scale up the number of users - WiFi can support roaming between access points - Can switch from router to router automatically based on the quality of the connection - One benefit is roaming - Global standards (e.g. WiFi 6) Disadvantages - Interference - Prone to interference - Wired can be shielded from interference - Limited Range - Access Points - Can be used to steal data - Health Concerns - WIreless Networks are usually slower Hardware Components: - Node: Pc, Laptop, Tablet, Printer - Wireless network interface card - Radio waves (Bluetooth/Wifi) Software Components: - Network Operating System (with drivers) - Protocol stack (TCP/UDP/IP) - Applications (Browser/ File Explorer) 3.1.14 Describe the Characteristics of Wireless Networks - Extremely low frequency - Very slow - Extremely long range - Goes through walls and obstacles - WiFi (LAN) - Bluetooth (PAN) - Typically used in PAN - Easy to establish connection - can only handle small amounts of connections at a time - Consumes less power than WiFi - Satellite communication (WAN) - Cellular networks (WAN) 5g, 4g, 3g, LTE 3.1.15 Describe the different methods of network security - Protect information from being access or changed - DoS Attack - Denial of service - flood IP with request - Encryption - Symmetric encryption - Sending a message that requires a specific key to open - The key to open it belongs to the sender - Vulnerable when sending key to receiver - Asymmetric encryption - Computers use a public and private key to perform asymmetric encryption - Public key is key used to encrypt a message - Private key is used to decrypt the message that was encrypted with the corresponding public key - The computer’s public key is shared with other computers that want to send encrypted messages to the computer - One factor authentication (how many things are needed to log in, e.g. one factor authentication can be biometrics or sms) - Something you know - Password - - Two factor authentication - Something you have (Debit/Credit card) - Mobile app - Mobile SMS - Three factor authentication (technically 26 passwords each being one letter of the alphabet is twenty-six factor authentication) - Something you are - Biometrics - Fingerprint - Face scan - Factor: Number of things you need to get in - 2 passwords = 2 factor authentication - Firewalls - Controls & Monitors - Filters traffic based on predetermined set of rules - Analyses packets to detect suspicious activity - MAC Address - Media access control address - Every device with network connectivity has MAC address - A method to identify hardware - Windows and MacOS changes MAC address every time it connects to a network, prevent being tracked with the same MAC address - MAC Address Filtering: Don't need password - Easier to restrict access - 3.1.16 Evaluate the advantages and disadvantages of each method of network security Type Rank in security (1 is weakest, 4 is strongest) WEP 1 WPA (Wifi Protected Access) 2 WPA2 3 WPA3 4 WPS - A button on the router - Allows users to turn off authentication method for a short period of time - Useful for devices that cannot enter wifi passwords SSID - “Name” of the network - Can be set to be hidden Topc 4 4.3.4 Explain the need for higher level languages - Simplify for humans Topic 5 - Abstract Data Structures (HL) 5.1.1 - Identify a situation that requires the use of recursive thinking. Recursion and Iteration Recursion acts like a stack Last method called is first one to return First method called is last one to return Recursion can create stack overflow because more memory is getting occupied every time it repeats (requires output of the previous stack) Iteration doesn’t cause stack overflow because it occupies the same space in the memory For queues & stacks, getting an item would remove them from the queue or stack. For binary trees, array, LL, getting an item wouldn’t remove it Queue First one in, First one out. Just like lining up in a queue Enqueue Dequeue isEmpty Stack Last one in, First one out. Just like stacking cards Push & Pop Applications: Holding data of a recursion method Saving most recents actions Binary tree The level of a particular node refers to how many generations the node is from the root Traverse - In order - Left → Center → Right - Purpose: To get elements sorted from smallest to largest - Pre order - Center → Left → Right - Purpose: To copy the tree with the same order - Post order - Left → Right → Center - Purpose: To delete every node as a leaf - Killing every node individually (Cartel 101; kill the victims children so they don't avenge their parents) N-ary Tree Each node can have more than one child. LCR LinkedList Iterator, while loop 5.1.19 - Compare the use of static & dynamic data structures Static: - Takes up set amount of space no matter how many objects are in there - Less efficient in the use of memory Dynamic: - Size of data structure changes as amount of objects change - More efficient in the use of memory 5.1.20 - Suggest suitable data structure for given scenario Array good for when need to reserve memory Takes less memory than a linked list when full. Stacks work like calling functions Queue works like interrupt handling, first application that requests is dealt with first. Object called from stack or queue is removed Topic 6 - Resource Management (HL) 6.1.1 - Identification of critical resources Exit Skills - Identity the resources that need to be managed within a computer system Primary Memory (RAM): - Stores data for currently running programs - Common capacities - 4, 8, 16 GB - More primary memory means more programs can be ran simultaneously Secondary Storage: - Stores all data, OS, program files, multimedia data - Virtual memory when RAM is overloaded - Common capacities - HDD(Hard Disk Drive) 500GB, 1TB, 2TB - SSD (Solid State Drive 256GB, 512GB , 1TB(a lot more expensive than 1TB HDD) - Optical (Not really used anymore but ib)- CD 650MB; DVD 4.7GB Processor (CPU): - Does the calculations - One core at least, each core can do 1 task at a time Bandwidth: - How much data can be sent at same time in a certain time frame(bitrate) - Measured in bits per second (bps): - Examples: - Broadband = 16-100Mbps; - LAN = up to 1Gbps (note: 1 Gbps = ⅛ GBps) Screen resolution: - Number of pixels(height*width) - Higher resolution, bigger file size, better image quality - Examples: - 1024×768 (XGA) - 1366×768 (HD 720p) - 1920x1080 (HD 1080p) K - 4096x2304 (4K) Sound Processor: - Sound reproduction is done by a separate processor - Frees up the CPU from doing sound processing Graphics Processor(GPU): - Complex graphic processing - Frees up the CPU from doing graphic processing Cache: - Contains instructions/data that the CPU is likely going to ask from RAM - Faster for the CPU to access stuff from cache than from RAM, speeding up the processing. Network Connectivity: - Each network card connects to a network media(wired/wireless) - Limited connection types/types of network media limits the way data is sent and/or received in a system - Examples: - NIC = LAN/ethernet cables - WNIC = WiFi signals - Bluetooth = Bluetooth signals - 3G radio = cellular signals 6.1.2 - Availability of resources Exit Skills - Evaluate the resources available in a variety of computer system Mainframes: - A huge computer, thousand of cores, lots of memory and storage - Used in large companies, used for weather, financial, social models and predictions - Used to host virtual machines for smaller computers - Main players: CRAY/IBM Server farm: - Lots of high spec computers running together, each has 32GB+ and TB storage - Used as servers for networks, cloud service and storage, data centers, size variable PC: - Single processor but multiple cores - Moderate 2-16 GB memory and TB of storage - Companies, school, can be expanded and used as personal computer - Use performance cores to do demanding tasks and switch to efficiency cores to save battery Sub-laptops (Netbooks): - Like the chromebook less memory and storage, only for browsing the web - Uses very low stripped down OS like linux and chromeOS and also portability and battery life focused Cell phone and mobile devices: - Even less core processing power, 1-3GB memory, can be upgraded storage - Personal mobile devices computer, more and more popular, biggest constraint is screen size and input Tablets: - Single or multi core processor, 1-4GB, limited storage - Very common for media consumption, more capable now, lack keyboard PDAs: - Single core, primary and secondary memory limited Digital Camera: - Single core, primary memory limited, secondary storage expandable 6.1.3 - Limitation of resources Effects of limited primary memory: - Fewer programs can run simultaneously - Processing speed can be limited - Must rely on virtual memory (taking data out of ram because its overloaded and putting it in secondary memory - Can't open program Effects of limited secondary storage: - Limited virtual memory from RAM to rely on - Limited number of programs that can be stored and used Effects of limited CPU: - Typically happens on single core single processor system - Unable to run complex tasks efficiently - Slow processing speed 6.1.4 - Problems with insufficient resources Single Program Operation: - Old Computers could only do single program operation supervised by a simple OS. - Took long time to run tasks Batch Processing: - Some programs are batched together then executed as a group - Each tasks in the group are queued to be run - Repeats until all the programs in the batch are run - Don’t need intervention from user Multiprogramming: - As computer systems evolved even more, more than one program could be loaded in RAM at same time to be executed - Minimizing CPU idle time - E.g. When a currently running program is performing input/output tasks the CPU will be idle. Multiprogramming OS will allow other programs to run while waiting. Multitasking: - Tasks (instead of whole programs) are being performed simultaneously - The OS is able to track where the user is to prioritize tasks Multi-user system: - Many users on the same machine or connected to the same network(e.g. Using the same website) Multi-threading - The ability of a program or OS to execute different parts of a program, threads simultaneously - Has to be programmed in a way where all the threads can be executed without interfering with other threads - Several threads of a single process can share a CPU; in a single CPU system, run in parallel in a multiprocessing or multicore system. - Used so that users could interact with the GUI of an application while it was running complex mathematical operations or a network call Multi-access - A lot of users can interact with 1 computer system through their terminals - The computer system may execute a number of programs and connected users can interact with these programs - Must have following characteristics - Multiline communication capabilities that support simultaneous dialogues with the remote terminals - Concurrent execution of various programs with the ability to instantly switch from executing the program of one client to another - Ability to quickly find and make data stored on the hard disks available - Ability to protect all data from unauthorized access 6.1.5 - Role of the Operating System Control peripheral devices: - Communicate and control peripherals through use of drivers(translation programs). Managing memory - Primary - Ensure that each process runs in its own allocated memory space. - Preventing program interfering each other’s space - Secondary: - Provides structure and access methods to these structures(folder-structure or directory structure) - Manages the security access of these folders - Virtual Memory Provides an interface - User gives commands to the computer the OS translates the input/output and sends it to the correct memory address/folder to be processed. - Examples: - Graphical User Interface Operating System (Windows) - Command Line Operating System (Linux Terminal) Time-Slicing: - Multi-user system: time-slice is the set amount of processing time each user gets. - Single-user system: time-slice is the set amount of processing time each program gets. - Slices/Threads are processed one by one Interrupt handling: - Interrupt handler is a function in the OS or a device driver - Triggered by the reception of an interrupt. - Interrupt is a signal sent to the processor, both hardware and software can send a signal - Processor stops current process, interrupt handler handles interrupt process 6.1.6 - 6.1.7 - OS resource management techniques Scheduling: Scheduler assigns the order which tasks should be done based on the priority Policies: The policies what is to be done while the mechanism specifies how it is to be done Happens more in multi user operating systems, not allowing users to access each other’s data Interrupt Handling : Software of Hardware sending a signal to OS to ask to be processed with high priority, scheduler reschedule tasks due to a higher priority task appearing Polling: OS asking software and hardware 6.1.8 - Dedicated OS for a device Dedicated OS: - More efficient, same tasks with less time, less memory - Customisable - Security - More optimised - Remove unnecessary features Abstraction Partition Raid: shadow legends 6.1.9 - OS and complexity hiding Virtual memory: Compensate for shortages of physical memory by temporarily transferring pages of data from random access memory (RAM) to disk storage. Paging(How virtual memory is performed): During virtual memory, the OS moves pages from memory to storage to clear out space for pages from storage(pages the OS needs right now) to be moved to memory and be accessed by the CPU Java Virtual Machine: Allows Java code to run on any platform Topic 7 - Control Systems (HL) Centralized Control Systems Sensor input -> Control system -> output actuator Microprocessor - A integrated circuit that has the functions of a CPU Sensor: - A device that detects/measures a value irl and responds to it(sending an analog signal etc) - Sensor records analog signals and ADC(Analogue to Digital Converter) translates them into digital signals for the processor to process - Processor’s digital output can then be converted to analogue signals again if needed(DAC) Sensor Examples: - Motion - Heat - Sound - Light - Button - GPS - Timer - Weight - Magnetic(Compass) - Proximity - Sonar - Sound waves - Radar - Radio waves - Lidar - Laser waves - Force/Pressure Control System/IPO Model Examples: - Automated door - Input: Proximity sensor, Button, Clock - Output: Motor open door - Heating system - Input: Thermometer, control dial - Output: Boiler, circulation pump - Elevator - Input: position of the elevator, button to control/request, timer - Output: display floor and direction, lifting system, door system - Washing machine - Input: temperature, control dial, water level sensor - Output: Drum motor, heater, pump, indicator screen, buzzer Device ->device driver -> OS Transducer: Converts one form of energy to another A device that converts a physical property into a usable form. A sensor is a kind of transducer that converts physical quantity like temp or pressure into electrical signal - Ease of amplification - Ease of integration and differentiation - Ease of convertibility from analog to digital and vise versa - Remote controllability and easy data transmission capability - Compatibility with microprocessors and computers Transducer is used every time one signal is transformed from one form to another Sensor -> transducer(analog to digital) -> processor -> transducer(digital analog) -> actuator Feedback: Process of modifications made based on the system’s results Example: Washing machine detecting water level too high, therefore decreasing the water pumped in Social issue: - Crime - Health - Education - Media & Propaganda - Poverty - Terrorism Ethical issue: - Computer crime - Responsibility for computer failure - Protection of computer property, records and software - Privacy Examples: Tagged prisoners, Surveillance Distributed Systems Centralized: processing and decision all on one computer/server, e.g. traffic lights, ATM machines Pros

Use Quizgecko on...
Browser
Browser