Search CSNewbs
290 results found with an empty search
- App Inventor 2 | Simple Apps | CSNewbs
App Inventor Task 1 & 2 - Basic Apps Basic Program #1 - Colour Changer This quick tutorial will teach you how to create an app that changes the background colour when you press different buttons . See the video: In Designer layout, firstly drag four buttons from the Palette tab on the left side and drop them one at a time on top of each other in the Viewer . In the Components tab, click on each button and press Rename to change the name (this makes it easier to code them later). You don't need to choose these four colours, but it is a good idea to start with these (you can change them later). You should notice that you are only changing the name of the button - not the button on the text; these are two different variables . Now to change the text on each button. Click on a button in the centre then in the Properties tab on the right scroll down to Text and change the text to a colour. When you've changed all four button texts, then you can start to code. Click on the Blocks button in the top right to start adding the code. In the Blocks tab on the left click on each button block (e.g. Red, Blue, Green and Yellow) and drag over a 'when click ' block for each colour. Blocks we put inside of the 'when click' blocks will execute whenever that button is pressed. Grab a set Screen 1 BackgroundColor from the Screen1 section in the Blocks tab and place one underneath each when click block. Then line up the correct colour from the Colors section in the Blocks tab to the relevant button. Program 1 Complete! The easiest way to run an app that you have created at home using App Inventor 2 is to download the free MIT AI2 Companion App on your smartphone from the Google Play Store . At the top of the App inventor program on your computer , click on Connect and AI Companion . This will generate a six-digit code you can type into your phone. If your school has the emulator installed, you can also use this to test your app. Ideas to Improve Your App: Use the when Screen1 BackPressed block from the Screen1 section in Blocks to turn the background colour white when the back button is pressed. The block is shown to the right; you can work out how to use it. Add more buttons for different colours. Try purple, black and orange for example. Change the BackgroundColour (in Properties ) of each button to represent the colour it says. You might need to change the TextColour too for red and blue (see the image to the right). Password Checker Basic Program #2 - Password Checker This quick tutorial will teach you how to create an app that requires a user to enter a correct password . See the video - maximise to see it clearly: Firstly you need to grab a TextBox from the Palette tab on the left and place it in the Viewer. Then drag a Button and a Label . Put them in this order: You need to change the Text for the button in the Properties tab to 'Enter Password'. Click on your text box and delete the Hint Text from the Properties tab. Click on the label and delete the Text from the Properties tab. Don't worry, the label is still there! Now time to code. Open up the Blocks layout by clicking Blocks in the top right. Drag a when Button1 click block into the centre from the Button1 section in Blocks . Drag an if then block from Control within the when Button 1 click block. Click on the blue cog button and, in the new window underneath, drag an else block within the if block. The top part will update by itself. When the button is clicked we want to see if the text in the text box matches what we want it to be. Grab an = block from Logic and connect it to the if block. Then place a TextBox1 Text block from TextBox1 in the first half and a blank " " block from Text in the second half. In the " " block write what you want the password to be. I've chosen pikachu because pikachu is cool. Grab a Set Label1 Text block from Label1 and put one next to then and another next to else. Place a " " block from Text and snap it next to both of those blocks. If the user has entered the password correctly then you want 'Correct Password' to appear. Otherwise, if they have entered anything else , you want 'Incorrect Password' to appear. Program 2 Complete! The easiest way to run an app that you have created at home using App Inventor 2 is to download the free MIT AI2 Companion App on your smartphone from the Google Play Store . At the top of the App inventor program on your computer , click on Connect and AI Companion . This will generate a six-digit code you can type into your phone. If your school has the emulator installed, you can also use this to test your app. Ideas to Improve Your App: Change the password to something different. If the correct password is entered change the background to gree n . If an incorrect password is entered change the background to red . You may want to scroll up to the first program as a reminder. KS3 Home Task 3
- 3.4 - Stages of Data Analysis | Unit 2 | OCR Cambridge Technicals | CSNewbs
Learn about each of the 8 stages of data analysis including exactly what should occur at every stage. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification for Unit 2 (Global Information). 3.4 - Stages of Data Analysis Exam Board: OCR Specification: 2016 - Unit 2 Data analysis is the process of identifying and collecting data to be viewed and modelled, in the aim of discovering patterns or trends that can be used for conclusions and decision-making. 1. Identify the need Before anything else can take place, objectives are set for what the data analysis will hope to achieve. Aims must be clear and well defined . For example, an organisation should define what information will be needed and what exactly they want to find out by the end of the process (the purpose of the data analysis). Not clearly defining the required information or purpose could lead to worthless results and a waste of the entire data analysis process. 2. Define the scope In this stage the restrictions of the project are defined. Scope includes factors such as budget , content , detail , timescales (deadlines) and any further constraints . 3. Identify potential sources Project planners must identify a wide range of sources for the potential information, ensuring that it is unbiased and covers the objectives . The specific data will depend on the project but it could include sales figures or customer surveys for example. 4. Source and select information Information is gathered from the identified sources in stage three. Any unsuitable data is excluded so that results are not unreliable as poor quality information can lead to numerous negative consequences . Planners will have to determine the accuracy and reliability of any identified sources and select the best . 5. Select the most appropriate tools There are many different data analysis tools that can be used as part of this sequence; in this stage the most appropriate tool for the project is selected. Examples include methods of presentation such as charts and graphs for a visual representation of data . Regression analysis can also be used - regression is the determining of relationships e.g. if the amount spent on advertising bottled water increases, will consumption increase too or are other factors involved? If there is a link, a business can continue to spend more on advertising if consumption and profit also rises. Trend analysis is another option - this shows patterns over time , for example, bottled water consumption each year over the past decade. 6. Process and analyse data Data has now been collected and can be inputted into software such as spreadsheets or databases to further analyse. Putting collected data into a spreadsheet for example allows for analysis to begin as graphs can be created from the data and any patterns or trends discovered. 7. Record and store information The data has been collected and analysed and now any findings are written into a report . Any patterns, trends or findings can be described with statistical evidence generated from the analysis. 8. Share results A report is worthless if not shared with the stakeholders . Sharing can take different forms such as a typed document posted out to stakeholders, an email with major findings summarised or as a post on a website . Q uesto's Q uestions 3.4 - Stages of Data Analysis: 1. List the 8 stages of data analysis in order. [8 ] 2. A supermarket chain called 'Fresh Food UK' wants to complete data analysis to see which stores across the country have been most profitable in the last year . Explain how Fresh Food UK would use each of the 8 stages of data analysis . [16 ] 3.2 & 3.3 - Information Categories Topic List 3.5 - Data Analysis Tools
- 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
- 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.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 | 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 ➡
- 4.2 - Preventing Vulnerabilities - OCR GCSE (J277 Spec) | CSNewbs
Learn about common prevention methods of minimising cyber security risks including anti0malware, firewalls and penetration testing. Based on the J277 OCR GCSE Computer Science specification (first taught from 2020 onwards). 4.2: Preventing Vulnerabilities Exam Board: OCR Specification: J277 Watch on YouTube : Preventing Vulnerabilities Penetration Tests Penetration tests are carried out as part of ethical hacking. The purpose of a penetration test is to review the system's security to find any risks or weaknesses and to fix them . Internal tests are to see how much damage could be done by somebody within the company with a registered account. External tests are for white hat hackers to try and infiltrate a system from outside the company . Anti-Malware Software Anti-malware software is used to locate and delete malware, like viruses, on a computer system. The software scans each file on the computer and compares it against a database of known malware . Files with similar features to malware in the database are identified and deleted . There are thousands of known malware, but new forms are created each day by attackers, so anti-malware software must be regularly updated to keep systems secure. Other roles of anti-malware software: Checking all incoming and outgoing emails and their attachments . Checking files as they are downloaded . Scanning the hard drive for viruses and deleting them . Firewall A firewall manages incoming and outgoing network traffic . Each data packet is processed to check whether it should be given access to the network by examining the source and destination address . Unexpected data packets will be filtered out and not accepted to the network. Other roles of a firewall include: Blocking access to insecure / malicious web sites . Blocking certain programs from accessing the internet . Blocking unexpected / unauthorised downloads . Preventing specific users on a network accessing certain files . Secure Passwords ******** 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 . User Access Levels Access levels are used to only allow certain users to access and edit particular files. ' Read-Only ' access is when a user can only view a file and is not allowed to change any data . For example, a teacher might set homework instructions as read-only for students to view. ' Read and Write ' access allows a user to read and edit the data in a file. For example, a teacher might set an online workbook as read and write access for students to fill in. It is important to set access levels so that only authorised users can view and change data. The more users who have access to a file, the more likely it is to be compromised. Certain users may also have no access to a file - when they can't view or edit it. Encryption Encryption is the process of scrambling data into an unreadable format so that attackers cannot understand it if intercepted during transmission. The original data (known as plaintext ) is converted to scrambled ciphertext using an encryption key . Only at the correct destination will the encryption key be used to convert the ciphertext back into plaintext to be understood by the receiving computer. Physical Security A lock can be used to prevent access to server rooms or locations that store confidential data . Only authorised personnel with a matching key will have access. Biometric devices require the input of a human characteristic (such a fingerprint , iris or voice ). The biometric data is checked against previously inputted data in a database. Only a match will allow access to the user. Other forms of physical security include keycards , security staff , CCTV cameras and alarms . Q uesto's Q uestions 4.2 - Preventing Vulnerabilities: 1. Describe the purpose of penetration tests . [2 ] 2. Describe the purpose of anti-malware software and its different roles . [ 4 ] 3. Describe the purpose of a firewall and its different roles . [ 4 ] 4. State three rules for choosing a strong password . [ 3 ] 5. Describe the three types of access level . [6 ] 6a. Describe the purpose of encryption . [ 2 ] 6b. Explain how encryption works, using the terms plaintext , key and ciphertext . [ 4 ] 4.1 - Security Threats Theory Topics 5.1 - Operating Systems
- 3.2 & 3.3 - Information Categories | Unit 2 | OCR Cambridge Technicals | CSNewbs
Learn about how information can be categorised for both individuals and organisations. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification for Unit 2 (Global Information). 3.2 & 3.3 - Information Categories Exam Board: OCR Specification: 2016 - Unit 2 Categories of Information for Individuals Communication Texting a friend about dinner plans, sending an email to a family member in another country, ringing work because trains are delayed. Education and Training Revision textbooks, logging into a virtual learning environment to upload a completed worksheet, hand-written feedback sheets from a teacher after an exam. Planning Using a shared document to arrange meeting dates, using a webpage hosting a bus timetable, a calendar app. Financial Using a bank statement to plan holiday saving, creating a spreadsheet of expenditure this month, logging in to a secure web page to buy a present online. Entertainment Reading a film review in a magazine, listening to a podcast about trains, watching a tutorial on DIY. Research Using online encyclopedias for a school project, searching for research articles to write an essay, using a recipe book Location Dependent Find local pizza restaurants, searching for emergency dental care on holiday, Pokemon GO Categories of Information for Organisations Knowledge Management & Creation Managing information across an organisation e.g. sharing information between branches in different cities. Management Information Systems (MIS) A system that provides an overview of key information e.g. the location and contact details of each charity worker in a disaster area. A decision can be made on overall figures or individual data as appropriate. Financial Analysis & Modelling Analysing trends e.g. determining the top selling products in a year or weekly cash flow, to create models of customer/user behaviour. Contact Management Managing contact between a business and the customer e.g. tracking appointments at a doctor’s surgery. Internal and External Communication Providing a communication medium to staff and/or customers e.g. posting Christmas opening times on the website, or sending a staff email invite to the Christmas party. Big Data Any data too large or complex for traditional data analysis techniques to be used e.g health data on the population of an entire country. Marketing, Promotion & Sales Identifying patterns or trends in sales figures, so that certain products or areas can be targeted, e.g. to plan marketing campaigns. Decision Making Using available information to make decisions, e.g. a charity deciding on the amount of aid to be sent to a disaster area based on local data. Q uesto's Q uestions 3.2 & 3.3 - Information Categories: 1. Describe two examples of each category of information used by individuals : Communication Education & Training Entertainment Planning Financial Research Location Dependent [2 each ] 2. Describe two examples of each category of information used by organisations : Knowledge Management & Creation Management Information Systems (MIS) Marketing, Promotion & Sales Financial Analysis & Modelling Contact Management Decision Making Internal & External Communication Big Data [2 each ] 3.1 - Data vs. Information Topic List 3.4 - Stages of Data Analysis
- 1.3 - Primary Storage - Eduqas GCSE (2020 spec) | CSNewbs
Learn about the five types of primary storage - RAM, ROM, cache, flash and virtual memory. Based on the 2020 Eduqas (WJEC) GCSE specification. 1.3: Primary Storage (Memory) Exam Board: Eduqas / WJEC Specification: 2020 + Storage in a computer system is split into two categories. Primary Storage: Very quick to access because it is attached to the motherboard . Typically smaller in storage size . Sometimes called ‘main memory’ . Secondary Storage: Slower to access because it is not directly embedded on the motherboard . Typically larger in storage size . Sometimes called ‘backing storage’ . Storage is also split into two types - volatile and non-volatile . Volatile storage is temporary - data is lost whenever the power is turned off . Example: RAM Non-volatile storage saves the data even when not being powered . Data can be stored long-term and accessed when the computer is switched on . Example: ROM Types of Primary Storage (Memory) Random Access Memory (RAM) RAM is volatile (temporary) storage that stores all programs that are currently running . RAM also stores parts of the operating system to be accessed by the CPU. RAM is made up of a large number of storage locations, each can be identified by a unique address . Read-Only Memory (ROM) Cache Memory ROM is non-volatile storage that cannot be changed . ROM stores the boot program / BIOS for when the computer is switched on. The BIOS then loads up the operating system to take over managing the computer. Cache memory is volatile (temporary) storage that stores data that is frequently accessed . It is very quick to access because it is closer to the CPU than other types of memory like RAM. The three levels of cache memory are explained in more detail in 1.5 . RAM ( R andom A ccess M emory) ROM ( R ead O nly M emory) Cache Memory Flash Memory Flash memory is editable so it can be read and written to . It is also non-volatile so it can be used for long-term data storage even when the system is not powered on. Flash memory is also used for secondary storage devices like USB sticks and solid-state drives - see 1.4 . Virtual Memory When a computer system is running slowly and RAM is near full capacity , the operating system will convert storage space on the drive into temporary memory . This virtual memory slows the system down because it takes longer to access the drive than it does to manage RAM. Transferring data between RAM and virtual memory is called paging . Q uesto's Q uestions 1.3 - Primary Storage (Memory): 1. Describe the differences between primary and secondary storage . This could be done in a table with the column headings 'access speed' , 'storage size' and 'also known as' . [ 6 ] 2. Explain the difference between volatile and non-volatile storage . State an example of both types. [ 4 ] 3. For each type of memory below, describe it and state what information is stored within it: a . Random Access Memory (RAM) [3 ] b. Read-Only Memory (ROM) [ 3 ] c. Cache memory [ 3 ] d. Flash memory [ 3 ] e. Virtual memory [ 3 ] 1.2 - FDE Cycle 1.4 - Secondary Storage Theory Topics
- 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
- App Inventor 2 | Variables | CSNewbs
Learn how to use App Inventor 2 to create simple programs. Try to complete tasks 4, 5 and 6 on this page. Perfect for Key Stage 3 students to experiment with block coding, objects and properties. App Inventor Tasks 4, 5 & 6 - Using Variables This page will teach you how to make three simple apps that use variables . These apps will prepare you for the final program - the Pop-up Blob game. App #4 - Button Masher The first app to make is a simple program that counts how many times a button is pressed (but don't press it too much! ) This app will introduce you to using variables in App Inventor. Open App Inventor 2 (use the button below) and create a new project. You will need to log in with a Google account. App Inventor 2 Firstly, grab a button and two labels and place them in the Viewer . Using the Properties tab, you need to make the following changes: Button Text to 'Press Me!' Button Height to 60 pixels and Width to 'Fill parent...' Label 1 Text to 'Number of Presses' Label 2 Text to '0' Both Label 1 and Label 2 Width to 'Fill parent...' Both Label 1 and Label 2 TextAlignment to 'centre : 1' In the Components tab change the component names to be easier to code later. Switch to Blocks layout and drag an initialize global to block into the centre. In the blank space type 'Presses' - this is the name of the variable that will store how many times the button has been pressed. Drag a 0 block from Math. This will set the number of presses to 0 when the app starts. Drag a when ButtonPresses Clicked from the ButtonPresses section and add the necessary code inside. This code increases the variable value of Presses by 1 every time the button is clicked. It also changes the LabelPresses text to display the number of presses. Improve Your App As you will have seen in the video at the top, I programmed the app to go a bit crazy when 35 presses were recorded. In the code below I have shown how to use an if then block to check if the number of presses is 35. If it is then I have made the button invisible - this is an important feature we will use in later programs. Copy this code and add the following features to the then part of the if statement: Set the background colour to black. Change the Label1 Text Colour to white. Change the Label1 Text Size to 40. Change the Label1 Text to 'You broke it...' Program 4 Complete! App #5 - Timer The second app to make is a timer that counts up one second at a time. It also needs a reset button that sets the timer back to 0 again. It will introduce you to the clock component and enabling / disabling components. Open App Inventor 2 (use the button below) and create a new project. You will need to log in with a Google account. App Inventor 2 The code for this program is straightforward; it will take more effort getting the layout right. In the Palette tab, drag a HorizontalArrangement from the Layout section. It will look like an empty grey box at first. Grab a Button as well and place it underneath. Now drag two labels into the grey box and place the second one directly after the first, it may take a few attempts to get them to appear side by side like below: The last component to drag over is Clock (it is in the Sensors section in the Palette tab). It will go into its own section underneath: Change the name of some of the components so that they make more sense. Now to make some changes in the Properties tab. You should know enough by now to work out how to change your components so that it looks like this in your Viewer : Change your layout to Blocks and add the code blocks to the right. This code makes the Label named Seconds update by 1 every second, just like a timer. The code to the left will make the Label named Seconds reset to 0 when the button is pressed. Improve Your App As you will have seen in the video at the top of this task, I added a pause/unpause button that will set the enabled feature of the timer to true or false. You will need to complete the following steps (I've been deliberately vague to make it a challenge - break it down into small steps and use the colours to help you): Add a new button. Add code that, when the new button is clicked , checks if the TimerEnabled is true . If it is, then change TimerEnabled to false . Else change it to true . Now you also need to change the Text of the Button to read either "Pause" or "Unpause" . Program 5 Complete! App #6 - Windy Day The third app to make is an app that blows leaves around your screen. It will introduce you to random numbers, the canvas and coordinates . Open App Inventor 2 (use the button below) and create a new project. You will need to log in with a Google account. App Inventor 2 In the Palette tab, drag a Canvas from the Drawing and Animation section. A Canvas allows sprites (objects) to move around inside of it. In Properties , change the Height and Width of Canvas to 'Fill parent...' for both, so it fills the whole screen. In the Palette tab, drag over five ImageSprites from the Drawing and Animation section and drop them anywhere inside the canvas. Download the leaf picture with all App Inventor images on the basics page here . Upload the leaf image it in the Media tab. In the Components tab change the names of your ImageSprites to be leaf1, leaf 2 etc. For each leaf sprite, in the Properties tab, change the Picture to the leaf you just uploaded and change Height and Width to 30 pixels each. Finally, in the Palette tab, in the Sensors section, drag over a Clock . Your Viewer should look like the image to the left. X axis Y axis 0 300 500 Now for an explanation of coordinates. Each sprite (leaf) has an x coordinate (horizontal) and a y coordinate (vertical). For example, the leaf in the top right would have coordinates of x = 270 and y = 100. Can you work out approximately what the other leaves coordinates would be? What the code blocks below do is randomise the x and y coordinates for leaf1 every second. The word integer means a whole number . Use this code and add to it to make all 5 leaves randomly change coordinates. Improve Your App Add a pause / unpause button, just like in the Timer app that pauses the timer so that the leaves stop blowing (and starts them blowing around again too). Find a nice picture (maybe of a park?) online and upload it in the Media tab. Set this as the Canvas BackgroundImage . Add an audio file of some whooshing (why not record it yourself?). Program 6 Complete! Task 7 KS3 Home
- 2.3 - Quality of Information | Unit 2 | OCR Cambridge Technicals | CSNewbs
Learn about the characteristics of information and the impacts of both good and poor quality information on customers and stakeholders. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification for Unit 2 (Global Information). 2.3 - Quality of Information Exam Board: OCR Specification: 2016 - Unit 2 Information Characteristics Valid Information This is correct, up-to-date and complete information that fits its purpose . For example, detailed end-of-year financial data in the form of graphs. Biased Information 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. Relevant Information Information should be appropriate for the required purpose . Irrelevant information may get in the way of correct decision making. Accurate Information Information should be carefully selected and entirely correct , inaccurate information can lead to unwanted consequences such as higher costs and missed deadlines. Reliable Information Information from a source that can be verified and confirmed to be correct . For example, BBC News is a more reliable information source than social media posts. Information Quality The quality of information that an organisation uses will have a significant impact on further processes and decisions. Good quality information that is accurate , valid or reliable can lead to better strategic decisions , meeting deadlines and innovation . Poor quality information that is biased , inaccurate or out of date may lead to negative consequences such as loss of customer trust , fines and legal challenges . Positive Effects of Good Quality Information Reliable information received by the management team . Good quality research information. Good quality sales information. Accurate cost projection information. Informed decisions with a higher chance of success . Can lead to innovation and better understanding . Strategic decisions and planning ahead . Projects will stay within their budget . Accurate time expectations . Projects will be completed on time . Negative Effects of Poor Quality Information Biased survey with inaccurate results . Inaccurate stock information. Out of date information received by management . Inaccurate data has led to poor reviews online . Inaccurate time expectations . Misinformed decisions , not responding to customers needs . ??? Inaccurate delivery times , customers unhappy . Too much / little stock. Miss out on opportunities , possible fall in profits . Loss of customer trust , loss of customers and reputation . Financial issues . Projects take longer , cost more , stakeholders unhappy . Possible project failure . Q uesto's Q uestions 2.3 - Quality of Information: 1. Describe 5 characteristics of information . [10 ] 2. Explain 5 positive impacts of good quality information . [10 ] 3. Explain 5 negative impacts of poor quality information . [10 ] 2.2 - Information Classification 2.4 - Information Management Topic List









