A conversation with our students about their creations and process.
One of the most common questions we get asked is “what will my student make?” Though we love answering parent questions, this one gets tricky. Not because their students won’t make anything but simply because there is an endless supply of creative and interesting projects within (and outside of) our curriculum. It is also made more complicated by the fact that all of our students start at different ages and skill levels. While some have a knack for typing, others take a while to become comfortable using a computer in the first place. When students get past the early learning hurdles and become confident in their ability to code, there is no limit to what they can create!
The first major challenge for most students is using the coordinate grid. We like to tackle this problem by having students play battleship! Think about it; navigating a battleship grid is a similar challenge to finding a point on your typical Cartesian coordinate grid. We find that students have an easier time accepting this challenge first because for many battleship is a fun and familiar game (learn more about how we design these experiences to optimize student learning). Once students have conquered the coordinate grid, they learn how to make circles, squares, triangles, and finally, quadrilaterals. These shapes are all made slightly differently and can be tricky to get the hang of. For example, when students code a quadrilateral, they have to tell the computer where they want all four points to go by just looking at an empty grid. This challenges our students to visualize what they want to appear, a practice that they will use again and again while coding and beyond.
The next step in our curriculum presents a new set of challenges for students as they work on learning loops and conditional statements that will help them make their animation and game ideas successful. Once students get started animating, they won’t want to slow down! We start with something simple, getting a ball to bounce around the screen or a car to move back and forth. It’s amazing to see the smile on their face once they finally get something to move around. Once they do it with an instructors help, they are able to take what they know and apply it to any project they choose! Their creativity starts to soar as they notice that there are fewer obstacles in their way. All the while, they’re getting their first taste of math concepts from Geometry and Algebra.
One of our Middle School students, Emily remembers making her first animated project. She made a donut that rolled away from it’s sprinkles! After learning how to make a bouncing ball, another Middle School student, Ian, was inspired to make his first game! Ian is now one of our more advanced students after working with us for the past two and a half years. He is most proud of a game called “potato clicker” that he made all by himself. The game itself has a built in mini game and a store where you can customize your potato to change it’s mood or put a hat on it! Ian said he has been working on the game for over a year, and it is 1,487 lines of code long! He’s been spending a lot of time on it to “refine it” and add in new features to make it more fun.
Even though he’s been coding with us for so long, Ian still admits that it can be difficult to make buttons for his games. Recognizing and admitting that he still has room to grow shows us the patience and empathy that he has gained while coding with us. These life skills come with time, and this is one of the main reasons that we love pairing our more experienced students with students who are new to coding. At Code Naturally Academy, we encourage our students to tackle tough problems. This means that they will get stuck along the way. That’s where our awesome staff of educators come into play! We make an effort to ensure that our educators are not only skilled programmers, but also patient and empathetic humans. Our curriculum is designed to encourage and inspire students to make new and challenging projects every day. Many times, thinking creatively and designing a project is not the tough part for our students. Rather, it’s taking the first few steps to bring their amazing ideas to life! We encourage our educators to get to know the students they’re working with, asking them about their days, talking to them about school or sports. This rapport built up between student and educator helps our students feel more comfortable asking for help when they need it, whether it’s fixing a bug in their code or taking the first steps to make their idea a reality.
A normal day in a Code Naturally Academy after school program starts off with a snack and a short break, then we’re off to coding! Students are presented with a daily challenge, with a beginner and an advanced option. Though this is optional, many students choose to complete it to get entered in to our raffle to win fun prizes and Code Naturally swag! Once they finish the challenge, students can either continue to work on something, come up with a new idea, or use our curriculum binders to find their next challenge. Our curriculum binders are extremely useful for newer students or those who are not as creatively inclined. Inside of these binders are many outlined projects and lesson sheets to help students progress. They are outlined step by step, without actually giving away the lines of code! These challenges start off with sketches and basic animation, and slowly work up to games and generative art projects.
We interviewed a few of our students that are enrolled in our after school programs at Brook Knoll Elementary and Scotts Valley Middle School to get a better idea of how long it takes for them to progress through our curriculum and see what they have been working on along the way!
We started off our interviews talking to a 4th grade student named Harley, who has been coding with us on and off for 2 years. Harley is always a happy and excited student, and we love the energy he contributes to our classroom! Harley said his favorite project was made by taking on the challenge of learning how to code an interactive project that uses arrow keys to move. The end result was an awesome etch a sketch! He said the toughest thing he’s learned is how to create 3D shapes, yet he says he wants to tackle that challenge and for his next project, make a spinning 3D shape! When I asked what his first step to starting this project would be, he said he would ask for help. I loved hearing this response! I’m glad that after 2 years with us, Harley still knows his limitations but is confident in the fact that he can always reach out for help if he needs it!
One of our new students, Adam, has been such a fun student to work with! He always tries to make projects work on his own before asking for help, and it’s always encouraging for us to see how close he gets on his own. Adam is in 2nd grade and has been coding with us since January. His favorite project was his first unique game, called Taco Run! Personally, my favorite project that he made was a sweet animated card for his friend Lucas to open when he got back from Europe.
Another student of ours, Caleb, had been working on his own project but then decided he wanted to work on something else for awhile. After sorting through our binder, he found a generative art project that makes a rainbow spiral using sliders, a new concept for him. After working his way through the project, Caleb had something awesome to show for all his hard work! He said this project has become his new favorite. This is a great example of a student working through our curriculum independently and at their own pace. While he needed some extra explanation and help fixing errors – it’s exciting to see a 3rd grader reading and applying instructions for a project that would challenge most any college student.
As students work through our leveled progressions, they will not only be working on new projects, but also improving earlier projects that they have done. Some students will choose to make multiple versions of the same project for fun! Though he’s only in 2nd grade, Zaakir has been coding with us for a year and a half! He has been working on a few different versions of a game called Survival which is one of the projects we outline in our curriculum binder. He is adding a store where you can change the color of your ball! Zaakir is full of creative ideas and he gets a lot of help from his older brother Musa who has been serving as an excellent mentor for him. Musa is always patient when Zaakir asks for help, and if he feels like he can’t answer the question he tells Zaakir to ask an educator for help. We love having our older students mentor and advocate for their younger classmates, to inspire them, encourage them, and assist them along the way.
When students are learning computer science, they’re also learning other subjects and skills. Math skills like the order of operations, geometric shapes, and measuring degrees are just a few of those learned while coding with Code Naturally Academy. Just as importantly, students are learning new life skills that will benefit them inside and outside of the classroom. Patience with the problem-solving process encourages students to react calmly when they are faced with a bug in their code. What could potentially be a frustrating thing for them becomes something that they can calmly try to solve independently, or ask for help with! Empathy, growth, and creativity are exercised every step of the way.
Can Elementary School Students Learn College Level Computer Science?
The short answer – yes! Our curriculum and approach break down difficult concepts into bite size chunks that our students can easily process and apply to their projects. While our curriculum compares to many college level courses, here’s a breakdown of how we compare to CMPS 5J, the Introduction to Programming course taught at UC Santa Cruz.