Search CSNewbs
304 results found with an empty search
- 3.1a - 3.1d - Algorithm Complexity | OCR A-Level | CSNewbs
Learn about pseudocode, procedural programming, big O notation (constant, linear, polynomial (quadratic), exponential, linearithmic and logartihmic) and the complexity of different data structure, sorting and searching algorithms. Based on the OCR H446 Computer Science A-Level specification. Exam Board: OCR A-Level Specification: Computer Science H446 3.1a - 3.1d - Algorithm Complexity Watch on YouTube : Pseudocode Procedural programming Big O notation Algorithm complexity Pseudocode Pseudocode is a simplified , language-independent way of writing algorithms that looks like programming but uses plain English to describe the steps clearly without worrying about exact syntax . The OCR A-Level Computer Science course uses a form of pseudocode unique to the exam board called 'OCR exam reference language ' that all code in exams will be written in . OCR exam reference language uses closing commands such as endif for an if statement and endwhile for a while loop . It also uses the word then instead of a colon like in Python . YouTube video uploading soon Procedural Language A procedural language , such as Python or Java , is a programming language that structures programs as sequences of step-by-step instructions grouped into procedures or functions . It focuses on breaking tasks into smaller , reusable blocks of code that operate on data , making programs easier to write , understand and maintain . This topic is in both Paper 1 and Paper 2 . YouTube video uploading soon Big O Notation O(n) Big O Notation is a way of describing how the time complexity (how long an algorithm takes ) and space complexity (how much memory it uses ) grows as the size of the input increases . This allows algorithms to be compared in terms of efficiency , using the letter n to refer to the size of the input . Complexity types: Constant - O(1) - The algorithm’s time or space stays the same no matter how large the input is . Linear - O(n) - The time or memory grows directly in proportion to the size of the input . Polynomial - O(n²) - The growth increases in proportion to the square of the input , often seen in algorithms with nested loops . Exponential - O(2ⁿ) - The time or memory doubles with each additional input element , becoming extremely slow very quickly . Logarithmic - O(log n) - The algorithm’s time grows very slowly as the input size increases , often achieved by repeatedly halving the data . Linearithmic - O(n log n) - A combination of linear and logarithmic behaviour, common in efficient sorting algorithms like merge sort . YouTube video uploading soon Algorithm Complexity Best-case , average-case and worst-case complexity describe how an algorithm performs under different input conditions . Best-case complexity is the time or space required when the algorithm meets the most favourable input , allowing it to finish as quickly or efficiently as possible . Average-case complexity represents the expected performance across typical or random inputs , giving a realistic view of how the algorithm behaves in normal use . Worst-case complexity is the maximum time or space the algorithm could ever require , used to guarantee performance even in the least favourable situation . Sorting and searching algorithms often have different case complexities for time and space . YouTube video uploading soon This page is under active development. Check here for the latest progress update. Q uesto's K ey T erms Pseudocode Procedural Language: input, output, comments, variables, casting, count-controlled iteration, condition-controlled iteration, logical operators, selection, string handling, subroutines, arrays, files Big O Notation: time complexity, space complexity, constant, linear, polynomial, exponential, logarithmic, linearithmic, best-case, average-case, worst-case D id Y ou K now? Minecraft doesn’t load the entire world at once ; instead, it divides the world into chunks and only generates or loads the chunks near the player . Finding , saving and retrieving these chunks uses data structures like trees and hash maps , which allow the game to look up a chunk in about O(log n) or even O(1) time , minimising lag even in large worlds . 2.2 - Computational Methods A-Level Topics 3.1e - Data Structure Algorithms
- 2.1 - Logical Operators - Eduqas GCSE (2020 spec) | CSNewbs
Learn about the four logical operators - NOT, AND, OR and XOR - and truth tables. Based on the 2020 Eduqas (WJEC) GCSE specification. 2.1: Logical Operators & Truth Tables Exam Board: Eduqas Specification: 2020 What is a logical operator? Inside of each computer system are millions of transistors . These are tiny switches that can either be turned on (represented in binary by the number 1 ) or turned off (represented by 0 ). Logical operators are symbols used to represent circuits of transistors within a computer. The four most common operators are: NOT AND OR XOR What is a truth table? A truth table is a visual way of displaying all possible outcomes of a logical operator. The input and output values in a truth table must be a Boolean value - usually 0 or 1 but occasionally True or False. NOT A NOT logical operator will produce an output which is the opposite of the input . NOT is represented by a horizontal line . Boolean Algebra Notation written as NOT A A Truth Table AND An AND logical operator will output 1 only if both inputs are also 1 . AND is represented by a full stop. Boolean Algebra Notation written as A AND B A.B Truth Table OR An OR logical operator will output 1 if either input is 1 . OR is represented by a plus. Boolean Algebra Notation written as A OR B A+B Truth Table XOR An XOR (exclusive OR) logical operator will output 1 if the inputs are different and output 0 if the inputs are the same . XOR is represented by a circled plus. Boolean Algebra Notation written as A XOR B A B Truth Table Multiple Operations Exam questions will ask you complete truth tables that use more than one logical operator . Work out each column in turn from left to right and look carefully at which column you need to use. Simplification You may be asked to use a truth table to simplify an expression . This is actually really easy. Once you've completed the truth table see if any columns match the final expression . A+B and A+(A+B) both result in the same values , therefore: A+(A+B) can be simplified as just A+B. Q uesto's Q uestions 2.1 - Logical Operators: 1. Copy and complete the following truth tables: 1b. Simplify the expression in the second truth table. 2a. A cinema uses a computer system to monitor how many seats have been allocated for upcoming movies. If both the premium seats and the standard seats are sold out then the system will display a message. State the type of logical operator in this example. 2b. For the more popular movies, the cinema's computer system will also display a message if either the premium seats or the standard seats have exclusively been sold out. However, it will not output a message when both have been sold out. State the type of logical operator in this example. 1.6 - Additional Hardware 2.2 - Boolean Algebra Theory Topics
- Little Man Computer Editor | CSNewbs
A simple Little Man Computer (LMC) editor. Perfect for students learning A-Level Computer Science in UK schools. Little Man Computer (LMC) Editor You can use this simple Little Man Computer ( LMC ) editor below to check any LMC code you have written to ensure it outputs correctly . Use the reminders on the right for the 11 commands needed in the OCR A-Level specification . LMC is a simplified form of assembly language . This page is under active development. INP is used without a label to input a number . The number is temporarily stored in the accumulator. Example: INP OUT will output the current value of the accumulator. Example: OUT STA stores the value that is currently in the accumulator into a named memory location. Example: STA num1 ADD is used to add the value of a named memory location to the value currently stored in the accumulator. Example: ADD num1 SUB takes away the value of a named memory location from the value currently stored in the accumulator. Example: SUB num1 LDA is used to load the value of a stored variable into the accumulator. Example: LDA num1 BRZ is used to branch to a labelled line of code if the value in the accumulator is exactly 0 . Example: BRZ ifzero BRP is used to branch if the value in the accumulator is currently positive (including 0). Example: BRP repeat BRA is used to branch regardless of the accumulator's current value . Example: BRA loop HLT will stop the program. Example: HLT DAT defines and stores data in memory. It creates a variable or memory location that can hold a specific value. It is written after the final HLT command. Example: fifty DAT 50
- 3.2 - Databases | OCR A-Level | CSNewbs
Learn database topics including entity relationships, keys, normalisation, capturing and exchanging data, SQL, referential integrity, transaction processing and ACID (atomicity, consistency, isolation, durability). Based on the OCR H446 Computer Science A-Level specification. Exam Board: OCR A-Level 3.2 - Databases Specification: Computer Science H446 Database Key Terms A database is an organised collection of data stored in tables , where each table represents an entity such as a customer or product . Each table is made up of records ( rows ), which store information about individual instances of that entity , and fields ( columns ), which hold specific attributes like names or prices . A primary key uniquely identifies each record , while a foreign key links records between tables to create relationships . Secondary keys use indexing to speed up searches and data retrieval . A flat file database stores all data in a single table or file , often in a simple format such as a spreadsheet or text file . It is easy to create and manage , making it suitable for small-scale applications . However, it can lead to data duplication and inconsistency because the same data may be repeated in multiple records . A relational database stores data in multiple related tables , linked together using primary and foreign keys . This design reduces data redundancy and improves data integrity by storing each piece of information only once . The main disadvantage is that relational databases are more complex to design and maintain , requiring more processing power and knowledge to manage effectively . ER Diagrams Relationships between entities are shown using an Entity–Relationship ( ER ) diagram , which illustrates connections between tables in a visual format . There are three types : many-to-many (e.g. Students to Teachers ) Capturing & Managing Data Data can be captured from sources such as forms , Optical Character Recognition (OCR ), Optical Mark Recognition (OMR ) and sensors . These methods allow information to be collected automatically or manually and entered into a computer system for processing . Data can be selected and filtered using tools like Query By Example (QBE ) or SQL commands . This allows users to retrieve only the specific records that meet certain criteria from a database . Data management involves manipulating stored information , such as performing arithmetic functions or adding , editing and deleting records . This ensures that the data remains accurate , up to date and useful for decision-making . Data can be exchanged (shared ) between systems using common file formats such as CSV and JSON . These formats make it easier to transfer data between different software applications or platforms while maintaining structure and meaning . Database Normalisation Database normalisation is the process of organising data in a database to reduce redundancy and improve data integrity . It ensures that each piece of data is stored only once , making updates and maintenance more efficient and reducing the risk of inconsistent data . Normalisation is measured in 'forms ': First Normal Form (1NF ): Ensures that all fields contain atomic (indivisible ) values and that there are no repeating groups in a table. Each table must have a primary key . Second Normal Form (2NF ): Builds on 1NF by ensuring that all non-key attributes depend on the entire primary key , removing partial dependencies . Third Normal Form (3NF ): Builds on 2NF by removing transitive dependencies , meaning non-key attributes depend only on the primary key and not on other non-key attributes . Flat File & Relational Databases one-to-one (e.g. Students to Lockers ) one-to-many (e.g. Tutor Group to Students ) Structured Query Language (SQL) SQL ( Structured Query Language ) is used to create , manage and manipulate data in databases . It allows users to retrieve specific data using commands such as SELECT , FROM and WHERE , often combined with logical operators like AND and OR to filter results . The LIKE command and wildcards such as * and % are used to search for patterns within text data . SQL also supports data modification through commands like INSERT (to add data ), DELETE (to remove data ) and DROP (to delete entire tables ). More advanced queries can use nested SELECT statements or JOIN commands to combine data from multiple tables for more complex analysis . Referential Integrity Referential integrity ensures that relationships between tables in a relational database remain consistent . It means that a foreign key in one table must always refer to a valid primary key in another table . Referential integrity is important as it: Prevents orphan records (e.g. doctors linked to a non-existent patient). Keeps relationships between tables valid . Ensures queries and reports remain accurate . ACID Rules Transaction processing refers to the handling of a sequence of database operations (a transaction ) that must be completed fully or not at all . It ensures that databases remain accurate and consistent even if errors or system failures occur during the process . The ACID rules define the key properties of reliable transactions : Atomicity : The transaction is all or nothing - it either completes fully or not at all . Consistency : The database must remain valid before and after the transaction by following the same rules . Isolation : Transactions are independent , so one cannot interfere with another . Durability : Once completed , a transaction’s changes are permanent , even if the system crashes . Watch on YouTube : Database key terms Flat File & Relational databases Entity relationship (ER) diagrams Capturing & managing data Database normalisation SQL Referential integrity Transaction processing (ACID) Q uesto's K ey T erms Database Keys & Relationships: field, record, table, primary key, composite key, secondary key, indexing, foreign key, entity relationship (ER) diagram, one-to-one, one-to-many, many-to-many, flat file database, relational database Capturing & Managing Data: form, OCR, OMR, sensor, query by example, SQL, CSV, JSON, electronic and non-electronic data transfer SQL: SELECT, nested SELECT, FROM, WHERE, LIKE, AND, OR, DELETE, INSERT, DROP, JOIN, *, % Normalisation: first normal form (1NF), second normal form (2NF), third normal form ( 3NF), partial dependency, non-key dependency Referential Integrity & ACID: referential integrity, transaction processing, ACID (atomicity, consistency, isolation, durability), record locking, redundancy D id Y ou K now? In 2013 the web portal / search engine company Yahoo! was hacked , with all 3 billion user accounts in their database compromised - the largest hack in history . Personal details such as names , email addresses and hashed passwords were taken , causing major reputational and financial damage to the company . 3.1 - Compression & Encryption A-Level Topics 3.3 - Networks
- 5.2 - Visual Design Considerations | F160 | Cambridge Advanced National in Computing AAQ
Learn about visual design elements of human-computer interfaces such as colours, interaction, location hierarchy, messages (help, error) and typography (style, size). Based on Unit F160 (Fundamentals of Application Development) for the OCR Cambridge Advanced National in Computing (H029 / H129) (AAQ - Alternative Academic Qualification). Qualification: Cambridge Advanced National in Computing (AAQ) Unit: F160: Fundamentals of Application Development Certificate: Computing: Application Development (H029 / H129) 5.2 - Human Computer Interface Visual Design Considerations Watch on YouTube : Visual design considerations When creating a human-computer interface , there are several visual design considerations that the development team must take into account, such as the use of colour and the style of typography . You need to know how each visual design consideration is used when designing human-computer interfaces and how these interfaces can be improved to be more effective . As with most topics, it is also vital to consider how client requirements may impact changes related to visual design , for example, using larger text for users with visual impairments . Visual Design Considerations Visual Design Considerations Colours are used to define the visual appearance of the interface . This includes background colours , button colours , icons and text . Interaction refers to how users control or respond to the system through input methods like clicking , tapping , swiping , typing or speaking . Location hierarchy is about the placement and organisation of interface elements based on importance . Messages are displayed to provide feedback , guidance or explanations - such as confirming actions , explaining errors or offering help . Typography includes the choice of font types and the size , spacing , weight (boldness) and alignment of text . Q uesto's Q uestions 5.2 - Human-Computer Interface Visual Design Considerations: 1. Explain how colours can be used effectively in human-computer interfaces . [4 ] 2. Describe what is meant by location hierarchy and why it is important to consider . [4 ] 3. Suggest specific visual design considerations an application developer should consider when making software for a primary school in Dubai . [ 5 ] Approximately 1 in 12 men and 1 in 200 women are colour-blind , meaning good designers should include text or icons rather than relying on just colour to convey meaning . D id Y ou K now? 5.1.2 - Types of Devices Topic List 5.3 - HCI Designs & Diagrams
- 6.4 - Protection Measures | Unit 2 | OCR Cambridge Technicals | CSNewbs
Learn about ways to measure the success of protection. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification for Unit 2 (Global Information). 6.4 - Protection Measures Exam Board: OCR Specification: 2016 - Unit 2 Staff Responsibilities It is the staff of an organisation that will spend the most time handling and amending data so the company must have sufficient and effective protection measures in place so that staff are confident in their role and know their responsibilities of information security. Certain staff members may be responsible for types of data within an organisation, such as personal and confidential data. Clearly assigning specific people to roles ensures that they know what their job is and that they are responsible if data is lost. Organisations also need to carefully consider which members of staff have access rights to certain information. If data is sensitive or confidential then the more people that have access to that data , the higher the risk of it being lost or tampered with (accidentally or on purpose). Sensitive data should only be handled and accessed by those who need to use it as part of their job role to limit the chance of data loss. Staff should be trained so that they know how to adequately handle information including basic data security techniques and how to protect data from unauthorised access and loss. Disaster & Recovery Planning With important data often stored on a computer network, it is absolutely vital that a detailed and effective disaster recovery policy is in place in the event of data being lost due to an unexpected disaster. Disasters include natural disasters (e.g. fire, flood, lightning), hardware failure (e.g. power supply unit failing), software failure (e.g. virus damage) and malicious damage (e.g. hacking). There are three clear parts to a disaster recovery policy: Before the disaster: All of the possible risks should be analysed to spot if there are any weaknesses in preparation. Preventative measures should be taken after the analysis, such as making rooms flood-proof or storing important data at a different location . Staff training should take place to inform employees what should happen in the event of a disaster. During the disaster: The staff response is very important – employees should follow their training and ensure that data is protected and appropriate measures are put in place. Contingency plans should be implemented while the disaster is taking place, such as uploading recent data to cloud storage or securing backups in a safe room and using alternative equipment until the disaster is over. After the disaster: Recovery measures should be followed, such as using backups to repopulate computer systems. Replacement hardware needs to be purchased for equipment that is corrupted or destroyed. Software needs to be reinstalled on the new hardware. Disaster recovery policies should also be updated and improved . Assessment and Effectiveness Organisations should conduct information security risk assessments periodically to ensure that their physical and logical measures are up-to-date and that they provide the most effective methods of protection. There may be training drills of what should happen if a disaster or substantial data loss occurs so that the company is prepared . By testing the security measures in place, they can identify any weak-points and fix those highlighted vulnerabilities to minimise the possibility of external and internal data intrusion. As part of an organisation's security assessment, they may identify specific cost impacts . These are necessary financial expenditures to ensure the security of data and systems, such as: Software - e.g. security software such as firewalls may be purchased to protect networked systems. Hardware - e.g. buying secure storage devices and new computer systems. Training - e.g. hiring industry experts to train staff on how to keep data secure. Security - e.g. hiring staff to protect server rooms. Q uesto's Q uestions 6.4 - Protection Measures: 1. Describe why staff are so important when it comes to data protection . [3 ] 2. Explain the steps an organisation should take as part of a disaster recovery plan . Split your answer into before, during and after the disaster. [12 ] 3. Why is it important to conduct information security risk assessments ? [2 ] 4. Describe two cost impacts to a bank of keeping customer data secure. [4 ] 6.3 - Impacts Topic List 6.5 - Physical Protection
- OCR CTech IT | Unit 1 | 4.1 - Communication Skills | CSNewbs
Learn about things to consider when trying to make a good impression at work, including written, verbal and physical considerations. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification. 4.1 - Communication Skills Exam Board: OCR Specification: 2016 - Unit 1 Communication skills are vital for anybody working within the IT industry. Employees will need to communicate with other members of their team and with those who encounter issues with their computer systems. Interpersonal Skills Communication is not just through speaking to another person, behaviour is also important. Employees should sit up straight in their chairs to show interest and eye contact should be maintained when speaking to another person or listening in a meeting. It is important to speak clearly so that others can understand what you are trying to say. Verbal Communication Employees should know when to use informal and formal language appropriately. For example, formal language should be used in meetings as it is a work environment . Employees should think carefully about when to use technical terms . Technical terminology should be used when discussing issues with technicians but simplified explanations should be given to customers who may be inexperienced with their systems. Questioning Techniques Questioning is used to uncover problems in order to solve them . Closed questions will be direct and prompt a short, often one-word answer, such as "How many times have you tried to log in?". Open questions don't have an obvious answer and may elicit an opinion , such as "Why are you using Internet Explorer instead of Google Chrome?". Avoid leading questions - where you expect a certain response from the answerer, such as "Is the system always this slow?" Written Communication Again this form of communication can be formal - such as a letter to apply for a job - or informal - like sending a text or instant message to a team member. There are a number of considerations to take before deciding whether communication should be formal or informal. For example, if the communication is between peers or external agencies (such as other companies or customers), any policies the organisation has in place and whether the communication will be legally recorded (such as saving all email correspondence). Barriers to Communication There are several reasons why communication between people may be received or understood incorrectly . For example, noise in the room , language (this could be different spoken languages or the use of difficult technical terms ) and impairments (such as a hearing or visual impairment ). Another barrier is distraction - an email may be delayed because an employee is distracted by social media or other co-workers. Phones should also be turned off or silent during meetings. Q uesto's Q uestions 4.1 - Communication Skills: 1. Describe 3 interpersonal actions that an employee should follow when speaking or listening to other team members. [ 3 ] 2. Explain when an employee should use technical terms and when they should simplify their explanations . [ 4 ] 3. Describe the difference between closed , open and leading questions , giving an example of each. [6 ] 4. Describe 3 things that should be considered when deciding between formal or informal written communication . [3 ] 5. Describe 3 different barriers to successful communication . [3 ] 3.5 - Business Systems Topic List 4.2 - Communication Technology
- Python | 4c - Logical Operators | CSNewbs
Learn how to use logical operators in Python. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. top Python 4c - Logical Operators AND Operator The AND operator is used to execute certain code if more than one thing is true . AND is commonly used with account logins - both the username AND the password must be correct . The example below requires both a secret word and a secret number to be correct: print ( "To enter you need the secret word and the secret number!" ) word = input ( "What is the secret word? " ) number = int ( input ( "What is the secret number? " )) if word == "solitude" and number == 2011: print ( "Correct! You may enter!" ) else : print ( "Incorrect! Get out of here!" ) If no part or only some of the if statement is true then the indented code will not run : To enter you need the secret word and the secret number! What is the secret word? solitude What is the secret number? 4503 Incorrect! Get out of here! To enter you need the secret word and the secret number! What is the secret word? windhelm What is the secret number? 1021 Incorrect! Get out of here! Only If all parts of the if statement are true will the indented code be executed : To enter you need the secret word and the secret number! What is the secret word? solitude What is the secret number? 2011 Correct! You may enter! Logical Operators Task 1 ( Three Easy Questions) Ask the user three easy questions and print a special response if they get all three correct . Use the and operator to see if their answer for all each of the questions is correct. You must use a unique variable nam e for each of your inputs (it can't be 'answer' for all three, for example). Example solutions: What is the capital of Germany? Berlin What is the chemical formula for water? H20 What year did World War Two end? 1945 You absolute genius! What is the capital of Germany? Vienna What is the chemical formula for water? W20 What year did World War Two end? 1945 Bit awkward, I thought you'd do better... OR Operator The OR operator is used to execute certain code if one of several statements is true . The program below is checking if either a , e , i , o or u were entered. letter = input ( "Enter a letter: " ) if letter == "a" or letter == "e" or letter == "i" or letter == "o" or letter == "u" : print ( "You entered a vowel." ) else : print ( "You entered a consonant." ) Enter a letter: f You entered a consonant. Enter a letter: e You entered a vowel. It is important that you re-write the variable and operator (e.g. letter ==) each time you use 'or' . It will not work if you just write: if letter == “a” or “e” or “i” or “o” or “u”: Logical Operators Task 2 ( Twins?) Ask the user to enter their favourite colour and then ask them their age . If their favourite colour is the same as yours AND their age is the same as yours then print “Snap! Are you my twin?” . If only one of the statements is true (use the OR operator) then print “Spooky! You’re a bit like me.” . Add an else statement to print “We’re not so similar, you and I.” if there's nothing in common. Example solutions: What's your favourite colour? green What's your age? 15 Snap! Are you my twin? What's your favourite colour? blue What's your age? 15 Spooky! You're a bit like me. What's your favourite colour? red What's your age? 16 We're not so similar, you and I. ⬅ 4b - Mathematical Opera tors Sectio n 4 Practice Tasks ➡
- Python | 9a - String Handling | CSNewbs
Learn how to handle strings (text) in Python. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. top Python 9a - String Handling What is String Handling? String handling refers to the manipulation of a string variable , typical uses include: Checking the length of a variable. Searching a variable for a certain phrase. Checking the number of times a specific character or word is used . String handling is used to examine passwords and to ensure that they are of an acceptable strength (e.g. by checking that they are at least 8 characters in length and include a mixture of capital letters , lowercase letters and symbols ). Password: arsenal Password: $tr0nG_pA$$w0rd Lowercase & Uppercase .lower() and .upper() are functions that convert a string into a fully lowercase or uppercase version. dogbreed = "Chihuahua" print (dogbreed.upper()) CHIHUAHUA character = "sPoNgeBoB" print (character.lower()) spongebob You may have realised that Python is very specific . 'yes ', 'Yes ' and 'YES ' are all treated as different values . Converting user input into one case , such as lowercase, and then comparing that input is a better way of checking an input than having an if statement with multiple or comparisons. The program below converts the user input into lowercase to compare. 'yes', 'Yes' and 'YES' are all converted to 'yes'. answer = input ( "Would you like water? " ) answer = answer.lower() if answer == "yes" : print ( "I'll fetch you a glass." ) else : print ( "Don't dehydrate!" ) Would you like water? yes I'll fetch you a glass. Would you like water? Yes I'll fetch you a glass. Would you like water? YES I'll fetch you a glass. Practice Task 1 Ask the user to enter their first name and surname. Print their surname in uppercase followed by their first name in lowercase. Example solution: Enter First Name: Jayden Enter Surname: Hargrove Welcome HARGROVE, jayden Count Characters The easiest way to count how many times a certain value appears within a string is to use the .count() command. It is important to note that, just like when using an input statement or calculation line, you must save the calculation into a variable . An example, for counting the number of e’s in a sentence, is below: sentence = input ( "Enter your sentence: " ) e_count = sentence.count( "e" ) print ( "There were" , e_count, "e's in your sentence!" ) Enter your sentence: even ellie eats elderberries There were 9 e's in your sentence! Practice Task 2 Create a program that counts how many instances of the letter a have been entered in a sentence. Bonus: Use the .lower() function in your code to include capital letters. Example solution: Enter a sentence: An angry aardvark named Aaron. That sentence had 8 a's. Finding the Length of a String Just like when we wanted to find the length of a list, we use the len command to see how many characters are in a string . It is sensible to save the result of the function into a variable so it can be used later . fruit = input ( "Enter a fruit: " ) length = len (fruit) print ( "That fruit was" , length, "characters." ) Enter a fruit: pineapple That fruit was 9 characters. A common reason for finding the length is as part of validation , for example, checking a password is more than 8 characters : password = input ( "Enter a new password: " ) length = len (password) if length >= 8: print ( "Password accepted!" ) else : print ( "Password is too short, must be at least 8 characters." ) Enter a password: snake54 Password is too short, must be at least 8 characters. Enter a password: pebblesthedog76 Password accepted! Practice Task 3 Create a program that asks for a name. Check that the name is between 4 and 10 characters. Print appropriate messages if it is within this range and if it isn't. Example solution: Enter a name: Tom That name is too short, it must be between 4 and 10 characters. Checking the Start / End of a String To determine if the first character in a string is a specific value use the .startswith() command. .startswith() is a function that will return True or False . Below is an example program to check if a name begins with the letter L . name = input ( "Enter a name: " ) if name.startswith( "L" ) == True : print ( "I like that name." ) else : print ( "I don't like that name." ) Enter a name: Lionel I like that name. Enter a name: Katjaa I don't like that name. Similarly, you can use .endswith() to check the last characters of a string . Practice Task 4 Ask the user to enter a country. Print a message if it ends with 'land', 'stan' or any other ending. Use .endswith() Example solution: Enter a country: Finland You have entered a 'land' country. There are 9 in the world. Enter a country: Kyrgyzstan You have entered a 'stan' country. There are 7 in the world. Enter a country: Peru Thanks for your entry. Note: You don't need to check if it's a valid country. Reversing a String To reverse a string, you write the variable name and then use square brackets to move one character at a time backwards. The first two colons are left empty as they denote where to start and end from (which don’t need to be changed). Therefore the -1 states that it will reverse from the end to the start : Ask the user to enter a random sentence. Print the sentence in reverse. Example solution: Practice Task 5 Printing Parts of a String You may want to print just part of a string or variable using square brackets. You can also use len to work out the length and work back, if you want to display the last characters: Practice Task 6 Ask the user to input a long word. Output the middle character of the word. Example solution: Split Strings Use the .split command to split a string into separate words . An empty split command such as words.split() will split at each space . You can enter a value in the brackets to split at certain characters , such as words.split(",") Use the len function to count the number of words once they have been split. You can use a for loop to cycle through each word. The program below checks the length of each word . Practice Task 7 Ask the user to input a sentence. Calculate and print the amount of words in the sentence. Calculate and print the amount of words that begin with s. Example solution: ⬅ Section 8 Practice Tasks 9b - Number Handling ➡
- 2.1 - Software Development Models | F160 | Cambridge Advanced National in Computing | AAQ
Learn about the characteristics, diagrammatic representations, advantages, disadvantages, and suitability of software development models. These include the waterfall, rapid throwaway, incremental, evolutionary, rapid application development (RAD), spiral and agile models. Resources based on Unit F160 (Fundamentals of Application Development) for the OCR Cambridge Advanced National in Computing (H029 / H129) AAQ (Alternative Academic Qualification). Qualification: Cambridge Advanced National in Computing (AAQ) Unit: F160: Fundamentals of Application Development Certificate: Computing: Application Development (H029 / H129) 2.1 - Software Development Models Watch on YouTube : Software Development Models Waterfall Rapid Throwaway Incremental Evolutionary Rapid Application Development Spiral Agile There are seven software development models you need to know : Traditional models: Waterfall Prototype models: Rapid Throwaway , Incremental , Evolutionary Iterative models: Rapid Application Development (RAD) , Spiral , Agile For each development model , you need to know : Its characteristics . How to represent it in a diagram . Its advantages and disadvantages . The types of development it is suitable for. Software Development Models Each development model has its own video below but you also need to know the advantages and disadvantages of using development models in general. Waterfall Model The waterfall model is a linear and structured approach where each phase is completed one at a time in order . It needs all requirements to be clearly defined at the start , with little to no changes allowed once a phase is finished . This model is best suited for projects with fixed requirements and minimal risk of change . Rapid Throwaway Prototype Model The rapid throwaway prototype model involves quickly creating temporary prototypes to explore ideas and gather user feedback before building the final system . Prototypes are discarded after they help refine requirements , and are especially useful in projects where user needs are initially unclear . This model is suitable when user interaction and efficient interface design are critical . Incremental Model The incremental model develops a system in small , manageable sections with each part being designed , built and tested individually . Functionality is added step by step until the full system is complete . This approach allows for early partial deployment and easier handling of changing requirements over time. Evolutionary Prototype Model The evolutionary prototyping model involves building an initial prototype that is continuously improved based on user feedback until it becomes the final system . Unlike throwaway prototyping, the prototype is not discarded but gradually evolves into the full product , once the user is satisfied . This model is ideal when user requirements are expected to change or develop over time . Rapid Application Development (RAD) The rapid application development ( RAD ) model focuses on quickly building software through iterative development and frequent user feedback . It uses reusable components , time-boxing and constant feedback to speed up the delivery of an effective final product . RAD is best suited for projects that need to be completed quickly and where requirements can evolve during development . Spiral Model The spiral model combines iterative development and risk management , progressing through repeated cycles of planning , risk assessment , engineering ( development and testing ) and evaluation . Each loop focuses on identifying and addressing risks early in the project. It is ideal for complex and high-risk projects where requirements may change over time . Agile Model The agile model is an iterative and flexible approach that progresses in small , usable chunks called iterations (or sprints ). It relies on frequent collaboration with stakeholders and user feedback to adapt to changing requirements . This model is ideal for dynamic projects where quick delivery and frequent updates are important. Q uesto's Q uestions 2.1 - Software Development Models: 1. Choose three development models to explain and draw a diagram for each. [6 ] 2. A large company is making the next sequel in a hugely popular video game series , FieldBattle 2043 . Justify which application development model(s) they should use (and which they shouldn't ). [5 ] 3. Describe the advantages and disadvantages of any development models you have not covered in Q1 or Q2 . [6 ] Agile development is named after the ' Agile Manifesto ' - a set of principles for software development agreed by a group of developers at a ski resort in Utah , USA in 2001 . D id Y ou K now? 1.3.3 - App. Software Types Topic List 2.2 - Phases of Development Models
- 10.1 - Translators - Eduqas GCSE (2020 Spec) | CSNewbs
Learn about the three types of translators - assemblers, interpreters and compilers. Also, understand the differences between compilers and interpreters. Based on the 2020 Eduqas (WJEC) GCSE specification. 10.1: Translators Exam Board: Eduqas Specification: 2020 What is a translator? A translator changes (translates) a program written in one language into another language (usually machine code ). There are three types of translator : Assembler An assembler converts low level assembly language into machine code . INP STA 33 INP STA 34 LDA 33 ADD OUT HLT Interpreter An interpreter converts high-level language one line at a time into machine code and executes it. PYT HON Compiler A compiler converts high-level language into machine code for execution at a later time. The entire program is converted at once . PYT HON 0010 1011 0101 0101 0110 0111 0101 0001 0101 0101 0010 1011 0101 0101 0110 0111 0101 0001 0101 0101 0010 1011 0101 0101 0110 0111 0101 0001 0101 0101 Differences between an interpreter and a Compiler: Interpreter Compiler Execution Method: An interpreter translates source code (high level code) into machine code one line at a time . Execution Speed: An interpreter is slower than a compiler because the code must be reinterpreted each time the program is run. Complexity: Interpreters are smaller, simpler programs . Error Reporting: In error reporting, the interpreter would encounter the errors and report it to the user immediately and stops the program from running. Repetition: Interpreted programs can be edited and run without translating the whole program . Interpreters must reinterpret the program every time it is run. Execution Method: A compiler translates all the source code (high level code) into machine code in one go . A compiler produces an executable file that will run on other machines without the compiler needing to be installed. Execution Speed: Compilers can produce much more efficient code than interpreters making the compiled programs run faster . Complexity: Compilers tend to be large complex programs . Error Reporting: The compiler would analyse the entire program , taking note of where errors have occurred and record them in an error file . Repetition: Compilation requires analysis and the generation of the code only once , whereas interpreters must re-interpret each time. However, compiled programs have to be re-compiled after any changes have been made. x1 ∞ x1 Q uesto's Q uestions 10.1 - Translators: 1. Briefly describe each type of translator : a. Assembler [ 1 ] b. Interpreter [ 2 ] c. Compiler [ 2 ] 2. Compare interpreters and compilers for each of the following features : a. Execution Method b. Execution Speed c. Complexity d. Error Reporting e. Repetition [ 10 total ] 9.1 - IDE Tools Theory Topics 10.2 - Stages of Compilation
- OCR CTech IT | Unit 1 | 3.2 - Virtualisation | CSNewbs
Learn about the benefits and drawbacks of virtualization, as well as about cloud storage and virtual clients. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification. 3.2 - Virtualisation Exam Board: OCR Specification: 2016 - Unit 1 What is virtualisation? Virtualisation is the creation of a virtual version of a device , software , operating system or server . These virtual versions can then be run on a different physical computer system , such as a powerful server . There are many different types of virtualisation . Storage virtualisation combines multiple separate storage devices into acting and appearing like a single , central storage system . Using storage virtualisation improves scalability as further devices can join the storage system if more space is required . It also simplifies the management of storage across the network. Server virtualisation allows one physical server to be divided into and host multiple virtual servers , each running separately . Each virtual server operates independently , handling its own operating system and applications . This allows for resources to be used more effectively and improves the scalability and versatility of the physical server . Client Virtualisation (Virtual Clients) Client virtualisation is when several virtual desktops are run on a single server - think back to the hypervisor from 3.1 . A virtual client is a full desktop environment where the processing happens remotely . For example, where an operating system is managed and hosted centrally but displayed locally on a different computer. These are often known as 'dumb clients ' because the server does the processing for it , meaning it can have minimal resources like a slow processor and little memory / storage . General Benefits & Drawbacks of Virtualisation Benefits of virtualisation: Costs are cheaper in the long-term because money is saved by not purchasing multiple physical devices . Money is also saved due to less cabling and lower power consumption . If set up efficiently, it can be used for higher performance at a lower cost - "Do more with less" . Programs can be tested in a secure environment before main-system deployment. Simplified response to recover after a disaster because only the server needs to be fixed. Drawbacks of virtualisation: If not set up efficiently, users could face serious performance issues , as fewer servers do more work. If a single physical system fails , the impact will be greater . Initial set up is complex , requires technical knowledge and can cost a lot. Easier for hackers to take more information at once as the data is stored in the same place. Benefits of client virtualisation: All data is stored in one central location , making backup and disaster planning easier to manage . The whole system can be managed , secured and updated from the server , rather than from each individual system. Hardware costs will be reduced because the virtual clients do not store or process their own data , meaning they can be of a low spec . Users can have multiple virtual machines and log in remotely (from anywhere with internet access ). Drawbacks of client virtualisation: Users will be unable to work if network connectivity is lost . There is a high strain on the server as the virtual clients do not store or process data themselves . An increased load on the server might result in poor performance for each client, especially with multiple connections . As the data is stored in one location , there are security risks of unauthorised access if the server is not adequately protected . Server Virtual Clients Cloud Technology 'The cloud ' is storage that is accessed through a network , primarily the internet. A cloud server is an example of storage virtualisation as data may be stored across multiple physical devices . There are three different types of cloud storage: Private cloud is where a business will have its own data centre that employees can access. This allows for flexible and convenient data storage and gives the business control over data management and security . Users of the private cloud will not usually have to pay individually for access - but the company will need to spend a lot of money on set up and maintenance . Public cloud uses third-party service providers such as Google Drive or DropBox to provide storage over the internet . Public cloud is usually a pay-for-use service , where businesses will pay for specific amounts that they need. Data management and data security is maintained by the cloud provider and the business is dependent on them providing constant access and deploying effective security measures. Hybrid cloud uses a mix of on-site storage (private cloud) and third-party (public cloud) services . Organisations can move workloads between private and public clouds as their specific needs and costs change . A benefit of hybrid cloud is that it gives an organisation greater flexibility and data storage options. As an example, a company could use on-site or private cloud storage to hold sensitive information and third-party, public cloud services to hold less important data . Q uesto's Q uestions 3.2 - Virtualisation: 1. What is the difference between server and storage virtualisation ? [ 2 ] 2a. What is a virtual client ? [ 1 ] 2b. What are the advantages and disadvantages of client virtualisation ? [ 8 ] 3. Explain any further general advantages and disadvantages of using virtualisation , not covered in your answer to 2b. [4 ] 4. Describe the differences between private , public and hybrid cloud storage. [6 ] 3.1 - Server Types Topic List 3.3 - Network Characteristics







