What's included
16 live meetings
12 in-class hoursClass Experience
Scratch is a fun way to get introduced to programming. However, Scratch does not support functions that are required to become a professional programmer. There is another coding platform called Snap (created by University of California at Berkeley). It looks like Scratch, it acts like Scratch.... it is even built in top of Scratch, but has everything needed to build professional coding projects. Learners do not need any experience in Snap. Experience in Scratch is preferable, but not required. While Snap does work on tablets, it is highly recommended learners use a computer. Please be aware that Mac computers might require permissions enabled in system settings (for web cam and location access) In this class we will use Snap to learn how to create professional programs. Learners will get exposed to every aspect of coding, from programming techniques to web interface to artificial intelligence. The aim of this class is to give learners an introduction to good programming techniques and expose them to various fields in software development. Learners will learn how to create code that are easy to maintain and scale. Throughout the course we will focus on software architecture, giving learners experience in how to structure code. Here are some of the topics we will explore: - Code Structuring and Subroutines (make your coding scalable and easy to maintain) - Artificial Intelligence (smart programs are better than dumb) - Location based coding (learn how to code a program that interact with your local community) - Web interface (learn how to use information from the Internet to power your app) - 3D vector animation (this will require slight use of math, but nothing too bad) - JSON (JSON is the most common language on the web used to send data) - Screen pixel manipulation (Let's have fun with the pixels on the screen) - Algorithms (making computers solve problems) - Gaming algorithms (for example gravity function) - Software Architecture - Data processing (we got data. Now what? ) Class structure: Week 1: Let's get comfortable with Snap. We will spend the first day playing around in Snap and learn the differences between Snap and Scratch. Week 2-4: Project: World Explorer. In this project we will get an introduction to topics like web application development, JSON, and geolocation. Week 5-7: Project AI Ball: In this project we will get an introduction to artificial intelligence by coding a ball that learns on its own how to jump over a wall. Week 8-9: Project Pixelated Camera: In this project we will focus on screen manipulation by creating a selfie cam that pixelates the image. Week 10-11: Project 3D Cube: Time to get introduced to 3D objects. We will create a simple rotating 3D cube. Week 12-16: Project Chatbot: We will finish this class by combining everything we have learned into an expandable chatbot that can find answers on the web.
Other Details
Parental Guidance
In this course we will use Snap. Snap is a visual coding platform similar to Scratch. It is developed by University of California. Learners will need to have an account with Snap (we will go through this in first class).
External Resources
In addition to the Outschool classroom, this class uses:
Teacher expertise and credentials
Hello Fellow Learners!
My name is Mounir Shita - but you can call me Mo (trust me, it is scientifically proven to be easier to pronounce). I have been amazed and intrigued by thinking machines since I was a teenager. As an adult, I've made it my career to research and develop thinking machines.
I've spent over 20 years researching real thinking machines, built a lot of technology, started my own "AI" companies and even been involved in government "AI" programs.
In Outschool I hope to contribute to make you curious science, especially intelligent machines. I will teach classes ranging from introduction to artificial intelligence and thinking machines, to ethics (is it good or bad?) to teaching you how to build your own AI-powered games.
Reviews
Live Group Class
$350
for 16 classes1x per week, 16 weeks
45 min
Completed by 1 learner
Live video meetings
Ages: 9-14
3-15 learners per class