- Programming content overview
- Tracking progress of programming students
- Classroom debugging guide
- Pair programming in the classroom
- Teaching guide: Intro to JS - Drawing Basics
- Teaching guide: Intro to JS - Coloring
- Teaching guide: Intro to JS - Variables
- Teaching guide: Intro to JS - Animation basics
- Teaching guide: Intro to JS - Interactive Programs
- Teaching guide: Intro to JS - Resizing with variable expressions
- Teaching guide: Intro to JS - Text and strings
- Teaching guide: Intro to JS - Functions
- Teaching guide: Intro to JS - Logic and if statements
- Teaching guide: Intro to JS - Looping
- Teaching guide: Intro to JS - Arrays
- Teaching guide: Intro to JS - Objects
- Teaching guide: Intro to JS - Object-oriented design
- Programming classroom handouts
- Additional programming projects
- Lesson plans: teaching programming in the classroom
- Programming case study: Encouraging cross-disciplinary projects
- Programming case study: Going beyond the KA curriculum
- Programming case study: Teaching an elementary school class
To give fellow teachers an idea for how they can teach our curriculum in a classroom setting, we are creating case studies. Here's one case study of how Feltwell Elementary School in the United Kingdom is using our curriculum in their classroom.
About our class
Our class was a combination of 20 students across 4th and 5th grades. Our school’s S.T.E.M. program decided to teach computer programming with the help of a volunteer web developer. We met twice per week for 45 minutes each for three months.
Why Khan Academy?
We knew we wanted to teach computer programming, but also knew that we'd be teaching it to a younger audience than most schools. We had to pay extra attention to how our students were responding to the content. We needed to be prepared to change, adapt and scrap strategies altogether.
We decided to experiment with the most challenging approach first - teaching programming with an actual, syntax-based programming language. We knew we could always switch to a more visual, drag-and-drop approach later.
Our daily schedule
We felt that a frequent and long lecture approach was not going to be effective for elementary level students. Our daily class schedule looked like this:
- Optional lecture (5min)
- KA lessons or project work (30 min)
- Student technical presentation (5min)
A lecture would be focused on one specific topic, for example ‘What is a variable?’ A small portion of it would be discussed by the instructor, then the question/topic would be discussed by individuals from the class and explained to their peers.
After lecture, we would begin our actual coding work. For the first half of the quarter, students worked on the lessons at their own pace in class. Many of them also worked on them at home. For the second half of the quarter, students spent that time doing projects together.
For the projects, students worked in pairs or groups of 3-4, and switched the controls of the keyboard halfway through our time block. The project teams always worked off of the student account with fewer points. This was a good way of catching up students who were not progressing as fast as others. It also allowed the students with more points the opportunity to reinforce their learning by teaching their partners.
Finally, towards the last 5 minutes of class, one student would give a technical presentation to the class and explain either a project they had been working on, or a lesson they found interesting. We had many students begging to speak each day, so there was no shortage of presentations! The presenter held a Q&A session afterward for other students and educators to ask them for more information.
For our guest speakers, we really wanted to showcase how diverse and dynamic the entire technology industry is by inviting people from different countries, cultures, ethnicities and gender.
Showcasing student work
For the last 4 weeks of our pilot class, we created groups of 3 to 4 students to work on final projects. These projects had to be completely original and worked on by all members of the team. In the end, they presented their projects as a team to their parents and the school administration as part of our “Parent Day.”
We are very proud of all the hard work the students have put into the class and their projects. Here's a sampling of their creative work: