CODING (GRADES 2-10)
CODING PROGRAM FOR CHILDREN
In our increasingly digital world, parents want their kids to become computer-literate from the early elementary school age. Learning to code doesn’t just prepare students for career opportunities later in life; it also provides a host of soft skills and other benefits.
In our Coding program, we teach children how to solve problems and engineer solutions through coding. As children develop their coding skills, we present them with the problems and challenges of increasing levels of difficulty and motivate them to experiment with code to come up with the right solution, rather than just copy the code from the instructor’s screen. Thus, children start honing their problem-solving skills as soon as they take on their first coding challenge.
Why children should learn how to code:
Coding Boosts Problem-Solving Skills
Coding Develops Logic Skills
Coding Improves Computational Thinking
Coding Encourages Persistence
Coding Teaches Creativity
Coding Helps Teach Digital Literacy
Coding is a Career-Building Skill
SCRATCH CLASSES (GR. 2-6)
Beginner Intermediate Expert (Machine Learning)
These classes are built around Scratch, a project of the MIT Media Lab, which is a simple yet powerful programming language developed at MIT that uses color-coded blocks that appeal to young students. Scratch is the most popular language for young programmers, with about seven million users around the world.
SCRATCH BEGINNERS In this course, students ease into object-oriented programming concepts with Scratch , creating stories and interactive adventures with stackable code blocks! Students master the intuitive user interface of Scratch and learn the functions of the most important blocks, which beneath their friendly appearance represent important computer programming functions.
Kids are encouraged to think creatively and learn how to program their own stories, games, and animations, as well as how to share their creations on the web. This course relies on a series of fun-filled projects. For example, your student may use Scratch to animate a character, tell a story, write a song, or even design a simple video game. There’s equal emphasis on the mastery of tools and the expression of imagination. Each student’s instruction is differentiated according to his or her interests, learning style, and pace.
SCRATCH INTERMEDIATE After an introductory course in Scratch, students should feel comfortable with the basic blocks and the ability to visualize their game progress from the initial concept to its final product. This course is designed to introduce more advanced Scratch coding concepts and custom blocks to the students, as they start designing and implementing more complex games and projects. Many of the projects for this level focus on more real-world topics and functions and tend to involve more math and logic. Some of the projects will require students to work with less direct instruction which encourages more problem solving and critical thinking. We are beginning to dive into the world of programming with real-world applications with an allowance for artistic freedom in their game design.
SCRATCH ADVANCED This course is recommended to students who have completed our Scratch Intermediate course but need more practice with mastering Scratch coding prior to moving up to the Expert (Machine Learning)course or our other programming courses. This course is designed around the following fundamental computer science concepts: Variables, Logic, Loops and Conditional Statements. The lessons focus on introducing the concepts and then mastering them through coding exercises and project step. Students work at their own pace and supported by an instructor. Each lesson is available as a professionally produced video for review by students outside of class. The final part of the course is devoted to a Capstone project where students demonstrate their mastery by building their own unique game.
SCRATCH EXPERT (MACHINE LEARNING) In this advanced level class, students will be learning how to apply their Scratch coding skills that they learned in previous courses to create more advanced coding projects.
Students will learn how object-oriented programming truly works by identifying an object's behavior and attributes and figuring out how to represent that in Scratch. Throughout the course each time they learn how to create a new object, students are challenged to create a project (game or animation) that showcases that object. Objects/techniques include Dice Generator, High Score Techniques, User Input, Card Generator, Animated Start screens, Scrolling, Quiz Game, Mastermind Game (figuring out the right sequence).
This course will also introduce machine learning to students. Through a series of projects that students will create, they will learn how to train machine learning models to recognize text, numbers, images, or sounds by using Scratch! Our Machine Learning with Scratch curriculum will provide hands on exposure and will allow students to experience how ML systems are trained, how they are used, and some of the real-world implications of AI applications.
Semester 1 - Animation
Semester 2 - Game Design
In the second half of the year, students will use their skillset from animations to learn to build games. Game skills include physics, collision detection, and game design techniques. New coding concepts include functions, state variables, and building your own complex programs. Projects during the semester will be to make a side scroller, flyer game, platformer game, and students creating their own final game.
In the age of the internet, skills in web design are in high demand. This course will focus on learning HTML 5 and CSS 3 coding concepts in order to build web pages and web sites. Students will learn tips and tricks on designing with professional-level color schemes, layout structures, and navigation bars. Each session students will complete small design challenges that work up to being able to create a simple one-page portfolio or website with multiple pages.
Understand the structure of the website and web pages, and how to construct them
Use the color scheme, animations and visual effects through CSS
Learn how to code variables, loops and lists
Become familiar with DOM (Document Object Model) which allows manipulation of the HTML elements through Java Script
Students will design, develop, test and publish their projects on the web. The culmination of the year long course is a multipage dynamic website designed by each student on the topic of their choice.
PYTHON CLASSES (GR. 6-10)
PYTHON BEGINNERS Python is a powerful, expressive programming language that’s easy to learn and fun to use! Our Python for Beginners course brings Python to life and brings our students into the world of programming. In our Python for Beginners course instructors will guide students through the basics of coding with Python, as they learn how to design and program their own games. Throughout the school year long course, we guide students through a transition from block based (instructional) coding to text based (real world) coding.
In this course students will learn to:
Create simple variables
Use fundamental data structures like lists, tuples, and maps
Organize and reuse your code with functions and modules
Use control structures like loops and conditional statements
Draw shapes and patterns with Python’s turtle module
Create games, animations, and other graphical wonders with tkinter
Our Python for Beginners course teaches students the fundamentals of the object oriented programming and prepares students for the more advanced coding that is part of the Python Intermediate course.
PYTHON INTERMEDIATE Python II will continue a student's journey into text based object-oriented programming. By adding graphics to the mix, students will code more advanced, visual based projects using a module called processing. Students will learn how to code objects and see a graphical representation of that code. Starting with animations to creating games, students will learn how to make functions and create classes. Students will also learn how to construct code on their own by learning how to create pseudo code.
In this course, students will learn how to:
Create advanced variables that store objects
Use classes to create game objects or sprites
Learn how to code interactivity (mouse clicks, keyboard clicks)
How automation works
Implement more advanced coding logic
The culmination of the school year long course is a final project of student's choosing, designed, developed, tested and shared for their peers to review and play!
CODING with MICRO:BIT(GR. 4-6) - not currently offered
The micro:bit is a pocket-sized computer that makes learning coding easy and fun. Start by programming on a computer or on a mobile device then download the program to the micro:bit. Beginners can scroll their name on the LEDs, design an emoji and create a game of rock-paper-scissors. More advanced programmers learn to use additional sensors and wireless capabilities. The micro:bit is a great coding tool for all skill levels to express their imagination and inspire digital creativity.
Semester 1: In this course, students will be introduced to a physical device called a Micro:bit**. Students will explore the features of this mini computer such as the motion sensor, buttons and LED screen. They will learn how to integrate the Micro:bit with proprietary software, MakeCode, and make games and projects that engage interactivity. They will also spend some time understanding how different components work on an electronics level. Students will also work on their own final projects incorporating the Micro:bit. The Micro:Bit is a great coding tool for all skill levels to express their imagination and inspire digital creativity.
*This course is for students who have completed Scratch Level II, Python I or higher
Semester 2: In this course, students will continue their exploration using the Micro:bit and use it with Scratch. During this session students will dive deeper into more advanced customization of the Micro:bit. With these new features students will also learn new coding and electrical concepts such as functions & arrays and serial. Throughout the course students will learn how to make projects directly on the board. They will also work on a small final project to practice the concepts they learned.
** Each student is required to have his/her own Micro:bit device. It can be purchased through us or independently. Instructions will be sent directly to all the registered students