Coding from Zero to Hero
This course is intended for kids to learn computer coding and be able to solve real world problems with programming skills. Learning to code is very much like learning a new language – it gives kids a fluency not just in technology, but also in the language of creativity. Programming is part of the development of a valuable technical and creative skill set that will grow with them into adulthood, enabling them to thrive in our ever growing digital world.
How to use
If you are a parent with good computer knowledge
- Have kids star and fork the GitHub repository
- Play course videos for teaching and pause for Q&A when needed
- Recap with course materials like Jupyter Notebook or textbook
- Have kids practice and submit their assignment to GitHub for review
If you are a parent with little computer knowledge
It'll be better to sign up kids with a tutor who has good computer knowledge as it's important to answer their questions and address coding issues when they are learning so that they can maintain their interest and will not stop because of problems.
Course Levels
0. Interest
- Audience: Age 6+
- Target: Understand use of computer software and be able to create vidoes, presentations, websites and coding blocks
- Courses: iMovie,Keynote, Scratch, Wix
- Time: 12 months
1. Beginner
- Audience: Age 10+
- Target: Understand basic computer coding and be able to solve math problems as well as create online games
- Courses: Python, PyGame, Turtle, JavaScript, Computer Science
- Time: 12 months
2. Advanced
- Audience: Age 13+
- Target:Understand advanced computer coding and be able to create games in production as well as attend coding competitions
- Courses: Roblox, OOP, Algorithms, Data Structure, Python by Example, Dart & Flutter
- Time: 12 months
3. Expert
- Audience: Age 15+
- Target: Understand data analysis and be able to build portfolio management and algorithm trading
- Courses: Data Analysis, Algorithm Trading, Portfolio Management, Python for Finance
- Time: 12 months
Course Schedule
After School Schedule
Monday | Tuesday | Wednesday | Thursday | Friday | |
---|---|---|---|---|---|
Interest | iMovie (60 mins/session, 12 sessions) | Keynote (60 mins/session, 12 sessions) | Scratch (60 mins/session, 12 sessions) | Wix (60 mins/session, 12 sessions) | |
Basic | Python Basics (60 mins/session, 12 sessions) | Math with Python Turtle (60 mins/session, 12 sessions) | Game with PyGame (60 mins/session, 12 sessions) | Computer Science Basics (60 mins/session, 8 sessions) | JavaScript Basics (60 mins/session, 8 sessions) |
Advanced | Object Oriented Programming with Python (60 mins/session, 12 sessions) | Data Structure & Algorithms (60 mins/session, 12 sessions) | Python by Examples (60 mins/session, 12 sessions) | Roblox Scripting (60 mins/session, 12 sessions) | Dart & Flutter (60 mins/session, 12 sessions) |
Expert | Python for Finance (60 mins/session, 12 sessions) | Data Analysis with Python (60 mins/session, 12 sessions) | Portfolio Management with Python (60 mins/session, 12 sessions) | Algorithm Trading with Python (60 mins/session, 12 sessions) | Digital Wallet with Flutter (60 mins/session, 12 sessions) |
Summer Break Schedule
Week 1 | Week 2 | Week 3 | Week 4 | Week 5 | |
---|---|---|---|---|---|
Interest | iMovie (120 mins/session, 5 sessions) | Keynote (120 mins/session, 5 sessions) | Scratch (120 mins/session, 5 sessions) | Wix (120 mins/session, 5 sessions) | |
Basic | Python Basics (120 mins/session, 5 sessions) | Math with Python Turtle (120 mins/session, 5 sessions) | Game with PyGame (120 mins/session, 5 sessions) | Computer Science Basics (120 mins/session, 5 sessions) | JavaScript Basics (120 mins/session, 5 sessions) |
Advanced | Object Oriented Programming with Python (120 mins/session, 5 sessions) | Data Structure & Algorithms (120 mins/session, 5 sessions) | Python by Examples (120 mins/session, 5 sessions) | Roblox Scripting (120 mins/session, 5 sessions) | Dart & Flutter (120 mins/session, 5 sessions) |
Expert | Python for Finance (120 mins/session, 5 sessions) | Data Analysis with Python (120 mins/session, 5 sessions) | Portfolio Management with Python (120 mins/session, 5 sessions) | Algorithm Trading with Python (120 mins/session, 5 sessions) | Digital Wallet with Flutter (120 mins/session, 5 sessions) |
Courses Structure
Learning Prerequisites
Hardware
- Computer: Desktop, Laptop
- Internet
Software Installation
Software Online
Good to know
Courses Materials
Interest Courses Videos
iMovie - Create videos for Youtube
Keynote - Create prototype for business ideas
Wix - Create website for e-commerce
Scratch - Create games with coding blocks
Beginner Courses Videos
Advanced Courses Videos
- Python OOP Tutorials - Working with Classes
- Game Development with Pygame
- Data Structure
- Algorithms
- Dart
- Dart Pad
Expert Courses Github:
- Portfolio Management with Python
- Quant Trading with BackTrader
- AI Trading for Cryptocurrency, Stock and Forex
- Python for Banking Finance
Hands on Projects
- Youtube Videos
- Ecommerce Websites
- Scratch Games
- Python Turtle Drawings
- Python Pygame Games
- Python Financial Data Analysis
- Python Algorithm Trading
Canadian Computing Competition
The Canadian Computing Competition (CCC) is a fun challenge for secondary school students with an interest in programming. It is an opportunity for students to test their ability in designing, understanding and implementing algorithms.
加拿大计算机竞赛(Canadian Computing Competition,简称CCC)是加拿大面向中学生每年举办一次的计算机程序设计比赛,比赛的目的是为大中学生朋友们提供一个机会来测试自己分析、设计以及编程实现算法的能力。
加拿大全国中学生计算机竞赛(Canadian Computing Competition) 是由Waterloo 大学计算机系与加拿大数学与计算机教育中心联合举办的全加计算机竞赛, 简称CCC竞赛. 至今已举办了11届. 该竞赛的目的有两个, 一是给中学生一个机会以发展他们的计算机编程和算法设计能力, 另一个目的就是选拔选手组成加拿大代表队参加当年的国际奥林匹克计算机竞赛. CCC一般每年二月份开始举行第一阶段竞赛.
每一届的CCC竞赛均分为两个阶段. 第一阶段, 即初赛阶段, 在各报名选手所在的学校举行. 初赛阶段有分JUNIOR组和SENIOR组. JUNIOR组的学生限定与在学校只修过一个学分的计算机课程, 并不限定与学生所在的年级.其他人则只能参加SENIOR组. 同时, 根据这边的鼓励早出人才的一贯政策, 任何学生均可参加SENIOR组. 第二阶段, 相当于决赛阶段, 在Waterloo 大学举行, 进行两天. 在第一阶段的SENIOR组的前25名选手才有资格进入第二阶段. 而加拿大参加国际奥林匹克计算机竞赛的代表队便由第二阶段产生.