LEARNING OBJECTIVES

What students will learn

You will find below summary of what students will learn in coding curriculum and in each class. We also offer customized one-on-one learning should your children wish to explore other subjects such as Java, Unity Game Engine, app development, etc.

Regardless of the class chosen, students will develop critical thinking and problem solving skills, as well as creativity, communication, and collaboration skills.

At Alpha Coding we provide students choices of coding classes to choose from. Our instructors are carefully vetted based on their technical experience and their ability to engage young students. Below are some brief synopses of the courses we offer.

Our coding lessons are aligned with Ontario’s coding curriculum. The topics we cover include:

  • Text-based coding, e.g. Python, which is more appropriate for older students (may start as early as grade 3+ from introduction level):
    • features and capabilities of a programming language, i.e. variables, input, conditions, repeating code, functions
    • basic data structures, e.g. arrays, lists
    • intermediate/more advanced data structures, e.g. stack, linked-list, hash table, dictionary, tree
    • algorithms, e.g. sorting algorithm, search algorithm using tree structure
    • control structures, repeating code (loops), user-defined functions, nested conditional statements/sub-program, recursion
    • Object Oriented Programming (OOP), re-using code and sub-components; sequential and concurrent programming
    • debugging code and designing software
    • using industry-standard Integrated Development Environment (IDE), e.g. IDLE, PyCharm, Microsoft Visual Studio Code
    • advanced concepts and technologies: software engineering, improve efficiency, introduction to Artificial Intelligence, web technologies, data mining, relational database
  • Visual block-based coding, e.g. Scratch, appropriate for younger students (SK-Gr2) but Scratch coding can be used for older students to create complex applications:
    • events, control, operators, motion, looks, sound, sensing, variables
    • writing and executing code; sequential and concurrent programming
    • design thinking, debugging, re-using components
    • conditions and control structures; math and logics

 


Learn-JavaScriptJavaScript

JavaScript is one of the world’s most popular programming languages – it’s initially developed to make web pages feel alive, rather than static. Over the years, JavaScript has evolved to being used in many other platforms outside of the browser as seen with the Node.js (runtime environment that executes JavaScript code outside of the web browser) and Electron platforms (for creating desktop applications). Now users are able to apply their JavaScript knowledge to tackle many different real-world challenges.

In our class, we focus on the HTML5 Canvas and use JavaScript to manipulate and create some awesome animations, games and pages. This allows visual learners to excel in understanding the core concepts behind the language as well as learn how to program. Although we focus on the creation of engaging projects, all of the skills learnt in the process are immediately transferable to real life applications. We teach computer science concepts such as:

  • Conditional statements
  • Loops
  • Functions
  • Arrays
  • Data structures
  • Object Oriented Programming (OOP)
  • A.I. development
  • Physics
  • Coding best practices

Our JavaScript course allows us to explore students’ interests by teaching them how to create games and animations, while simultaneously having them experience one of the world’s most popular programming languages. The language is always changing and new features are being added every day. The content is split based on the students’ level, and each level builds up to the next so it’s very friendly for all levels of programmers.


Learning-PythonPython

Python is also one of the most popular programming languages in the software industry. It’s a general purpose and robust programming language used in developing Windows applications, web applications, robotics, Data Science, Big Data, Artificial Intelligence, machine learning, and many more. The Python course at Alpha Coding is more grounded in academic application and real world. Python is a high-level programming language, which means that it abstracts the low-level concepts such as data typing. This allows the language to be easily introduced to students who haven’t encountered programming before. We try to keep the classes at a professional level, while having some fun with projects. Students who love solving problems, and seeing their code come to life will love Python.

The courses are split into sections based on difficulty. The entry level students will learn about programming concepts in general such as loops, lists, classes, functions, recursion, etc. The intermediate level attempts to cover algorithms and data structures such as hash tables. We attempt to give students a chance to build harder and multi-day projects to get them thinking, formulating plans and to learn the best practices in this section. Finally, once a student is comfortable solving intermediate problems, they’re moved to the advanced class where we use and build industry standard applications in A.I. and Neural Networks. We also take a look at common problems such as web scraping and APIs throughout the journey.

It’s great fun and we see some practical use for students less interested in animations and games.


App-InventorApp Inventor

