How to effectively use Codecademy in the Classroom
Understand what Codecademy is and what we offer on our platform OBJECTIVES 1 Understand what Codecademy is and what we offer on our platform Welcome to our training session on how to use Codecademy - a free resource that can be used in the classroom to teach the fundamentals of programming. What we want to you to take away from this presentation is: Understand what Codecademy is and what we offer on our platform Understand what we offer for teachers Learn how to use Codecademy effectively in the classroom 2 Understand what we offer for teachers 3 Learn how to use Codecademy effectively in the classroom
TESTIMONIALS Codecademy is not new to the Classroom. It has been used in a number of schools already including Snowfields Primary School, Rendcomb College and The Minster School. A mix of Primary and Secondary Schools.
WHAT WE OFFER IN OUR PLATFORM #1 WHAT WE OFFER IN OUR PLATFORM
Learn core programming concepts and syntax for programming languages LANGUAGE SKILLS 1 Lets start by outlining what is available on our Codecademy platform. In a nutshell our platform offers free online core language courses, web-developer courses, small 30 minute projects and API courses. 1. Language Skills Codecademy offers free online courses in 6 different languages including HTML, JavaScript and Python.Through these courses you can learn core programming concepts and syntax. You can track your progress through the course and earn achievement badges. Learn core programming concepts and syntax for programming languages
Complete projects where you learn to build professional websites WEB DEVELOPERS SKILLS 2 2. Web Developer Skills We also offer a course in making a professional website. Like the programming language courses it introduces the key concepts at a beginners level: the difference being that this course allows you to get straight into a project. Make a Website involves learning how to use HTML and CSS to enable you to build a professional website Make an interactive Website builds upon this and introduces JavaScript and jQuery, making your website interactive Complete projects where you learn to build professional websites
Get engaged in programming with these 30-minute projects SMALLER PROJECTS 3 We also offer shorter courses that can introduce or reinforce the basics of programming languages. For example, creating an animation of your name uses JavaScript whilst the other projects use HTML and CSS which are internet based languages. Like the web developer course this is a fun and engaging project. We find this short activity works really well to quickly get teachers or students engaged in programming. Get engaged in programming with these 30-minute projects
Learn how to use APIs to make your own applications 4 We also have courses aimed at learning how to use popular APIs. An API is a software-to-software interface, which allows applications talk to each other without any user knowledge or intervention. Knowledge of APIs such as YouTube, Twitter and WEPAY can enable you to incorporate them into your own applications. Learn how to use APIs to make your own applications
#2 WHAT WE OFFER TEACHERS
Teaching Resources www.codecademy.com/schools/curriculum SIGN UP 1 2 3 Codecademy has developed resources to help teachers bring coding to the classroom What we have discussed up until now have been resources offered to anyone. With the recent changes to the curriculum in England Codecademy committed their efforts to help support teachers with the new computing curriculum. Our engaging courses teach students the fundamentals of programming and are mapped to the National Curriculum. Codecademy offers 3 things for teachers 1) Teacher training 2) Classroom resources and 3) a Pupil Tracker
Work through our courses TEACHER TRAINING 1 1 Online Offline Work through our courses at your own pace Keep an eye out for our training schedule Teacher training There are two main forms in which Codecademy provides teacher training. Online, you are able to use all the courses we outlined previously, including the language and web-developer courses. The great thing about these is it tracks your progress and you can come back to them whenever you want. They can fit in with your busy schedule. Offline, we provide free training courses to teachers. We recently ran a course in our London office and a new schedule will be announced soon. If you are interested in attending or hosting an in person training course please contact rachel.swidenbank@codecademy.com
CLASS RESOURCES Unit overview Roadmap 2 Class resources For each language unit we offer (HTML&CSS, JavaScript, jQuery, Python, Ruby, PHP - see the appendix for samples) we also have corresponding unit overviews. This breaks down all of our courses into bite size chunks that can be used in lessons. Each lesson has learning objectives, progression pathways, computational thinking concepts and plenary quizzes. We also offer a National Curriculum map to help understand which units can be used to cover the KS2, KS3 and KS4 parts of the curriculum A colourful roadmap poster is available for download which outlines computational thinking concepts and links languages to prospective jobs Roadmap
Track class progression through units PUPIL TRACKER 3 The pupil tracker: We have built a tool designed by teachers for teachers to track pupil progress in and out of the classroom. The pupil tracker allows you to create a class by simply entering your register of names. Codecademy then generates accounts for each student which are customisable. As the teacher, you can view all of your pupils details on the teacher dashboard. A class overview will allow you to view the individual performance of students within a class. You will be able to view the last time your student was online, their current unit, course and exercise and number of exercises completed and badges won. How to use the Pupil Tracker is outlined in our Pupil Tracker Guide For pupils under 13 we have disabled some features (such as uploading photo’s and accessing forums) to ensure compliance with EU and US regulations on children’s data Track class progression through units
View individual student’s last activity PUPIL TRACKER 3 The pupil tracker: We have built a tool designed by teachers for teachers to track pupil progress in and out of the classroom. The pupil tracker allows you to create a class by simply entering your register of names. Codecademy then generates accounts for each student which are customisable. As the teacher, you can view all of your pupils details on the teacher dashboard. A class overview will allow you to view the individual performance of students within a class. You will be able to view the last time your student was online, their current unit, course and exercise and number of exercises completed and badges won. How to use the Pupil Tracker is outlined in our Pupil Tracker Guide For pupils under 13 we have disabled some features (such as uploading photo’s and accessing forums) to ensure compliance with EU and US regulations on children’s data View individual student’s last activity
Motivate students with a leaderboard PUPIL TRACKER 3 The pupil tracker: We have built a tool designed by teachers for teachers to track pupil progress in and out of the classroom. The pupil tracker allows you to create a class by simply entering your register of names. Codecademy then generates accounts for each student which are customisable. As the teacher, you can view all of your pupils details on the teacher dashboard. A class overview will allow you to view the individual performance of students within a class. You will be able to view the last time your student was online, their current unit, course and exercise and number of exercises completed and badges won. How to use the Pupil Tracker is outlined in our Pupil Tracker Guide For pupils under 13 we have disabled some features (such as uploading photo’s and accessing forums) to ensure compliance with EU and US regulations on children’s data Motivate students with a leaderboard
Get stuck? Check out our pupil tracker 3 The pupil tracker: We have built a tool designed by teachers for teachers to track pupil progress in and out of the classroom. The pupil tracker allows you to create a class by simply entering your register of names. Codecademy then generates accounts for each student which are customisable. As the teacher, you can view all of your pupils details on the teacher dashboard. A class overview will allow you to view the individual performance of students within a class. You will be able to view the last time your student was online, their current unit, course and exercise and number of exercises completed and badges won. How to use the Pupil Tracker is outlined in our Pupil Tracker Guide For pupils under 13 we have disabled some features (such as uploading photo’s and accessing forums) to ensure compliance with EU and US regulations on children’s data Get stuck? Check out our pupil tracker
CODECADEMY IN THE CLASSROOM #3 CODECADEMY IN THE CLASSROOM
SIGN UP 1 Signing up To access our teaching resources all you need is create an account by signing up. All this requires is an email address and the name of your school/organisation.
LEARN 2 Learn Once signed up you can start working through the courses - all you need is the internet and a web browser. No need to download anything! This is the standard screen you will use when you are working through the activities. You can see instructions on the panel on the left hand side, you will “code” in the middle black screen and your output can be viewed in the top righthand corner.
TEACH Staff CPD Pre-learning/ flipped activities (year 5-9) 3 Staff CPD Pre-learning/ flipped activities (year 5-9) Teach After speaking to hundreds of teachers we have learnt there is no one way to use Codecademy. It is a tool that can be used with students and teachers both inside and outside the classroom. Here are some ideas that we have heard work really well: Staff CPD - helping train members of staff who may be new to programming Flipped learning - You can get your students to complete some exercises before coming to class to give them a taste of what coding is all about Individual extension and support - Because Codecademy can be completed an an individual pace in students own time (as well as during classroom activities), those students who excel could learn additional languages in their own time. One example was a strong pupil learning Python in class, but also learning Ruby in their own time. Similarly Codecademy provides great support on Syntax across all languages, so when pupils fall behind they can refresh on courses at home Coursework support - As year 10 develop the coursework projects, Codecademy offers great refreshers courses on syntax for popular GCSE languages (and similarly with A level) Homework - The pupil tracker allow you to track your pupils progress our of the classroom. So you can monitor homework from the teacher dashboard Individual extension & support (year 5-13) Coursework support (year 10-13) Homework (all ages)
TRACK 4 Track your students by logging onto your teacher dashboard and reviewing the % completion in selected tracks
APPENDIX National curriculum mapping NATIONAL CURRICULUM MAP: Key stage 2 NATIONAL CURRICULUM MAP: Key stage 3 NATIONAL CURRICULUM MAP: Key stage 4 Sample Units Unit Overview: HTML&CSS Part 1 Unit Overview: JavaScript Part 1 Unit Overview: Python Part 1 Sample Quizes
NATIONAL CURRICULUM MAP: Key Stage 2 HTML & CSS Python jQuery Java Script Ruby PHP design, write and debug programs that accomplish specific goals, including controlling or simulating physical systems; solve problems by decomposing them into smaller parts X use sequence, selection, and repetition in programs; work with variables and various forms of input and output use logical reasoning to explain how some simple algorithms work and to detect and correct errors in algorithms and programs understand computer networks including the internet; how they can provide multiple services, such as the world wide web; and the opportunities they offer for communication and collaboration use search technologies effectively, appreciate how results are selected and ranked, and be discerning in evaluating digital content select, use and combine a variety of software (including internet services) on a range of digital devices to design and create a range of programs, systems and content that accomplish given goals, including collecting, analysing, evaluating and presenting data and information use technology safely, respectfully and responsibly; recognise acceptable/unacceptable behaviour; identify a range of ways to report concerns about content and contact "Creating interactive content for the web will be very motivating for pupils in Key Stage 3. The HTML, CSS and JavaScript knowledge acquired through these Codecademy materials would be an excellent way to tackle the 'creative projects' and 'digital artefacts' requirements of the programme of study.” Miles Berry, Principal Lecturer in Education at University of Roehampton
NATIONAL CURRICULUM MAP: Key Stage 3 HTML & CSS Python jQuery Java Script Ruby PHP design, use and evaluate computational abstractions that model the state and behaviour of real-world problems and physical systems X understand several key algorithms that reflect computational thinking [for example, ones for sorting and searching] use logical reasoning to compare the utility of alternative algorithms for the same problem use two or more programming languages, at least one of which is textual, to solve a variety of computational problems make appropriate use of data structures [for example, lists, tables or arrays] design and develop modular programs that use procedures or functions understand simple Boolean logic [for example, AND, OR and NOT] and some of its uses in circuits and programming; understand how numbers can be represented in understand the hardware and software components that make up computer systems understand how hardware and software communicate with one another and with other systems understand how instructions are stored and executed within a computer system understand how data of various types (including text, sounds and pictures) can be represented and manipulated digitally, in the form of binary digits undertake creative projects that involve selecting, using, and combining multiple applications, preferably across a range of devices, to achieve challenging goals, including collecting and analysing data and meeting the needs of known users create, re-use, revise and re-purpose digital artefacts for a given audience, with attention to trustworthiness, design and usability understand a range of ways to use technology safely, respectfully, responsibly and securely, including protecting their online identity and privacy; recognise inappropriate content, contact and conduct and know how to report concerns.
NATIONAL CURRICULUM MAP: Key Stage 4 HTML & CSS Python jQuery Java Script Ruby PHP develop their capability, creativity and knowledge in computer science, digital media and information technology X develop and apply their analytic, problem-solving, design, and computational thinking skills understand how changes in technology affect safety, including new ways to protect their online privacy and identity, and how to identify and report a range of concerns.
4. Social Networking Profile UNIT OVERVIEW: HTML/CSS Part 1 Lesson Course Exercises Objectives Progression Pathways Time (min) 1 1. HTML Basics 1 - 8 Understand what HTML and CSS are used for Define some basic HTML terminology Explain and implement <head><title> <body> and <p> tags Create all types of headings <h1> to <h6> L1 algorithms AL L1 programming AL L1 hardware AL 20 2 9 - 14 Demonstrate knowledge of tags so far including <title>, <h3> and <p> Define hyperlinks, explain their use and create a link using <a> Understand and create an image tag <img> Construct a linked image L1/2 communication 3 2. Build Your Own Webpage 1 - 6 Summative assessment of learning from HTML lessons 1 & 2 Create a webpage with an HTML frame, including a header, paragraphs, images and links in either images or text L2 communication L2/3 information AB 4 3. HTML Basics II Recognise HTML can be used to create lists Recognise indentation and explain why it is used Describe and create ordered and unordered lists Demonstrate how to use nesting with lists 5 7 - 16 Describe what inline CSS is Use style attributes (including font-color, font-family, text-align) Demonstrate how to bold and italicise text 6 4. Social Networking Profile 1 - 7 Summative assessment of learning from HTML lessons 4 & 5 Create a ‘social networking profile’, including lists of their interests and styling" L5 algorithms AB AL 30 7 5. HTML Basics III 1 - 5 Recognise structural tags <table>, <div> and <span> Create a table with rows and columns and explain why we use them Construct a table with multiple rows and columns" L2 data AB DE 8 6 - 15 Design table formatting using style attributes Illustrate how to use a <div> tag and use it to create a link Construct a paragraph with selective styling using the <span> tag" 25 9 6. Clickable Photo Page Summative assessment of learning from HTML lessons 8 & 9 Create a ‘clickable photo page’: a table with multiple rows and columns containing images that link to external websites Computational thinking concepts: AB - Abstraction GL - Generalisation AL - Algorithms EV - Evaluation DE - Decomposition
UNIT OVERVIEW: JavaScript Part 1 Lesson Course Exercises Objectives Progression Pathways Time (min) 1 1. Getting Started with Programming 1 - 11 Understand what JavaScript is and what its used for Understand and create comments Demonstrate basic mathematical operations Understand data types in JavaScript: strings, numbers and Booleans L1 programming AL L1 algorithms AL L2 data AB GE 20 2 12 - 20 Demonstrate console.log and recognise comparison operators ( '<', '>', '==', '!==') Understand and construct if / else statements using comparison operators Understand and practice debugging Review data types, comparators, if / else statements and maths operations Understand and implement modulo (%) using an if / else statement L2/4 programming AL L3 algorithms AL 3 21 - 28 Understand and practice implementing the substring keyword Understand and practice using variables Review variables and manipulation of numbers & strings Practice using variables in if / else statements L3/5 programming 4 2.Choose Your Own Adventure 1 - 7 Plenary activity synthesising Module 1: Getting started with programming Assign prompt to a variable, construct if / else statements with comparison operators and use console.log L3 programming L4 algorithms 30 5 3. Introductions to Functions in JS 1 – 8 Understand what a function does and how it works Practice creating and debugging functions Recognise and implement the return keyword L2/6 programming L6 algorithms 6 9 – 13 Recognise and implement functions with more than one parameter Understand and Evaluate Global and local variables Practice functions with if / else statements L6/7 programming 15 7 4. Build "Rock, Paper, Scissors" 1 – 9 Plenary activity synthesising Module 3: Introductions to functions in JS Understand and implement Math.random() method and use else / if statement Create functions using multiple if / else statements Extension: Improve game with the skills previously acquired L5/6 programming 8 5. Introduction to 'For' Loops Understand 'for' loops, how they are helpful and the general syntax Understand how to initiate, control and end a for loop Practice a 'for' loop counting down Computational thinking concepts: AB - Abstraction GL - Generalisation AL - Algorithms EV - Evaluation DE - Decomposition
UNIT OVERVIEW: Python Part 1 Lesson Course Exercises Objectives Progression Pathways Time (min) 1 1. Python Syntax 1 - 9 Become familiar with Codecademy platform Understand why Python is used and recognise basic terminology including ‘variables’ and ‘Boolean’ Understand and create whitespace and multi-line comments L1/3 programming AL L2 data 20 2 10 - 13 Perform mathematical operations using python syntax Create numbers using ‘modulo’ Practice creating comments, variable and arithmetic operations L1/4 algorithms AL 3 2. Tip Calculator 1 - 5 Plenary activity synthesising lessons 1&2: Python syntax Create a ‘tip calculator’ using python syntax, variables and arithmetic operations L3 programming 4 3. Strings & Console Output Explain what a string is and how to create one Create variables using indexing Implement lower(), upper() and str() string methods Compare when dot notation should be used L2 algorithms AL L2/3 programming L4/5 algorithms 30 5 10 - 16 Demonstrate how to print strings and variables including how to concatenate Explain how to convert a non-string into a string and why you would need to Demonstrate how to use the % operator L4/5 algorithms AL GE 6 4. Date and time 1 - 6 Understand what the date time library is Explain how to print the current date, by day, month or year Demonstrate how to reorganise information using the % operator L4 programming 15 7 5. Conditionals & Control Flow 1 - 4 Understand what control flow is Recognise and practice using 6 comparators (==, !=, <=, >=, <, >) Explain what a comparator is L3/4 algorithms 8 5 - 10 Recognise 3 types of Boolean operations (AND, OR, NOT) Demonstrate how to use Boolean operations to return ‘True’ or ‘False’ values L4 data 25 9 11 -15 Recognise IF, ELSE and ELIF statements Create simple controlled flows using IF, ELIF and ELSE statements Practice creating control flow with conditionals and Boolean operations L4/5 programming AL Computational thinking concepts: AB - Abstraction GL - Generalisation AL - Algorithms EV - Evaluation DE - Decomposition
Sample Quiz
THANKS!