Miles Berry, Principal Lecturer in Education at University of

How to effectively use
Codecademy in the
Classroom
OBJECTIVES
1
Understand what Codecademy is and
what we offer on our platform
2
Understand what we
offer for teachers
3
Learn how to use Codecademy
effectively in the classroom
TESTIMONIALS
#1
WHAT WE OFFER
IN OUR PLATFORM
1
LANGUAGE SKILLS
Learn core programming concepts and
syntax for programming languages
2
WEB DEVELOPERS SKILLS
Complete projects where you learn
to build professional websites
3
SMALLER PROJECTS
Get engaged in programming with these
30-minute projects
4
APIs
Learn how to use APIs
to make your own applications
#2
WHAT WE OFFER
TEACHERS
Teaching Resources
www.codecademy.com/schools/curriculum
1
2
3
SIGN UP
1
TEACHER TRAINING
1
Online
Offline
Work through our courses
at your own pace
Keep an eye out for our
training schedule
2
CLASS RESOURCES
Unit overview
Roadmap
3
PUPIL TRACKER
Track class progression through units
3
PUPIL TRACKER
View individual student’s last activity
3
PUPIL TRACKER
Motivate students with a leaderboard
3
PUPIL TRACKER
Get stuck? Check out our pupil tracker
#3
CODECADEMY
IN THE CLASSROOM
1
SIGN UP
2
LEARN
3
TEACH
Staff CPD
Pre-learning/ flipped activities (year 5-9)
Individual extension & support (year 5-13)
Coursework support (year 10-13)
Homework (all ages)
4
TRACK
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
Python jQuery
& CSS
Java
Script
design, write and debug programs that accomplish specific goals, including
controlling or simulating physical systems; solve problems by decomposing them
into smaller parts
X
X
use sequence, selection, and repetition in programs; work with variables and
various forms of input and output
X
X
X
X
use logical reasoning to explain how some simple algorithms work and to detect
and correct errors in algorithms and programs
X
X
X
X
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
X
use search technologies effectively, appreciate how results are selected and
ranked, and be discerning in evaluating digital content
X
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
X
Ruby
PHP
X
X
"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
Python jQuery
& CSS
Java
Script
Ruby
PHP
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
design, use and evaluate computational abstractions that model the state and
behaviour of real-world problems and physical systems
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]
X
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
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
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
X
X
X
X
create, re-use, revise and re-purpose digital artefacts for a given audience, with
attention to trustworthiness, design and usability
X
X
X
X
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
Python jQuery
& CSS
Java
Script
Ruby
PHP
develop their capability, creativity and knowledge in computer science, digital
media and information technology
X
X
X
X
X
X
develop and apply their analytic, problem-solving, design, and computational
thinking skills
X
X
X
X
X
X
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.
UNIT OVERVIEW: HTML/CSS Part 1
Lesson
1
Course
Exercises
1. HTML
Basics
2
1. HTML
Basics
3
2. Build Your
Own Webpage
Objectives
Progression Pathways
Time
(min)
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
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
20
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
20
1-6
•
•
•
•
L1 algorithms AL
L1 programming AL
20
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
4
3. HTML
Basics II
5
3. HTML
Basics II
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
20
8
5. HTML
Basics III
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"
9
6. Clickable
Photo Page
1-7
• 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
20
25
L2 communication
Computational thinking concepts: AB - Abstraction GL - Generalisation AL - Algorithms EV - Evaluation DE - Decomposition
30
UNIT OVERVIEW: JavaScript Part 1
Lesson
1
2
Course
1. Getting Started
with Programming
1. Getting Started
with Programming
Exercises
Objectives
Progression Pathways
Time
(min)
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
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
20
•
•
•
•
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
20
3
1. Getting Started
with Programming
21 - 28
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
20
6
3. Introductions to
Functions in JS
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
1–9
•
•
•
•
L4 algorithms
L5/6 programming
20
1–8
• 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
L4 algorithms
20
7
4. Build "Rock,
Paper, Scissors"
8
5. Introduction to
'For' Loops
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
Computational thinking concepts: AB - Abstraction GL - Generalisation AL - Algorithms EV - Evaluation DE - Decomposition
UNIT OVERVIEW: Python Part 1
Lesson
1
Course
Exercises
1. Python Syntax
1-9
Objectives
Progression Pathways
Time
(min)
• 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
• Perform mathematical operations using python syntax
• Create numbers using ‘modulo’
• Practice creating comments, variable and arithmetic operations
L1/4 algorithms AL
L2 data
20
2
1. Python Syntax
10 - 13
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
20
1-9
•
•
•
•
L2 algorithms AL
L2/3 programming
L4/5 algorithms
30
• 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
20
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
L3/4 algorithms
15
4
3. Strings &
Console Output
5
3. Strings &
Console Output
10 - 16
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
6
4. Date and time
7
5. Conditionals &
Control Flow
1-4
• Understand what control flow is
• Recognise and practice using 6 comparators (==, !=, <=, >=, <, >)
• Explain what a comparator is
8
5. Conditionals &
Control Flow
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
5. Conditionals &
Control Flow
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
25
Computational thinking concepts: AB - Abstraction GL - Generalisation AL - Algorithms EV - Evaluation DE - Decomposition
Sample Quiz
THANKS!