MIT App Inventor is an intuitive, visual programming environment that allows everyone – even children – to build fully functional Android apps for smartphones and tablets. Those new to MIT App Inventor can have a simple first app up and running in less than 30 minutes. The blocks-based tool facilitates the creation of complex, high-impact apps in significantly less time than traditional programming environments.

MIT App Inventor 2 is an innovative web application that allows students to develop fully functional Android applications and test them out in real-time. Prior experience in programming is not necessary. App Inventor is a great way to learn how to code through a visual block-based programming tool and is suitable for anyone with any level of coding experience. At Alpha Coding, students will learn how to build a range of different applications, from something as simple as a calculator or Paint, to fairly complex games or tools!


Minecraft-coding-gamesMinecraft

Minecraft is not “just another video game” (see our previous post here) – it’s so much more than that.  Minecraft can be educational – players may learn about mechanics, engineering, problem solving, building structures, among others. Minecraft is a popular online multi-player video game allowing players to create their own virtual world and join other players’ world.

At Alpha Coding our Minecraft course is split into three sections.

The first section of this course starts as an introduction for children that have never played Minecraft prior to the program. The purpose of this course is to have them situated with a basic understanding of how the game works and what they can expect to find when playing the game. To progress to the more advanced course, students need an understanding of how controls work.

The second section is for students that are familiar with the controls of Minecraft. We will build on engineering knowledge using Redstone – an in-game material that acts as electrical circuits – and its components to build mechanisms and structures with real world application. We also leverage education materials in Minecraft education community where students would solve challenges in various Minecraft world such as building systems (understanding how system works, e.g. water cycle, electrical circuits, circulatory system, etc.), creating a map of specific regions (i.e. maps of city or state), farming (optimizing food production, efficiency of growing and harvesting crops through automation), creating scientific models (creating models of atoms, proteins, cells, etc.), designing a new module for the International Space Station, exploring the balance of bio-diversity and ecosystems, among other.

The third section of this course teaches basic concept of programming and programming language. We dive deep into complex ideas and experiment to find limits to these ideas.


Learn-SCRATCHScratch

Using design-based learning approach, Alpha Coding students in Scratch will learn an introduction to creative computing.

Creative computing is about creating various dynamic and interactive computational media that students can enjoy in their daily lives!

Each week, students will create and explore computational thinking:

  • Concepts: parallelism, events, sequence, loops, conditionals, operators and data
  • Practices: testing and debugging, reusing and remixing, as well as abstracting and modularizing
  • Perspectives: expressing their unique ideas, connecting with peers, and questioning to foster deeper learning.

Independent Project: The final outcome of Scratch will be to create, and present their final project using tools around Alpha Coding, whether it’d be 3-D Printing, robotics to making an app!


Mechatronics

In Mechatronics, students will be introduced to the main components used within all Arduino UNO R3 projects, including all the hardware and software necessary to carry out projects at any level! We offer lessons from beginner to more advanced levels, allowing anyone to join in and get to building and coding!

Students will learn how the various components – such as control board, transistors, voltage regulator, and more – within their projects function through hands-on experience, and will be taught how they can be applied within real-world applications. As they work their way up from more simple projects, they will have the opportunity to work on more complex designs, including remote controlled cars, alarm systems, as well as projects that can incorporate other programs and applications taught at Alpha Coding (such as JavaScript and App Inventor).


TINKER-CADTinkerCAD

3D printing is a method used to create and manufacture objects efficiently and precisely, only limited to the imagination of the user. It has quickly become a popular choice for many top organizations willing to adapt the new technology.

TinkerCAD specifically is a complete, 3D modelling computer-aided design (CAD) software that allows students to bring their imagination to life, without requiring any previous design experience. Directly interacting with Alpha Coding’s 3D printer, MakerBot; students are able to plan, design and create any object they choose. Specifically, students will learn how to operate the various aspects of TinkerCAD through multiple “mini lessons” within the software. The main educational benefits apart from design skills students will encounter include:

  • Collaboration with other students towards a common goal
  • Trial and error, the idea that not everything is easy and mistakes must be made in order to learn
  • Real life applications, many lessons will pertain to creating a solution for a real-life issue


Unsure which course to choose from? Alpha Coding offers a FREE trial class to help your children choose the coding course that best suits their interests. Get your free trial via alphacoding.com/free-trial or contact our Customer Care team at customercare@alphacoding.com or 416-445-7337 for more information.

wp_alpha_codingLearning Objectives