Code For Fun is a leader in online and in-person coding programs for kids and teens. Our lessons develop critical STEM skills taught through our proprietary curricula, with engaging and effective hands on projects.
Discover how our after-school coding programs and coding summer camps, in Sunnyvale, CA and online, can unlock a world of innovation and creativity.
Dive into the world of Scratch, Python, Lua, Blockly, and HTML/CSS with our specially designed curricula that combines critical STEM learning with fun and engaging hands-on projects, using:
Our guarantee:
How would you like your child to learn?
After-School
Classes
Weekly after-school classes held online or in-person, in small groups. After-school can be 1 hour or 1.5 hours per lesson.
Hey Teachers! Want to see how you can easily bring Computer Science to your classroom? We have the perfect Professional Development programs for you!
Lesson Plans
We develop and curate curricula to provide educators with content they can use and adjust based on their students. We offer the lesson plans free of charge!
Some questions we often get:
1) Why is learning Computer Science important for children?
Computer science is intellectually important:
It's easy to foresee a future where computers will master almost every task and decision we encounter. We believe everybody should understand how the machines operate when performing these tasks.
Computer science leads to multiple career paths:
Many of tomorrow's jobs have not been invented yet. Professionals in every discipline — from artists to health care professionals, to small business owners, to retail store staff — will need to understand computing to be productive and competitive in their fields.
Computer science teaches problem solving:
computer science is a tool to solve problems. The first step to solve a problem is to understand it clearly. Once a solution is implemented, it must be tested. Computer scientists draw on their training and experience to confront problems and to create the best possible solutions.
Computer science supports and links to other sciences:
Today's programs and simulations are created to discover new medical treatment, understand the complexity of the brain, create fast response plans in case of a forest fire, build bridges that sustain seismic activities, design cars that would drive us, understand insect activity patterns, and etc.
Computer science can engage all students:
Computer science applies to virtually every aspect of life, so that it can be easily tied to a myriad of student interests. From music, to history, from mathematics to literature, we can engage students to computer science by having them apply the projects to what they like the most.
2) Why do they need to start in elementary?
Introducing the concepts taught in computer science in college is too late. All of today's students will be citizen of a world heavily influenced by computing, and many will work in fields that directly involve computing. They must begin to work on algorithmic problem solving, computational thinking and tools in K‑12. Children are naturally curious and innovative, and these two characteristics are the core drivers of computer science. Young children are amazed by the magical power of computing, and as eager learners, become prepared for more challenging concepts and assignments later.
3) Is CS & coding the same?
Computer programming (or coding) is only one of the 5 strands of Computer Science. Code For Fun follows the definition of the field of Computer Science as documented by the Computer Science Teachers Association (CSTA). We design our programs so that they address those 5 strands:
Computational Thinking:
"Computational Thinking (CT) is an approach to solving problems in a way that can be implemented with a computer. Students become not merely tool users but tool builders. They use a set of concepts, such as abstraction, recursion, and iteration, to process and analyze data, and to create real and virtual artifacts. CT is a problem-solving methodology that can be automated and transferred and applied across subjects. The power of computational thinking is that it applies to every other type of reasoning. It enables all kinds of things to get done: quantum physics, advanced biology, human-computer systems, development of useful computational tools." -- Barr and Stephenson (2011)
Collaboration:
Computer Scientists work in collaboration to solve complex problems. To teach collaboration skills, we ask students to program in pairs (peer programming). We also emphasize teamwork, constructive criticism, project planning and management, and team communication, all of which are considered necessary 21st Century skills.
Computing Practice and Programming:
Students learn how to chose the correct tool to better create their solution (databases, file storage, application program interface (API)). They learn programming languages and create applications.
Computers and Communication Devices:
It is necessary to understand computer devices and network. We, for example, teach the different components of a computer and how the internet works.
Community, Global, and Ethical Impacts:
As soon as students begin using the Internet, they should learn the norms for its ethical use. Principles of personal privacy, network security, software licenses, and copyrights must be taught at an appropriate level in order to prepare students to become responsible citizens in the modern world.
4) What types of classes are offered by Code For Fun?
In-Person Coding Classes:
Our Sunnyvale, CA coding center is more than a learning hub; it's a place where ideas blossom, collaborations foster, and innovation thrives. Our in-person coding classes offer a collaborative learning environment where students can engage in lively discussions, brainstorm, and receive immediate feedback and support from our dedicated instructors.
Online Coding Classes:
We understand that learning needs to adapt to the student, not the other way around. That's why we offer online coding classes for kids, providing a flexible learning environment that doesn’t compromise on the quality of education. Our online classes are interactive, engaging, and designed to bring the excitement of coding to your home.
After-School Programs:
Our after-school coding programs are the perfect solution for parents looking for a productive, educational, and fun-filled experience for their children post school hours. These programs blend instruction, guided practice, and independent project time, ensuring children remain engaged while learning at their own pace.
Partnering Schools:
Our collaboration with local schools in Sunnyvale, CA, and nearby areas is a testament to our commitment to make coding education accessible. By offering our coding classes at these partnering schools, we ensure more students have the opportunity to explore and learn coding in a familiar environment.
5) Why choose Code For Fun?
Above all, we believe that fun is the key to effective learning. We design our curriculum to be exciting and engaging, turning coding from a complex subject into an enjoyable experience. Our goal is to ignite a passion for coding and technology in children, inspiring them to become the innovators of tomorrow.
Personalized Learning:
At Code For Fun, we value each student's unique learning journey. That's why we keep our class sizes small, ensuring each child receives personalized attention and instruction. Our dedicated instructors adapt to each child's learning style and pace, making coding a joy to learn.
Engaging Coding Classes:
Our coding classes for kids are meticulously designed to make learning a thrilling experience. Whether it's our after-school coding programs or the fun-filled coding summer camps, we strive to instill a love for technology and innovation in our students. We also host regular in-person coding classes at our Sunnyvale, CA location and partnering schools, fostering a space where children can explore, create, and learn in a supportive and engaging environment.
Variety of Coding Languages:
Exposure to a range of coding languages is essential in the digital age. Our curricula incorporates languages such as Scratch, Python, Lua, Blockly, HTML/CSS, and more, enabling children to understand different facets of programming. By navigating various coding languages, students gain a well-rounded perspective of coding, preparing them for a multitude of tech-driven opportunities in the future.
Interactive Coding Tools:
We believe that interactive learning drives engagement and retention. Hence, we incorporate engaging hardware like Robotics, Beebots, Dash and Dot, and Sphero in our lessons. This hands-on approach encourages creativity, enhances problem-solving skills, and makes coding a tangible, exciting experience for our students.
Here are a list of blog posts, where we discuss our philosophy, in greater detail: