[WHAT EXTRA SUBJECT KNOWLEDGE DO I NEED TO TEACH COMPUTING?] Adapted from the Teaching Agency advice for entry into specialist computer courses for teachers this document provides a checklist of the type of knowledge needed to teach Computing. Please note this knowledge and advice needs to be supplemented by general skills in the teaching of ICT. Subject Knowledge Audit for the teaching of Computing With the change to Computing as the new name for Information Communication and Technology many existing teachers are being presented with the need to teach concepts and ideas that they have not met before. Successful teachers of ICT will, with a little training will become effective teachers of Computing, and this paper indicates the knowledge that these teachers should gather to engender this change. These additions assume that the teacher already has the necessary knowledge and skills to teach the following areas of the ICT and e-safety curriculum and that they can: Explain how to use a range of ICT tools in a purposeful way to tackle questions, solve problems and create ideas and solutions of value. Explain how to apply ICT in a range of contexts and in other areas of learning, work and life. Explain how ICT can be used to communicate, collaborate and share ideas on a global scale, allowing people to work together. Solve problems creatively by using ICT to explore ideas and try alternatives. Know that ICT can be used to model different scenarios, identify patterns and test hypotheses. Know that ICT can be used to manipulate information and process large quantities of data efficiently. Explore how ICT changes the way we live our lives and has significant social, ethical and cultural implications. Discuss the issues of risk, safety and responsibility surrounding the use of ICT. Be able to explain that information must not be taken at face value, but must be analysed and evaluated to take account of its purpose, author, currency and context. Review and reflect critically on what they and others produce using ICT. There are several important points to note about the change of teaching: The list is aspirational and should not exclude teachers from teaching aspects of Computing There is a vast amount of resources available to help teachers – see https://sites.google.com/site/primaryictitt/ The gaining of the knowledge needed to add to the teachers knowledge should be planned and part of the on-going CPD of the teacher. Adapted from Teaching Agency – Subject knowledge requirements for entry into computer science teacher training and PoS for ICT http://academy.bcs.org/sites/academy.bcs.org/files/subject%20knowledge%20requirements%20for%20entry%20into%20cs%20teacher%20training.pdf http://media.education.gov.uk/assets/files/pdf/q/ict%202007%20programme%20of%20study%20for%20key%20stage%203.pdf Subject Knowledge Audit for the teaching of Computing Algorithms Explain that an algorithm is a precise way of solving a problem which can be followed by humans and computers. Give examples of algorithms met in everyday life. Explain that computers need more precise instructions than humans and the need for precision to avoid errors. Explain and use programming concepts such as selection, repetition, procedures, variables, and relational operators. Review and assess the quality of code. Find and correct errors in syntax and meaning. Explain that computers are controlled by sequences of precise instructions known as programs. Explain the need for accuracy of algorithms. Explain that computers follow instructions/blindly. Distinguish between an algorithm and the programs that implements that algorithm. Represent algorithmic steps in programming languages. Explain how and use programs to simulate environments to test hypothesis. Explain and show how programs can be planned, tested and corrected and documented. Data Explain how computers represent all data in binary. Explain how the same binary data can be interpreted in different ways e.g. an 8-bit value could be a character or a number. Explain how the same information can be represented in a computer in a variety of ways e.g. sound as mp3 or MIDI. Explain that data can have errors, how this might affect results and decisions based on the data and how errors can be reduced. Explain the need for and content of the Data Protection Act, Computer Misuse Act and Copyright legislation (and other relevant legislation). Discuss career paths for those studying Computing. Computers & Social Informatics Explain what a computer is and give examples of devices that include computers. Communication and the Internet Explain what the World Wide Web and the Internet are, and the difference. Explain and describe the key characteristics of basic computer architecture (e.g. CPU, memory, hard disk, mouse, display etc). Outline the key features of the World Wide Web and their relationships (e.g. browsers, URLs, navigation methods). Explain why there are sometimes different operating systems and application software for the same hardware. Explain and use common troubleshooting techniques. Explain Moore’s Law and multitasking by computers. Outline how data are transported on the Internet, including packets and the notion of a protocol. Explain the role of search engines and what happens when a user requests a web page in a browser. Explain the technological perspective on safety and security. Discuss social and ethical issues raised by the role of computers in the world. Explain the importance of human-computer interface design Explain how HTML constructs a web page. Adapted from Teaching Agency – Subject knowledge requirements for entry into computer science teacher training and PoS for ICT http://academy.bcs.org/sites/academy.bcs.org/files/subject%20knowledge%20requirements%20for%20entry%20into%20cs%20teacher%20training.pdf http://media.education.gov.uk/assets/files/pdf/q/ict%202007%20programme%20of%20study%20for%20key%20stage%203.pdf Primary Specialist Explain and show how algorithms can use selection (if), repetition (loops), procedures (sub-algorithms within an algorithm). Programming Code competently in at least two programming languages, which may both be ‘visual’. Subject Knowledge Audit for the teaching of Computing Algorithms Explain how the choice of an algorithm should be influenced by the data. Be able to explain and use several key algorithms (e.g. sorting, searching, shortest path). Explain how algorithms can be improved, validated, tested and corrected. Explain and show how different algorithms can have different performance characteristics for the same task. Successfully apply algorithms in solving GCSE and A level type problems. Explain and use programming concepts such as selection, repetition, procedures, constants, variables, relational operators, logical operators and functions. Explain and use truth tables and Boolean valued variables. Explain and use two dimensional arrays. Explain and use nested constructs/loops. Explain the concept of procedures that call procedures. Explain how low level languages work and be able to give simple examples. Data Explain the difference between data and information. Computers & Social Informatics Explain the use of logic gates and registers. Explain the need for and use of hexadecimal, two’s complement, signed integers, and string manipulation. Explain Von Neumann architecture (CPU, Memory, Input/Output). Explain the need for data compression, and be able to describe simple compression methods. Explain the need for analogue to digital conversions and how this works. Explain the limitations of using binary representations e.g. rounding errors, sampling frequency and fractional numbers. Explain the fetch-execute cycle. Explain and use low level instruction sets and assembly code. Communication and the Internet Explain the concepts of: client/server models; MAC addresses, IP addresses and domain names; and cookies. Explain a ‘real protocol’ e.g. using telnet to interact with an HTTP server. Explain routing; redundancy and error correction; encryption. Explain what compilers and interpreters are and do and give some examples of when they are used. Explain the main functions of operating systems. Explain how structured data can be represented in tables in a relational database, and simple database queries. Explain that a program can be written to satisfy requirements and that they should be corrected if they do not meet these. Successfully apply programming in solving Computing/Computer Science GCSE and A level type problems. Adapted from Teaching Agency – Subject knowledge requirements for entry into computer science teacher training and PoS for ICT http://academy.bcs.org/sites/academy.bcs.org/files/subject%20knowledge%20requirements%20for%20entry%20into%20cs%20teacher%20training.pdf http://media.education.gov.uk/assets/files/pdf/q/ict%202007%20programme%20of%20study%20for%20key%20stage%203.pdf Secondary Specialist Explain that a single problem could be solved by more than one algorithm. Programming Program competently in a least two programming languages, at least one of which must be ‘textual’.