In practice lessons, students get the chance to work on programming challenges either by themselves or with a partner. These lessons are designed to help students learn new programming concepts and improve their debugging skills.
Hello, everyone! Today, we’re going to focus on practicing what we’ve already learned. We’ll begin with a warm-up session for the whole class to review or introduce debugging skills. I’ll show you three examples on the board to get us started. After that, you’ll work on programming challenges, either alone or with a partner. During this time, I’ll be moving around the room to help you individually or in small groups.
One important thing to remember is that I won’t be fixing your code for you. Instead, I’ll ask questions to guide you in finding and solving your own problems. The main goal of these practice lessons is to help you develop debugging skills so you can solve problems on your own in the future. There are many resources available to help you, such as the help and tips tab, code documentation, or even code from previous lessons.
If I notice that many of you are having trouble with the same task, we might pause for a group discussion. For example, if several of you are stuck at the same point, we can come together to talk about the challenges you’re facing and find solutions together.
Before the lesson, it’s important to understand the programming challenges you’ll be working on and the debugging skills you’ll need to use. Try out the challenges yourself and review the debugging techniques. Think about where you might have misunderstandings and use shared vocabulary and examples to help clear up any confusion.
When planning your work, decide if you want to try pair programming. You can work with a partner for some parts of the lesson and independently for others. Pair programming can be a great way to learn from each other and solve problems together.
During practice lessons, you’ll be programming without the teacher leading the way, but this doesn’t mean you’re creating everything on your own just yet. These lessons are designed to guide you toward independent creation by providing structured challenges. You’ll have more opportunities for independent creation in future lessons.
Work with your classmates in teams to solve a series of debugging challenges. Each team member will take turns fixing a bug in a piece of code before passing it on to the next person. The first team to successfully debug all the code wins! This will help you practice identifying and solving errors quickly.
Partner up with a classmate and tackle a programming challenge together. Take turns being the “driver” who writes the code and the “navigator” who reviews each line and suggests improvements. This will help you learn from each other and improve your collaborative problem-solving skills.
Bring a piece of code you’ve been working on and participate in a code review session. Share your code with a small group and discuss the challenges you faced. Your peers will provide feedback and suggestions for improvement. This activity will enhance your ability to give and receive constructive feedback.
Search for and fix hidden bugs in a set of pre-written programs. Each bug you find and fix will earn you points. The student with the most points at the end of the session wins a prize. This activity will sharpen your attention to detail and debugging skills.
Choose a programming challenge that interests you and work on it independently. Use the resources available, such as documentation and previous lessons, to guide you. At the end of the session, present your project to the class and explain the debugging techniques you used. This will help you build confidence in your independent programming abilities.
Here’s a sanitized version of the provided YouTube transcript:
—
In practice lessons, students work independently or in pairs to complete a series of programming challenges. This lesson builds students’ ability to program with new concepts and reinforces debugging skills.
Hello, class! Today, you will primarily practice what we’ve already learned. To start, we will have a whole group warm-up that reinforces or introduces debugging skills. I have three examples on the board. After that, students will begin working on programming challenges either on their own or in pairs. Most of your time will be spent circulating the room and supporting students one-on-one or in small groups.
It’s important to resist debugging code for students. Instead, ask leading questions to help them identify and solve their own issues. A key goal of practice lessons is to help students develop debugging practices that will enable them to solve problems independently in the future. There are many resources available, such as the help and tips tab, code documentation, or even code from the investigative lesson that you can direct students to.
If you notice that many students are struggling with the same task, consider bringing the whole group together for a discussion. For example, if you see a lot of people getting stuck in the same spot, invite them to share their challenges.
As you prepare for the lesson, make sure you understand both the programming challenges students will be completing and the debugging skills you will be encouraging. Try out the programming challenges yourself and review the debugging skills. Anticipate areas where students may have misconceptions about the content and tasks, and consider using shared vocabulary and modeling to help correct those misconceptions.
When planning, decide if you want to incorporate pair programming for this lesson. You can always have students pair program for some parts and encourage them to work independently for others.
During practice lessons, students are programming without the teacher at the center of the room, but this should not be confused with pure independent creation. The practice lesson format guides students toward independent creation by providing scaffolded challenges. More independent creation will be seen in the upcoming make lesson.
—
This version removes informal language and clarifies the content while maintaining the original message.
Programming – The process of creating instructions for computers to follow using a programming language. – Example sentence: In our computer class, we learned programming by writing simple games using Python.
Debugging – The process of finding and fixing errors or bugs in a computer program. – Example sentence: Debugging can be frustrating, but it’s satisfying to see the program work correctly after fixing the errors.
Skills – The abilities or expertise needed to perform tasks, especially those related to coding and computers. – Example sentence: Developing coding skills can help you create your own websites and apps.
Challenges – Difficult tasks or problems that require effort and skill to solve, often used to improve coding abilities. – Example sentence: The teacher gave us coding challenges to help us practice our problem-solving skills.
Lessons – Units of instruction or learning experiences, often focused on specific topics in coding or computer science. – Example sentence: Today’s lessons in computer class covered how to use loops in our programs.
Code – A set of instructions written in a programming language that a computer can execute. – Example sentence: We wrote code to make the robot move forward and turn left.
Group – A collection of individuals working together, often to complete a coding project or solve a problem. – Example sentence: Our group collaborated to design a new app for the school competition.
Discussions – Conversations or exchanges of ideas, often used to share knowledge and solve problems in coding. – Example sentence: We had discussions about the best way to organize our code for the project.
Independent – Working alone without assistance, often to complete coding tasks or projects. – Example sentence: After learning the basics, we were given independent projects to test our coding skills.
Pair – Two people working together, often to write or review code, known as pair programming. – Example sentence: In pair programming, one person writes the code while the other reviews it for mistakes.