A link to a compact Tkinter book of examples, good for a practical problem set to give to pupils.
Read MoreCOMPUTER SCIENCE AND ICT TRAINING
The skills and confidence to teach an interesting and engaging programming curriculum leading up to A-level. Lots of lesson ideas with code/solutions, proven schemes of work. A set of common guidelines for coursework at all levels + coursework ideas. Day 1 - Introduction to Python Programming at Key Stage 3 • Input / output and assignment • Selection and nested selection • Teacher skills audit and strategies to leverage existing ICT knowledge • Iteration and looping constructs – while and for loops • Graphics with Turtle (Python’s version of Logo) Day 2 - GCSE Overview and Understanding Programming • Creating user interfaces, validation, formatted output • Arrays, dictionaries, data manipulation, files • Advanced variable assignment, data types, selection Day 3 - Advanced Skills: Identifying the key characteristics of pupil success at GCSE • String manipulation vs list operations • Use of functions and passing parameters • Advanced Python: csv/flatfile/relational data storage and persistence Day 4 - Moving into A-level • Use of modular top-down programming • Use of classes / object oriented programming • Creating relational databases and queries with SQL • Visual SQL tools for ERD design Day 5 Advanced Python Skills for A level • Developing the GUIframeworks: Tkinter / drag-and-drop PyQT • Navigation of multiple forms / Interfaces with built-in validation • Advanced OOP using Class definition, inheritance, polymorphism • Tips and hints on coursework administration and the write-up and ensuring deadlines are met Booking Details https://community.computingatschool.org.uk/events/7715
Read MoreThe course will show and highlight the key skills involved at delivering the A level, as well as the progression of the techniques from GCSE Computer Science to the top end of the A level Course. The course aims to give teachers the confidence to program solutions to questions set from past A level questions as well as to provide an awareness of the skills required for successful completion of a programming project aimed at A level. Day 1 Stating out Session 1 – Recap of GCSE Coding skills • How to set out effective pseudocode. • Use of string slicing and Boolean operators for validation • Functions / subroutines and parameter passing Session 2 – Moving into A level - Nested lists, • List slicing, sorting, passing to functions Session 3 – Flat file database structures • Reading and writing CSV files, records and fields, interacting with spreadsheets and using SQL Session 4 – How to write to relational databases • SQL with Sqlite, queries: selection, update, insert, and delete, primary and foreign keys and setting up relationships Day 2 Session 1 – Object Orientated Programming • Class definition, object instantiation, inheritance, polymorphism Session 2 – Developing your user interface – • Introduction to GUI - how to add forms, screens, buttons, radio and check buttons, text boxes, labels, combo boxes and list boxes. Session 3 – Approaches to the coursework and questions in common with exam boards https://community.computingatschool.org.uk/events/7722
Read MoreThe courses looks at aspects of machine architecture and how software and hardware interact with the processing unit. You will become confident with understanding the main features of fetching and decoding instructions and writing simple algorithms and programs in an assembly language using the LittleMan Computer simulation and discover some engaging and imaginative techniques to teach this in an innovative way.
Read MoreBecome familiar with the protocols of sending and receiving data across a computer network, discover how the internet works, and how protocol layering plays its part in the transmission of data from one computer to another. You will become familiar with the threats that organisation face when receiving data packets and the strategies they put in place to deal with this. The course will focus also on delivering these topics to pupils in an engaging way to GCSE.
Read MoreYou’ll find out about writing easy-to-understand code to collect, process and display data. Develop your knowledge of data types, and how data structures are manipulated in python programs. Become confident in using logic and arithmetic to write efficient code to execute algorithms. New program code almost always contains errors; you’ll become adept at identifying and correcting them, and testing the functionality of your code search CE203 F01 at www.stem.org.uk under CPD
Read MoreThis course centres on the core search and sort algorithms; exploring how they manipulate data structures and comparing the relative efficiency of different methods. You will become skilled using formal maths and logic to design algorithms, and be able to trace algorithms confidently, finding and fixing errors. You’ll become familiar with the execution of algorithms in Python, supporting practical programming tasks. https://www.stem.org.uk/cpd/463166/algorithms-gcse-computer-science
Read MoreThe course will show and highlight the key skills involved at delivering the A level, as well as the progression of the techniques from GCSE Computer Science to the top end of the A level Course. The course aims to give teachers the confidence to program solutions to questions set from past A level questions as well as to provide an awareness of the skills required for successful completion of a programming project aimed at A level. Day 1 Stating out Session 1 – Recap of GCSE Coding skills • How to set out effective pseudocode. • Use of string slicing and Boolean operators for validation • Functions / subroutines and parameter passing Session 2 – Moving into A level - Nested lists, • List slicing, sorting, passing to functions Session 3 – Flat file database structures • Reading and writing CSV files, records and fields, interacting with spreadsheets and using SQL Session 4 – How to write to relational databases • SQL with Sqlite, queries: selection, update, insert, and delete, primary and foreign keys and setting up relationships Day 2 Session 1 – Object Orientated Programming • Class definition, object instantiation, inheritance, polymorphism Session 2 – Developing your user interface – • Introduction to GUI - how to add forms, screens, buttons, radio and check buttons, text boxes, labels, combo boxes and list boxes. Session 3 – Approaches to the coursework and questions in common with exam boards https://community.computingatschool.org.uk/events/7716
Read MoreAn overview and techniques for teaching the most challenging topics in the linear A level Computing. This course is ideally suited for teachers who have been teaching GCSE Computing for some time. We will be focusing on the core theory common to all boards Delegates will go away for lots of resources to help them through the two years of teaching the course. Day 1 Session 1: Fundamentals of Programming and Computational Thinking • Computational thinking • Standard and complex algorithms • Efficiency of different algorithms • Standard and complex algorithms – algorithms for Quick and Merge Sort Session 2: Data structures • Trees, stacks and queues • Graphs, linked lists, intractable algorithms, Dijkstra/A* Day 2 Session 1: Object Oriented Programming · Classes, Objects, Attributes, Methods · Encapsulation, Inheritance, Polymorphism, Aggregation, Composition, Overriding · Unified Modelling Language (UML) · Practical coding examples and exam questions Session 2 Maths for Computer Science • Data representation – floating point arithmetic addition and subtraction, normalisation, masking and shifts Session 3 Review of Exam Questions • A look at selected topics from various boards Booking Details https://community.computingatschool.org.uk/events/7633
Read MoreYou’ll find out about writing easy-to-understand code to collect, process and display data. Develop your knowledge of data types, and how data structures are manipulated in python programs. Become confident in using logic and arithmetic to write efficient code to execute algorithms. New program code almost always contains errors; you’ll become adept at identifying and correcting them, and testing the functionality of your code Booking Details https://www.stem.org.uk/cpd/463681/python-programming-essentials-gcse-computer-science
Read MoreFor further details of the course and to book please see the following link https://community.computingatschool.org.uk/events/7241
Read MoreThis courses is a two theory related to the teaching of A level Computer Science for details and to book please follow this link https://community.computingatschool.org.uk/events/6773
Read MoreNetworked computers, and cyber-security issues, are the focus of this two-day professional development. Gain comprehensive knowledge of the hardware and software systems that comprise networks, including the globally connected systems forming the internet. You’ll develop your knowledge of computer security including measures to guard against a range of threats, both technical and behavioural. You’ll learn about vulnerabilities – where they come from, how they are exploited, and what can be done about them; knowledge which helps inform your pupils and make them safer online citizens. Bursary Available https://www.stem.org.uk/cpd/456368/networks-and-cyber-security-gcse-computer-science
Read MoreThis course centres on the core search and sort algorithms; exploring how they manipulate data structures and comparing the relative efficiency of different methods.You will become skilled using formal maths and logic to design algorithms, and be able to trace algorithms confidently, finding and fixing errors. You’ll become familiar with the execution of algorithms in Python, supporting practical programming tasks. Link enclosed www.stem.org.uk/cpd/456127/algorithms-gcse-computer-science
Read MoreYou’ll find out about writing easy-to-understand code to collect, process and display data. Develop your knowledge of data types, and how data structures are manipulated in python programs. Become confident in using logic and arithmetic to write efficient code to execute algorithms. New program code almost always contains errors; you’ll become adept at identifying and correcting them, and testing the functionality of your code. The course will take you through the basics of Python to a GCSE level. Bursary available
Read MoreThis course has been designed to not only teach the fundamentals of programming but also to focus on how these can be delivered in the classroom. There will be two workshops: one aimed at beginners, and the other at intermediate and more-advanced programmers.
Read MoreDAY 1 Session 1: Fundamentals of Programming and Computational Thinking Computational thinking; Standard and complex algorithms; Efficiency of different algorithms; Standard and complex algorithms – algorithms for Quick and Merge Sort. Session 2: Data structures Trees, stacks and queues; Graphs, linked lists, intractable algorithms, and Dijkstra/A*. DAY 2 Session 1: Object Oriented Programming Classes, objects, attributes, methods; Encapsulation, inheritance, polymorphism, aggregation, composition, overriding; Unified Modelling Language (UML); Practical coding examples and exam questions. Session 2: Maths for Computer Science Data representation – floating point arithmetic, addition and subtraction, normalisation, masking and shifts. Session 3: Review of exam questions A look at selected topics from various boards.
Read MoreOverview and techniques for teaching the most-challenging topics in linear A-Level Computing, ideally suited to teachers who’ve taught GCSE Computing for some time. We’ll focus on core theory common to all boards. You’ll leave with lots of resources to help you through the two years of teaching the course.
Read MoreThis course is delivered as part of the National Centre for Computing Education, and forms part of the Computer Science Accelerator programme An understanding of algorithms is fundamental to success in computer science. To reach their full potential, students of GCSE computer science need to be confident in using decomposition and abstraction to solve problems.
Read MoreThis course is delivered as part of the National Centre for Computing Education, and forms part of the Computer Science Accelerator programme An understanding of algorithms is fundamental to success in computer science. To reach their full potential, students of GCSE computer science need to be confident in using decomposition and abstraction to solve problems.
Read MoreHands-on A-Level Computing: Programming for A-Level - Developing key programming skills using Python (2 days)
Read MoreThe course will highlight the key skills for delivering the A Level, plus the progression of techniques from GCSE Computer Science. It aims to give teachers the confidence to program solutions for past A-Level questions, and to provide an awareness of the skills required for the successful completion of an A-Level programming project.
Read MoreThis course is delivered as part of the National Centre for Computing Education, and forms part of the Computer Science Accelerator programme. The level of programming skill required for GCSE becomes demanding, and may seem daunting for those without a programming background. This professional development aims to take you from novice programmer to competent teacher of Python programming. You’ll be walked through the fundamentals of programming, with lots of hands-on experience under the guidance of highly successful teachers of computer science. You’ll find out about writing easy-to-understand code to collect, process and display data. Develop your knowledge of data types, and how data structures are manipulated in python programs. Become confident in using logic and arithmetic to write efficient code to execute algorithms. New program code almost always contains errors; you’ll become adept at identifying and correcting them, and testing the functionality of your code.
Read MoreWe are running two separate workshops covering the theory aspects of the GCSE and A level Computer Science courses. We recommend that delegates have already attended the GCSE Theory course or have previous experience of teaching Computer Science to GCSE.
Read MoreCovers the challenging content pupils struggle with: the computational-thinking and algorithms paper of any examination board. Focusses on the teaching strategies for the technical topics involved in the new specifications. Shows how algorithms can be approached with confidence, working through all key programming constructs. Also covers other material such as Boolean logic, programming techniques and methodologies. Ideally suited to those who have taught GCSE Computing or who are considering doing so for the first time. Lots of resources to help them through the first year of teaching the course.
Read MoreA CPD course for ICT teachers of all abilities, this will equip you with the skills and confidence to teach, in an interesting and engaging way, the GCSE CS curriculum, including the programming content and skills required for approaching examination questions as well as the non-examination assessment. Subject to sufficient interest, there will be an A level parallel workshop covering more advanced concepts. IF BOOKING FOR ONE DAY ONLY, THE CHARGE IS £150 (TWO DAYS = £270)
Read MoreA link to a compact Tkinter book of examples, good for a practical problem set to give to pupils.
Read MoreGet these pseudocode practice questions - on an easy side, answers included!
Read MoreA lesson or a homework activity on algorithm design, with AFL, printer-ready (A4), with solutions
Read MoreOverview of Flowgorithm - a great free program for teaching pseudocode and flowcharts. Will also mention that it can run on MacOS with Wine.
Read MoreThis is a handout that I use to introduce SQL with Python for year 10s and later. Includes a database in the SQLite format.
Read MoreBatches of practice questions we use in our revision.
Read MoreOrganise your and your pupils revision with folders that correspond to the syllabus. Enclosed are: a csv file with section/subsection names which are concatenated to form folders, the file has a general outline of J276 OCR Computer Science but will work with any CSV with 2 columns without any objectionable characters Sample folders created
Read MoreSlides to support delivery of iteration (FOR, While, Repeat until), lists/arrays up to 2d, use of flowcharts and pseudocode, includes practical tasks
Read MoreThis is the first 70 algorithm problems (with solutions, as well) from the set that we use in our CPD - we have 100 problems in the CPD one. This should get your pupils started and well under way into their algorithmic thinking.
Read Moreunder construction
Read MoreWe are running a variety of CPD seminars, culminating with the whole-week boot camp in the Summer term.
Learn MoreWe produce resources featuring techniques and applications relevant to today's specifications for all exam boards, KS3, KS4, KS5.
Learn MoreWe keep our ears to the ground and try to stay ahead of all the latest developments.
Learn More
1.1 Systems Architecture - Purpose of CPU and Components
1.1 Systems Architecture - Von Neumann Architecture & Fetch Execute Cycle
1.1 Systems Architecture - Common Characteristics & Performance
1.1 Systems Architecture - Embedded Systems
1.2 Memory - Purpose of ROM & RAM and difference between them
1.2 Memory - Flash Memory and need for Virtual Memory
1.3 Storage - Need for secondary storage & common types
1.3 Storage - Data capacity calculations & using characteristics
1.4 Wired & Wireless Networks - Types of networks and factors that affect performance
1.4 Wired & Wireless Networks - Hardware needed to connect to a LAN and virtual networks
1.4 Wired & Wireless Networks - Client-server and peer-to-peer networks
1.4 Wired & Wireless Networks - The Internet
1.5 Network Topologies, Protocols & Layers - Wifi & Ethernet
1.5 Network Topologies, Protocols & Layers - Star and mesh topologies
1.5 Network Topologies, Protocols & Layers - Uses of IP & MAC addressing & packet switching
1.5 Network Topologies, Protocols & Layers - Protocols
1.5 Network Topologies, Protocols & Layers - Protocols & concept of layers
1.6 Systems Security - Forms of attack
1.6 Systems Security - Threats posed to networks
1.6 Systems Security - Identifying and preventing vulnerabilities
1.7 Systems Software - Operating systems
1.7 Systems Software - Utility system software
1.8 Issues - Legal Issues & relevant laws
1.8 Issues - Open vs proprietary software
1.8 Issues - Environmental Issues
1.8 Issues - Ethical & Cultural Issues
1.8 Issues - Key stakeholder considerations
2.1 Algorithms - Computational thinking
2.1 Algorithms - Flowcharts
2.1 Algorithms - Pseudocode
2.1 Algorithms - Interpret, correct or complete algorithms
2.1 Algorithms - Standard sorting algorithms (Bubble & Insertion)
2.1 Algorithms - Standard sorting algorithms (Merge & Comparisons)
2.1 Algorithms - Standard searching algorithms (Linear & Binary)
2.2 Programming Techniques - Variables, Constants, Input & Output
2.2 Programming Techniques - Data Types & Operators
2.2 Programming Techniques - Sequencing & Selection (IF ELSE)
2.2 Programming Techniques - SQL
2.3 Producing Robust Programs - Maintainability (Comments & Indentation)
2.2 Programming Techniques - Iteration (Fixed and Conditional)
2.2 Programming Techniques - String Manipulation
2.2 Programming Techniques - Lists (Arrays)
2.2 Programming Techniques - Lists & Dictionary Files
2.2 Programming Techniques - Functions and Procedures
2.2 Programming Techniques - File Handling
2.3 Producing Robust Programs - Syntax and Logic Errors
2.3 Producing Robust Programs - Defensive design considerations
2.3 Producing Robust Programs - Purpose and types of testing & test data
2.4 Computational Logic - Why data is in binary form, Logic diagrams & truth tables
2.4 Computational Logic - Combining gates & truth tables to solve problems.
2.5 Translators & Facilities - Characteristics of different levels of programming language
2.5 Translators & Facilities - Translators and characteristics of types of translators
2.5 Translators & Facilities - IDE common tools and facilities
2.6 Data Representation - Units
2.6 Data Representation - Binary Addition & Shifts
2.6 Data Representation - Hexadecimal & Check Digits
2.6 Data Representation - Characters
2.6 Data Representation - Images
2.6 Data Representation - Sound
2.6 Data Representation - Compression
3.2 Analysis - NEA
3.3 Design - NEA
3.4 Development - NEA
3.5 Testing & Evaluation - NEA
Head of Computing, Master Teacher, HUB leader
Darren is an experience trainer and teacher, specialising in bringing people together and promoting the subject to as many pupils as possible.
Head of Computing, Experienced Trainer
Ilia is always looking for better ways to explain concepts and loves creating resources for the wide variety of topics.