My approach to teaching computer programming was always a bit unique. In my view, it is not something you memorize, like historical facts. It is not something that requires repetitions, like multiplication. I think it is more like art. It is a creative process. It is building and shaping the medium (a programming language) into something meaningful, new, and unique.
My favorite part of teaching computer programming has always been the amazement students have when they see their first projects run. Just that first glimpse they see behind the curtain of technology sparks curiosity. They start to make the connection between a programming language and the software they use every day. This is why I was excited to be part of the creation of an eLearning Coding Course developed by ryco.io.
Figure 1: Screenshot from the eLearning Coding Course course created by ryco.io
The five modules of the course begin with an introduction to the world of Computer Science. Interactive questions and activities keep the student engaged as they learn the basic theory behind both hardware and software. Students are able to walk through the history of technology, the life cycle of a computer program, how databases are built, and how all these pieces come together to build networks. Each section of every module includes concept reinforcement questions that cover the main ideas. The modules also include videos and graphics to reinforce the text and help solidify the concepts for the student.
Building on that foundation, the second module is a hands-on learning experience for HTML and CSS. Starting out with basics that the student is already familiar with seeing online, the course walks students through building a page using HTML while adding functionality and structure. Once students have a feel for HTML coding, they are introduced to using CSS. This will take their code to the next level. Here they can begin to see how the code applies to real websites that they visit each day.
The JavaScript module is a great introduction to the core components of a programming language. The semantics (the structure and syntax) of the language are the first hurdle. Practical hands-on examples give students a solid grasp of what is required to get started. Then new concepts are added to increase the complexity of the projects. These concepts, such as how to use variables and functions, and how to write valid mathematical statements, are core concepts that apply to all computer languages.
The Python module gives students a new perspective on many of the same concepts and structures they learned in JavaScript. However, they are learning it with the new semantics and structure of the Python language, which has more rules and requirements than JavaScript. Those basic core concepts are reinforced through additional hands-on programming practice and culminates with a walk-through of a full, working program that does multiple processes.
The final module is where students get a chance to really show their artistry. The module is a showcase of examples and ideas to fire up a student’s creativity. Covering a wide range of topics from art to sports, students get to see just how programming impacts every area of our daily lives. Students are then able to choose a project that appeals to their own creative strengths. Then, using the languages and concepts from the course, they can apply what they have learned to create something unique.
Want help building a coding course for your school?
Reach out in the comments below and say hi -- we're happy to help! 🤓
댓글