Search CSNewbs
304 results found with an empty search
- 7.1 - Language Levels - Eduqas GCSE (2020 Spec) | CSNewbs
Learn about the two types of language levels, high level and low level, including explanations and examples. Based on the 2020 Eduqas (WJEC) GCSE specification. 7.1: Language Levels Exam Board: Eduqas Specification: 2020 There are two types of programming languages used within computer systems: High-Level Languages Why do programmers use high-level languages? H igh-level programming languages use code written in a way that is similar to a natural human language , such as English, making it easier to understand and use the language. Using high-level languages leads to fewer errors and allows for more powerful and complex commands compared to low-level languages. However, a high-level language must be translated into machine code (binary) before it can be run, as high-level languages cannot be executed directly by the CPU . Popular high-level languages: PYT HON C++ Ja v a Visual Basic Low-Level Languages Low-level languages do not closely resemble a natural human language , making it harder for humans to understand and write in. Low-level languages are used when a program must be executed quickly or when programmers need to write code that interacts directly with the hardware , such as device drivers. There are two types of low-level language : Machine Code This is the pure binary code that computers can directly process and execute . It is extremely tedious and difficult for humans to understand and write machine code. However, machine code can be used when a programmer needs to perform a very specific command that can't be done in a high-level language. Machine code will be executed faster than high-level programs because it is already in a format the CPU can execute and does not need to be translated . 0010 1011 0101 0101 0110 0111 0101 0001 0101 0101 0101 0100 1010 1010 1010 1010 1111 1110 0010 1001 0100 1001 0010 0111 0111 0101 0011 1010 1000 0101 0110 0111 0000 1010 1010 0011 1101 1001 0010 1101 0010 0100 1001 0011 1010 1001 0101 0101 0010 0101 0111 0101 0101 1000 1011 0111 Assembly Language Assembly language uses specialised command mnemonics to perform actions . See the Assembly Language section in the programming tab for a list of mnemonics such as INP , OUT and HLT . Assembly language is preferred by many programmers over machine code because it is easier to understand and spot errors . It is faster to execute than high-level languages and, like machine code, can be used to directly control the CPU . Q uesto's Q uestions 7.1 - Language Levels: 1a. Describe three reasons why programmers use high-level languages . [ 3 ] 1b. Explain one limitation of using high-level languages . [2 ] 2a. Describe a key difference between low-level languages and high-level languages . [ 2 ] 2b. Describe when a low-level language would be used instead of a high-level language . [2 ] 2c. Describe an advantage and a disadvantage of writing directly in machine code . [2 ] 2d. Describe what assembly language is. Give one benefit to using assembly language instead of machine code and one benefit to using it instead of a high-level language . [3 ] 3. Compare high-level and low-level languages by stating which is: a. Easier to understand [ 1 ] b. Requiring translation [ 1 ] c. Quicker to execute [ 1 ] INP STA Number1 OUT HLT Number1 DAT 6.2 - Utility Software Theory Topics 8.1 - Programming Principles
- 6.6 - Logical Protection | Unit 2 | OCR Cambridge Technicals | CSNewbs
Learn about the methods of digital protection including antimalware, firewalls and obfuscation. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification for Unit 2 (Global Information). 6.6 - Logical Protection Exam Board: OCR Specification: 2016 - Unit 2 Logical protection refers to using digital methods of security to protect computer systems and data. Usernames & Passwords ****** Anti-Malware Usernames must be matched with a secure password to minimise the chances of unauthorised users accessing a system. Passwords should contain a mix of uppercase and lowercase letters , punctuation and numbers . Passwords should be of a substantial length (at least 8 characters) and should be regularly changed . Anti-virus software scans a system and removes viruses . If left to infect a system a virus could delete data or permit access to unauthorised users . Anti-spyware software removes spyware on an infected system so hackers cannot view personal data or monitor users. Organisations should install and regularly update anti-virus and anti-spyware programs. Firewall Encryption Firewalls prevent unauthorised access to or from a network . Firewalls filter data packets and block anything that is identified as harmful to the computer system or network. Firewalls can also be used to block access to specific websites and programs. A firewall can be in the form of a physical device which is connected to the network, or software installed on a computer system. Encryption is the conversion of data ( plaintext ) into an unreadable format ( ciphertext ) so it cannot be understood if intercepted . Encrypted data can only be understood by an authorised system with a decryption key . There are two types of encryption . Encryption at rest is when data is encrypted while it is being stored on a system or storage drive. Encryption in transit is to secure the data as it being transferred between systems on a network. Tiered Levels of Access Obfuscation ?????? The purpose of tiered levels of access is to grant different types of permission to certain users. Managing levels of file access ensures that only authorised people can access and change certain files . There are different levels of file access : No access Read-only - Allows a user to view but not edit. Read/write - Allows a user to view and edit. Obfuscation is when data is deliberately changed to be unreadable to humans but still understandable by computers . Program code might be obfuscated to stop rival programmers from viewing and stealing it if they were able to access it. Specialist software can be used to obfuscate data and convert it back into a human-readable format. Q uesto's Q uestions 6.6 - Logical Protection: 1a. Describe why usernames and strong passwords are necessary. [2 ] 1b. State 3 rules for choosing a strong password . [3 ] 2. Describe the purpose of anti-virus and anti-spyware software. [4 ] 3. Describe the roles of a firewall . [4 ] 4. Explain what encryption is. What are the two types? [4 ] 5. Why would an organisation use tiered levels of access ? What are the 3 levels of file access ? [5 ] 6. What is obfuscation ? State a scenario in which it would be used. [3 ] 6.5 - Physical Protection Topic List
- HTML Guide 2 - Essential Tags | CSNewbs
Learn what a tag is in HTML and which ones are necessary to format a webpage ready for text and other content. 2. Creating Essential Tags HTML Guide Watch on YouTube: What is a tag ? HTML uses tags to define the content of a webpage . A tag uses angle brackets - they look just like my teeth... Some examples of tags are and and Most tags have a start tag and an end tag . The actual content is written in between the tags . For example : The p tag is used to write a paragraph Notice that the end tag uses a forward slash . < > Essential Tags There are three tags that are essential for every HTML web page : - This tag declares the start and the end of your html web page. - The head is the part of the web page that the user will not see. - The body holds all of the content of the web page (text, images, video etc.) Don't forget to use backslash for the end tags : / Use the image on the right to add the three essential tags (and their end tags) to your document. Now it is time to add something we can actually see! Text tags are up next. 1. Setup HTML Guide 3. Text Tags
- 3.8 - Cyber Threats - Eduqas GCSE (2020 Spec) | CSNewbs
Learn about malware such as viruses, worms, trojans, spyware, keyloggers and ransomware. Also, learn about phishing, data theft, interception and cyber attacks including SQL injection, IP address spoofing, DDoS attacks and brute force. Based on the 2020 Eduqas (WJEC) GCSE specification. 3.8: Cyber Threats Exam Board: Eduqas Specification: 2020 3.8a: Malware What is malware? Malware is any type of harmful program that seeks to damage or gain unauthorised access to your computer system. Virus A virus can replicate itself and spread from system to system by attaching itself to infected files . A virus is only activated when opened by a human . Once activated, a virus can change data or corrupt a system so that it stops working . Worm A worm can replicate itself and spread from system to system by finding weaknesses in software . A worm does not need an infected file or human interaction to spread. A worm can spread very quickly across a network once it has infiltrated it. Trojan A trojan is a harmful program that looks like legitimate software so users are tricked into installing it . A trojan secretly gives the attacker backdoor access to the system . Trojans do not self replicate or infect other files. Spyware Spyware secretly records the activities of a user on a computer. The main aim of spyware is to record usernames, passwords and credit card information . All recorded information is secretly passed back to the attacker to use. Keylogger A keylogger secretly records the key presses of a user on a computer. Data is stored or sent back to the attacker. The main aim of a keylogger is to record usernames, passwords and credit card information . Keyloggers can be downloaded or plugged into the USB port . Ransomware Ransomware locks files on a computer system using encryption so that a user can no longer access them. The attacker demands money from the victim to decrypt (unlock) the data . ? ? ? ? Attackers usually use digital currencies like bitcoin which makes it hard to trace them. 3.8b: Data Theft Phishing Phishing is the method of misleading individuals or organisations into sharing sensitive information (such as passwords or bank details ), often through the use of emails . Phishers may pose as a trusted company like Amazon or YouTube to direct users to open malicious attachments or encourage them to follow fraudulent links to steal their data . Social Engineering Social engineering means to trick others into revealing their personal data by posing as a trusted source . For example, impersonating an IT technician of a school via email and asking for a student's username and password . Interception This is when data packets on a network are intercepted by a third party (e.g. a hacker) and copied to a different location than the intended destination. Software called packet sniffers are used to intercept and analyse data packets. Physical Theft Computer systems (e.g. laptops) or storage devices (e.g. USB stick) may be stolen in public or from offices. Unwanted systems and storage media should be disposed of securely as data could be stolen from discarded information , such as old CDs or even printed paper. 3.8c: Online Threats & Attacks Hacking Hacking is the method of exploiting weaknesses in a system or network to create, view, modify or delete files without permission. A hacker is anyone who gains access to data or systems that they do not have authority to access. DoS Attack A DoS (Denial of Service ) attack is when a computer repeatedly sends requests to a server to overload the system . A server overload will slow the system and may take websites offline temporarily. A DDoS (Distributed Denial of Service ) attack is a coordinated attack using a botnet of infected systems to overload a server with requests . A botnet is a large group of devices controlled and used maliciously by an attacker. SQL Injection SQL ( Structured Query Language ) is a programming language used for manipulating data in databases . A SQL injection is when a malicious SQL query (command) is entered into a data input box on a website. If the website is insecure then the SQL query can trick the website into giving unauthorised access to the website’s database . An SQL injection can be used to view and edit the contents of a database or even gain administrator privileges . ' or 1 = 1 Brute Force Attack In order to break a password , every possible combination is tested in order from start to finish . This is not a quick method but it should break the password eventually and can be sped up if multiple computer systems are used at the same time. IP Address Spoofing An attacker changes the IP address of a legitimate host so any visitors to the URL are instead taken to a spoofed ( fake ) web page . This web page is used to record any inputted data (such as usernames and passwords) and send it back to the attacker . The spoofed web page can also be used to install malware . Q uesto's Q uestions 3.8 - Cyber Threats: 3.8a - Malware: 1. What is malware ? [ 2 ] 2a. Describe three characteristics of a virus . [3 ] 2b. Describe three characteristics of a worm . [3 ] 2c. What is a trojan ? [ 3 ] 2d. Describe how spyware and keyloggers work. [ 4 ] 2e. Explain how ransomware works and why it is difficult to trace attackers . [ 3 ] 2f. In your opinion, which malware do you think is the most dangerous and why ? [ 2 ] 3.8b - Data Theft: 1. Describe what is meant by ' phishing ' . [ 2 ] 2. Give an example of social engineering . [ 2 ] 3. What is interception ? What software is used to intercept data packets? [ 2 ] 4. Describe why systems and storage media should be disposed of securely . [ 1 ] 3.8c - Online Threats & Attacks: 1. Describe what is meant by ' hacking ' . [ 2 ] 2a. Describe what a DoS attack is and its impact . [2 ] 2b. Describe how a DDoS attack is different to a DoS attack . [2 ] 3. Describe what an SQL injection is and how an attacker would use it. [ 4 ] 4. Describe what is meant by a brute force attack . [ 2 ] 5. Describe IP address spoofing and its purpose . [ 3 ] 3.7 - The Internet Theory Topics 3.9 - Protection Against Threats
- Python | 3b - Simple Calculations | CSNewbs
Learn how to make simple calculations in Python. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. top Python 3b - Simple Calculations Simple Calculations in Python You can perform calculations on numbers in Python using the four main operators : print ( 89 + 47) print ( 89 - 47) print ( 89 * 47) print ( 89 / 47) = 136 42 4183 1.8936170212765957 For addition , use the plus sign + To subtract numbers, use the dash symbol – (but not an underscore _ ) For multiplication , use an asterisk * which can be made by pressing Shift and 8 on a typical keyboard. To divide numbers, use a forward slash / (but not a backslash \ ) Use a string and the calculation to make the output user friendly . print ( "53 x 7 =" , 53 * 7) = 53 x 7 = 371 Simple Calculations Task 1 ( + - * /) Print four different simple calculations, using a different operator ( + - * / ) for each. Make the output user friendly by also showing the calculation (not just the answer). Copy the divide symbol here using Ctrl and C : ÷ Example solution: 18 + 35 = 53 18 - 35 = -17 18 x 35 = 630 18 ÷ 35 = 0.5142857142857142 Using Variables in Calculations You can also perform calculations on variables . The example below has the values of the variables pre-written. You need to store the result in a variable . The total variable has been used to store the result of the multiplication. num1 = 12 num2 = 20 total = num1 * num2 print ( "The total is" , total) = The total is 240 The example below allows the user to input values . num1 = int ( input ( "Enter number one: " )) num2 = int ( input ( "Enter number two: " )) total = num1 + num2 print ( "The to ta l is" , total) Enter number one: 21 Enter number two: 82 The total is 103 = Don't leave the user in the dark, better user interfaces are clear and explain what outputted values mean: num1 = int ( input ( "Enter number one: " )) num2 = int ( input ( "Enter number two: " )) answer = nu m1 - num2 print (num1 , "-" , n um2 , "=" , answer) Enter number one: 83 Enter number two: 29 83 - 29 = 54 = Simple Calculations Task 2 ( Divide by 3) Use an input line with int to ask the user to enter a number . Divide the number by 3 and output the result . Example solution: Enter a number: 11 11 divided by 3 is 3.6666666666666665 Simple Calculations Task 3 ( Add 3 Numbers ) Make three input lines using int to ask the user to enter three numbers . Add the numbers together and output the total . Example solution: Enter the first number: 45 Enter the second number: 32 Enter the third number: 19 The total is 96 ⬅ 3a - Data Types Section 3 Practice Tasks ➡
- OCR CTech IT | Unit 1 | 5.1 - Ethical Issues | CSNewbs
Learn about ethical issues of IT including whistleblowing, discrimination, online safety and bias. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification. 5.1 - Ethical Issues Exam Board: OCR Specification: 2016 - Unit 1 What are ethics? Ethics refers to what is right and wrong . The following issues are often linked to or backed up by legislation. Whistle Blowing Definition: When a member of staff reveals that the organisation they work for are engaging in unlawful practices . This could include breaking privacy laws , threatening staff or environmental damage . In the UK , whistleblowers are protected by the Public Interest Disclosures Act (1988) . Under this law, whistleblowers are protected from being fired or being victimised (e.g. ignored for promotion ) as a result of their whistleblowing. Large organisations should consider establishing a whistleblowing policy that would outline how employees can raise concerns , who they should speak to and the support available to concerned staff. A famous whistleblower is Edward Snowden , who revealed in 2013 that many governments, including the USA and the UK, were spying on their civilians with widespread undocumented surveillance. Should Martin reveal that his company is dumping old computers into a lake or just stay quiet? Graham feels that, because of his disability, he is being ignored for a promotion that he deserves. Discrimination Definition: When an employee is treated unfairly because of a personal or physical characteristic over which they have no control . The Equality Act (2010) ensures equal treatment for all people irrespective of: race sexuality gender disability marital status (and many more) Examples of discrimination include offensive talk, harassment, unequal pay and being ignored for promotion. Use of Information Definition: Laws such as GDPR (General Data Protection Regulation ) and specifically the Data Protection Act (2018) ensure that organisations must responsibly process personal data. Organisations have a legal obligation to keep their employee and customer personal data secure and out of reach from unauthorised viewers. Considerations should be made about how the information is ethically collected , stored and processed . DataDyne backs up customer information on cloud storage - what if this data is compromised ? As part of quality assurance, Selside Bank double check performance reviews before submission. Codes of Practice Definition: A set of rules which explains how people working in certain professions are required to behave . Organisations may have a code of practice for: Confidentiality (rules on what data can and cannot be shared with others), Quality assurance (ensuring high quality is maintained for all products/services), Behaviour (setting out how employees are expected to behave at work and in communication with each other and customers), Equality and discrimination (being understanding and providing fair access to all employees). Employees must agree to the codes of practice so they are clear on their expectations of what is and isn't acceptable at work. The organisation can then discipline employees that broke the codes of practice they formerly agreed to. Online Safety Definition: Often companies will provide an induction (training ) to new employees about the organisation’s code of practice for using the internet whilst at work . If an individual does not behave safely online or breaks the organisation's codes of practice (by gambling at work for example) then they may be punished (e.g. fined or fired). Employees can ensure that they are safe online by using secure passwords that are regularly updated and preventing web browsers from remembering login details . Miriam changes her password each month to minimise the chance of hackers accessing her account. The CEO of Honey Media apologies in public after biased information led to a lawsuit and loss of reputation. Bias Definition: This is technically correct, but slanted , information that presents a one-sided view . For example, end-of year financial data that focuses on profits and ignores significant losses. Poor quality information may lead to an organisation being misinformed and not sufficiently responding to their customers' needs - for example if a survey was only completed by a small number of people it could generate biased results. As a result of poor quality information, organisations may suffer from damage to their reputation due to negative feedback and reviews from customers, possibly posted online. A lack of trust can occur if customers feel neglected because of decisions made using biased information of a poor quality, therefore reputational damage may lead to loss of customers . Q uesto's Q uestions 5.1 - Ethical Issues: 1. Describe what whistleblowing is and give 3 examples . [4 ] 2. Describe what discrimination is and give 4 examples . [5 ] 3. Which law relates to the use of information ? [1 ] 4a. Describe 2 things that may be included in an organisation's codes of practice . [4 ] 4b. Explain why employees must agree to their company's codes of practice [4 ]. 5. Describe 2 things an employee should do to stay safe online . [2 ] 6a. What is biased information ? [2 ] 6b. Describe 3 possible effects to a company if they use biased information . [6 ] 4.6 & 4.7 - Bodies & Certification Topic List 5.2 - Operational Issues
- Greenfoot Guide #3 | Random Movement | csnewbs
Learn how to edit code in Greenfoot to make objects move randomly across the screen. This can be used on 'enemy' objects. Part 3 of the Greenfoot Tutorial for the Eduqas / WJEC GCSE 2016 specification. 3. Random Movement 1. Code for Random Movement Greenfoot Tutorial Watch on YouTube: Right-click on your enemy class on the main screen and select ' Open editor '. The enemy character should always be moving, so start with move(1); Next we will use an if statement to start the random movement. This code generates 10 random numbers and if it is less than 1 then it will run the proceeding code. If we don't do this, the character will turn too much or too little . This code generates a random angle between 0 and 90. The - 45 part is necessary otherwise the character will always move to the right . See the diagram below for an explanation: 2. Bounce at World Edge You may have noticed that the enemy objects can get 'stuck' in the corners or when they hit the edge of the world. In the act() method, below the random movement code , add the code in the red box . This code checks to see if the object is at the edge , and turns it around ( 180 degrees ) if it is. 3. Compile and Run Click the Compile button at the top of the code editor . Then you can go back to the main Greenfoot window and click Run to test if your enemy objects move . Click on me if you've got an error that you're stuck with. < Part 2 - Movement with the Arrow Keys Part 4 - Remove Objects >
- 5.2 - Moral & Ethical Issues | OCR A-Level | CSNewbs
Learn about the moral and ethical issues of computing such as computers in the workforce, automated decision making, artificial intelligence, environmental effects, censorship and the internet, monitor behaviour, analysing personal information, piracy and offensive communications, layout, colour paradigms and character sets. Based on the OCR H446 Computer Science A-Level specification. Exam Board: OCR A-Level Specification: Computer Science H446 5.2 - Moral & Ethical Issues Watch on YouTube : Moral & Ethical Issues #1 Moral & Ethical Issues #2 Artifical Intelligence Technology and the internet have transformed society , bringing huge benefits but also raising new ethical , social and environmental challenges . Below are some key modern issues linked to computing and digital systems . Moral & Ethical Issues Computers in the Workforce: Computers and automation have increased productivity and created new tech-based jobs , but they have also led to job losses in areas where machines can replace human labour . This raises concerns about unemployment and retraining in many industries . Automated Decision Making: Systems such as credit checks and recruitment tools now make decisions automatically using algorithms . While this can save time and reduce human bias , it can also lead to unfair or inaccurate outcomes if the data or programming is flawed . Artificial Intelligence (AI): AI allows machines to learn and make decisions without explicit human control , improving fields like healthcare and transport . However, it also raises ethical questions about accountability , job loss and the potential misuse of intelligent systems . Environmental Effects: Computers require energy to manufacture , use and dispose of , contributing to electronic waste and carbon emissions . Recycling and energy-efficient design can help reduce the environmental impact of modern technology . Censorship and the Internet: Some governments and organisations restrict access to information online to control what people can see or share . While this can protect users from harmful content , it can also limit freedom of expression and access to knowledge . Monitoring Behaviour: Digital systems and surveillance tools can track users’ actions , such as browsing history or location . This can improve safety and security but also raises privacy concerns about who collects this data and how it’s used . Analysing Personal Information: Companies and governments can collect and analyse large amounts of personal data to improve services or target advertising . However, this creates risks of data misuse , discrimination or identity theft if information isn’t protected properly. Piracy and Offensive Communications: The internet makes it easy to copy and share content illegally , such as music , films or software , leading to lost income for creators . It can also be a platform for offensive or harmful communication , such as trolling or cyberbullying , which can have serious social effects . Layout, Colour Paradigms, and Character Sets: Design choices like layout , colour schemes and character sets affect how accessible and inclusive digital content is. Using clear design , appropriate colours and Unicode character sets helps ensure that websites and software can be used by people of all languages and abilities . YouTube video uploading soon YouTube video uploading soon YouTube video uploading soon This page is under active development. Check here for the latest progress update. Q uesto's K ey T erms Moral & Ethical Issues: moral, social, ethical, cultural, opportunities, risks, computers in the workforce, automated decision making, artificial intelligence (AI), environmental effects, censorship, the internet, monitor behaviour, analysing personal information, piracy, offensive communications, layout, colour paradigms, character sets D id Y ou K now? In 2022 , the world generated 62 million tonnes of e-waste (roughly 7.8 kg per person globally) and only 22% of it was formally collected and recycled . 5.1 - Computing Legislation A-Level Topics
- Greenfoot | Key Code | CSNewbs
A glossary of important code to be used in Greenfoot, such as random movement, using a counter removing objects and sound. Aimed at the Eduqas / WJEC GCSE specification. Greenfoot Code Glossary Greenfoot Home This code will work for Version 2.4.2 which is used in Component 2 of the 2016 WJEC/Edquas specification . Key Down 270 if (Greenfoot.isKeyDown("right" )) { setRotation(0); move(1); } 180 90 0 Bounce At Edge if (isAtEdge()) { turn(180); } move(1); if (Greenfoot.getRandomNumber(10)<1) { turn(Greenfoot.getRandomNumber(90) - 45); } Random Remove Object if (isTouching(Apple.class )) { removeTouching(Apple.class ); } Play Sound Greenfoot.playSound("pop.wav" ); Stop Greenfoot.stop(); Counter - (Write this code when an object is removed) Counter counter = (Counter) getWorld().getObjects(Counter.class ).get(0); counter.add(1); Stuck? If you start typing but can't remember what commands come next, press Ctrl and Space together to show a list of all possible commands that you can use.
- CSN+ Preview | CSNewbs
About CSNewbs Plus (CSN+) CSN+ is a premium collection of resources made for teachers that follows the Computer Science specifications covered on the website . Currently, these resources are in development , with the Eduqas GCSE resource pack arriving first, based on the Eduqas GCSE Computer Science 2020 specification . < Free zip folder download of all resources for Eduqas GCSE topic 1.1 (The CPU) *Updated Jan 2021* Resources included for each topic: Lesson Slides Starter activity (to print) Task resources (e.g. diagrams or worksheets to print) Task answers What is included in the CSNewbs+ GCSE collection? 39 presentation slides 39 starters 39 task answer documents 19 revision activity pages 7 topic tests & answers See below for more details: + Complete presentation slides for each of the 39 theory topics in the Eduqas GCSE 2020 specification . PowerPoint and Google Slides compatible. Activity resources to print . Including diagrams , tables and worksheets for lesson tasks . All answers included for teachers to use. Starter questions that recap the previous topic. For teachers to print before the lesson. All answers included in the lesson slides. 39 starters . Comprehensive answers for all lesson tasks . 39 task answer documents containing answers for over 100 lesson tasks for teachers to use . Revision templates for students to complete, to print on A3 paper . 19 pages and 7 revision lesson slides . Exercise book headings and the driving question (lesson focus) 7 end-of-topic tests with brand new questions . All answers included for teachers. What is included on the presentation slides? The following breakdown shows the presentation slides for 1.1 (The CPU): A title slide The content covered from the Eduqas GCSE specification Exercise book headings and the driving question (lesson focus) Answers to the starter activity questions Lesson objectives An explanation of the topic Clear explanations of the content First task. Students use slides or CSNewbs to complete. All answers on separate teacher document. Task 2. Table provided in teacher resource pack to print. Further explanations of the content Further explanations of the content with diagrams. Further explanations of the content with diagrams. Task 3. Answers in the teacher document. Plenary to check the students' understanding of the lesson topics. < Free zip folder download of all resources for Eduqas GCSE topic 1.1 (The CPU) *Updated Jan 2021*
- 2.3 - Additional Programming Techniques - OCR GCSE (J277 Spec) | CSNewbs
Learn about arrays, records and SQL (structured query language) including the SELECT, FROM and WHERE commands. Based on the J277 OCR GCSE Computer Science specification (first taught from 2020 onwards). Exam Board: OCR Specification: J277 2.3: Additional Programming Techniques Watch on YouTube : String Manipulation File Handling Arrays Subprograms Random Numbers SQL This section of the specification includes programming topics that are outlined in 1.2 (Designing Algorithms). You must have an understanding of more complex programming techniques , such as how to manipulate strings , handle files and use subprograms . The best practice for learning is to try the tasks in the Python pages on this website (see the link to the right). Visit the Python section of CSNewbs ---> Subprograms What is a subprogram? Large programs are often broken down into smaller subprograms (also called subroutines ). Each subprogram focuses on a specific function of the code, helping to decompose a complex problem into more manageable chunks . Defining subprograms A subprogram is defined (identified) using the def command in Python. A program may use many subprograms , which are usually defined at the start of the code . Calling subprograms Running a line of code that includes the name of a subprogram will call (activate) it. When called , the program will run the subprogram code before returning back to the line that called it . Subprograms are only run when called , so depending on decisions made, a program may end without calling every (or any) subroutine. Parameters A parameter is a value that is passed into a subprogram when it is called , allowing the value to be used within the subprogram . A subprogram may not use a parameter , e.g. multiply() , or one parameter , e.g. multiply(num) , or several e.g. multiply(num1,num2) . Any parameters must be identified when the subprogram is defined , e.g. def multiply(num): Return The return command will send a value back to the line the subprogram was called on, allowing it to be used there . For example, the 'quad' subprogram in the example below returns the value of the 'result' variable back to the main program, allowing it to be printed . A subprogram will end either by reaching the last line of code within it, or when it reaches a return command . Subprograms that return a value are called functions . Subprogram example This subprogram is defined using the identifier 'quad ' with a parameter named number . The subprogram is called in the main program, multiplies the number passed in as a parameter by 4 and returns a value back to the main program to be printed. def quad (number): result = number * 4 return result #Main Program number = int ( input ( "Enter a number: " )) print ( "The number quadrupled is" , quad(number)) Enter a number: 5 The number quadrupled is 20 Functions and Procedures There are two types of subprograms . A function is a subprogram that returns a value , using the return command, which allows the value to be used in the line of code the function was called in. The 'divide' function below returns the value of the variable 'total' to the main program to be printed. A procedure is a subprogram that does not return a value . Example of a Procedure def multiply (num): total = num * 2 print ( "The number doubled is" , total) #Main Program num = int ( input ( "Enter a number: " )) multiply(num) Enter a number: 4 The number doubled is 8 Example of a Function def divide (num): total = num / 2 return total #Main Program num = int ( input ( "Enter a number: " )) print ( "The number halved is" , divide(num)) Enter a number: 9 The number halved is 4.5 Advantages of using subprograms Subprograms break a complex program down into smaller parts , making it easier to design and test . Each subroutine can be tested separately and abstraction can be used to simplify a complicated problem . Using subprograms allows code to be easily reused in other programs , as it has already been written , making it quicker to develop new programs or build on existing work. Using subprograms avoids code repetition , as they can be called as many times as necessary . This makes programs shorter and quicker to develop , making them easier to maintain and debug . Work can easily be split up between team members to work on different subprograms at the same time . Array An array is a static data structure that can hold a fixed number of data elements . Each data element must be of the same data type i.e. real, integer, string. The elements in an array are identified by a number that indicates their position in the array. This number is known as the index. The first element in an array always has an index of 0 . You should know how to write pseudo code that manipulates arrays to traverse , add , remove and search for data . The following steps use Python as an example, although Python does not use arrays and uses a similar data structure called a list (that can change in size as the program runs ). See the 8a and 8b Python pages for tasks on how to use lists . What Traversing an Array To traverse (' move through ') an array a for loop can be used to display each data element in order. Example code for traversing: Output: 'Inserting' a value In an array the size is fixed so you cannot insert new values, but you can change the value of elements that already exist. Overwriting the fourth element (Daphne) with a new value (Laura) will change it from Daphne to Laura. Example code for inserting: Output: 'Deleting' a value In an array the size is fixed so you cannot delete values, but you can overwrite them as blank . Overwriting the second element (Shaggy) with a blank space makes it appear deleted. Example code for deleting: Output: Searching an Array For large arrays a for loop is needed to search through each element for a specific value . This example checks each name to see if it is equal to Velma. Example code for searching: Output: Two-Dimensional Array Often the data we want to process comes in the form of a table . The data in a two dimensional array must still all be of the same data type , but can have multiple rows and columns . The two-dimensional array to the right shows the characters from Scooby Doo along with their associated colour and their species. Each value in the array is represented by an index still, but now the index has two values . For example [3] [0] is 'Daphne'. Unless stated in an exam , measure row first , then column . Searching a two-dimensional array: To print a specific data element you can just use the index number like Daphne above. To search for a specific value you will need two for loops , one for the row and another for the values of each row . The example to the right is looking for the value of ' Velma ' and when it is found it prints the associated data from the whole row . Example code for printing: Output: Example code for searching: Output: Records Unlike arrays, records can store data of different data types . Each record is made up of information about one person or thing . Each piece of information in the record is called a field (each row name). Records should have a key field - this is unique data that identifies each record . For example Student ID is a good key field for a record on students as no two students can have the same Student ID. A 2D array may be used to represent database tables of records and fields . SQL SQL (structured query language ) is a language that can be used to search for data in a database . The format of an SQL statement is: SELECT field1, field2, field3… FROM table WHERE criteria Example of an SQL statement using the Cars table: SELECT Make, Colour FROM Cars WHERE Miles > 1000 AND Age > 8 Cars table SQL uses wildcards which are symbols used to substitute characters . The * symbol represents ALL fields . Example: SELECT * FROM Cars WHERE Colour = “blue” < Click the banner to try a self-marking quiz (Google Form) about records and SQL. Q uesto's Q uestions 2.3 - Additional Programming Techniques: 1a. Describe what the following terms mean: subprogram , parameter , function , procedure . [ 2 each ] 1b. Describe three advantages of using subprograms . [ 6 ] 2. Describe the differences between a 1D array , 2D array and record . [ 3 ] 3. A one-dimensional array looks like this: TigerBreeds["Sumatran","Indian","Malayan,"Amur"] Write the code to: a. Print the element with the index of 3. [ 2 ] b. Change Indian to South China. [ 2 ] c. Remove the Amur element. [ 2 ] d. Search through the array for 'Malayan'. [ 2 ] 4a. Use the Cars table above to write the SQL statement to display the make and miles for cars that are grey OR blue . [ 3 ] 4b. Write an SQL statement to display all fields for cars that are 10 years old or less . [ 3 ] 2.2 Data Types Theory Topics 3.1 - Defensive Design
- Python Editor| CSNewbs
A simple HTML and CSS editor using Code Minrror libraries. Learn how to create simple web pages using HTML. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. Simple HTML & CSS Editor This page is under active development.








