BTEC Level 3 National Extended Diploma in Computing Mr Jalil Learning Objective • Understand the structure of the course • Be able to define and explain the term Decomposition • Be able to decompose a real world game BTEC Level 3 National Extended Diploma in Computing • With Me – You will be covering: – Unit 1 – EXAM (Mandatory ) YOU MUST PASS ALL UNITS TO PASS THIS COURSE Course outline & Retakes Two Previously – 2 Retake for exams! This could change to 1 retake this year. Unit 1: Principles of Computer Science Level: 3 Unit type: External Guided learning hours: 120 • Summary of assessment • This unit is assessed through a written examination set and marked by Pearson. • The examination is two hours in length. During the supervised assessment period, learners will be • assessed on their ability to apply their computationalthinking skills to solve problems. • The number of marks for the unit is 90. • The assessment availability is January and May/June each year. The first assessment availability is January 2022. • Sample assessment materials will be available to help centres prepare learners for assessment. Computational Thinking • https://youtu.be/AkzdvKhbWLQ Task: Research and define the following: Log in to your PC • Log in using your LGFL login account to the PC Go to: www.drive.google.com • Email: _______.211@stepneyallsaintsschool.com • Password: myg00gle (you will be asked to change your password once you login. For the new password use your internet login password and add 123 at the end) Google Class Code: 7csqevv Create the following folder structure in google drive (not google classroom). Make sure the you are on the main root folder “My Drive” BTEC Computing BTEC Computing Unit 1 – Mr Jalil Unit 2 – Mr Choudhury Unit 3 – Mr Hasib Unit 4 – Ms Begum Google class code • Will be provided in lesson Today Lesson Decomposition Pattern recognition Pattern generalisation and abstraction Algorithm design A Computational thinking • Application of the thinking skills involved in analysing problems and processes, to identify solutions • that can be developed into computer programs. A1 Decomposition • Identifying and describing problems and processes. • Breaking down problems and processes into distinct steps. • Describing problems and processes as a set of structured steps. • Communicating the key features of problems and processes to others. A1 Decomposition • Decomposition is a key part of computational thinking and involves identifying and describing problems within a system so that the problem can be broken down and tackled in a step by step manner. By decomposing problems into smaller manageable tasks then more people can get involved in different elements of building or trouble-shooting a computer program or system. To look at decomposition in more detail, it can be broken into the four key elements as outlined below: • • • • Identifying and describing problems and processes Breaking down problems and processes into distinct steps Describing problems and processes as a set of structured steps Communicating the key features of problems and processes to others http://answertutor.com/a1-decomposition/ Identifying and describing problems and processes: • • • • • • • In order to be able to look at problems in more detail firstly we have to identify the problem and be able to describe in plain English so that everyone working on a solution has a clear understanding of what the problem is. When doing this a project manager might need a high level description of the problem where as a computer programmer might describe the problem in more technical terms. Everyone working on the problem will still link it to be the same problem but will look at it in a different level of detail. When developing a computer program you might be able identify and describe a problem and related process using the following techniques: What are we looking to do? or can the existing system not do that we what it to do? What needs to be added or removed from the system to fix the problem? What processes within the existing system or new system will provide a solution for the problem? Write a high level summary of the problem so that it is more easily understood by everyone involved Communicate an overview of the problem to relevant stakeholders An overview of how a problem is identified and described could be communicated in a needs analysis document for the system. Breaking down problems and processes into distinct steps: • • • • • • • • After you have identified and described a problem the next step is to analyse that problem and into more distinct steps. Breaking problems down into more distinct and manageable steps allows multiple stakeholders to get involved in providing a solution to the problem so this is an important aspect of decomposition in computer science. Let’s use something like developing a social network such as Facebook as an example of how a problem is broken down into distinct steps. This could be as follows: The system needs to connect to a database to store user account information Use accounts need to have secure logins Users needs to be able to update their status Users need to be able to upload pictures Users need to be able to connect with friends Users need to be able to message friends This is a very high level look at the different elements that might be needed in a social networking system but you can see how decomposition is used to break things down into distinction steps on what needs to be included within the system. Describing problems and processes as a set of structured steps: • • • • • • • • • • • • After looking at how problems are broken down into distinct steps, the need step in decomposing a problem is to describe individual elements within a system as a set of structured steps. Looking at the previous example using Facebook, you could break one of the main problems down into structured steps to address how the problem is implemented within the system. As an example we will look at how a user will update their status: User needs to be logged in to their account using secure login so connection is established User must navigate to their own homepage When user is on homepage, update status box needs to be displayed User must be allowed to type into the status box User can tag friends in the status box so when the type a friends name front end must access friend list from database When user wants to update status, they can press update button or press enter After user updates the status it must be timed stamped and stored in the database for that user Status must be displayed on others timelines if they are connected to the user When user visits their homepage their latest status should be visible to them Users should have the ability to update or delete their status and this must be reflected in the database for their user account We have looked at how one of the problems is broken down into more detailed steps so different programmers would be able to develop relevant pieces of code that could be pieced together to make the overall process of allowing users to update their status. You can see how decomposing the problem is giving us a more detailed view of how the system works and the different elements that are needed to make the system work user different processes to solve a higher level problem. Communicating the key features of problems and processes to others: • When we look at the 3 previous steps we have focused on how problems are broken down into manageable chunks. In doing this it gives an understanding of how a problem can be solved or how different elements of a system work together to create the system. As different stakeholders will look at these problems and the processes needed to solve the problems in different levels of details it is important to be able to communicate the key features of these problems and processes at different level. Design documentation can be used to illustrate how the system will work and the different features that are included in the system. High level block diagrams will be used to give an overall picture of all elements of the system but as solutions are developed and broken down into individual components the level of detail in the documentation needs to more detailed. Creating detailed design documentation will enable people that are decomposing the system at a later date to update it find solutions to overcome the issues associated with adding new features. Updating the design documentation on an ongoing basis is also part if decomposing the system into specific features and processes to make sure the overall system or program is more manageable in the long term. In your Revision book: • Define the Term Computational Thinking (CT) • Define the Term Decomposition • Summarise the Steps for Decomposition Computational Thinking Task 2 • Decompose one of the following games: – Tetris https://www.youtube.com/watch?v=X91_x7ReYyM Or – Space invaders https://www.youtube.com/watch?v=437Ld_rKM2s Homework: • Wednesday 7th Sept 2022: • Create a Poster on the definitions of CT and each of the 4 stages. • 4 stages of decomposition.