Computer Programming (Scratch and Python Series)
“Computational thinking is a fundamental skill for everyone, not just for computer scientists. It represents a universally applicable attitude and skill set everyone, not just computer scientists, would be eager to learn and use.” Jeannette M. Wing
Based on the “computation thinking” philosophy explained above, PEN Education Centre is pleased to offer a comprehensive program to train and educate our young learners and help them develop their computational skills.
Scratch Level 1: 12 hours (1 hour/session)
September 11th – November 27th, 2021 Every Saturday 9:00am-10:00am
Scratch It is a fun way to introduce the concepts of computer programming to children aged 8-11. Scratch enables students to create projects that express their ideas.
Students first learn about loops, if-then, variables, inputs, and events, then use their knowledge to do small projects and create simple/visual games such as:
- Math operations
- Dragon game
- Melon bounce
They will also learn to complete one project adding sound and music to the game.
Scratch Level 2: 12 hours (1 hour/session)
January 8th – March 26th, 2022 Every Saturday 9:00am – 10:00am
Focused on more complex projects including:
- Math operations
- Pong game
- Paint in scratch
- Flappy Bird Game
Python 100: 12 weeks (1:30 hours/session)
September 11th – November 27th, 2021 Every Saturday 10:15am-11:45am
This introductory course is designed to teach the principles and elements of programming using Python language. This course is focused on teaching the fundamentals of coding such as Loops, Functions, Modules to learners and training them with project-based tasks. It also covers the introduction of computer graphics and sound editing which are the integral parts of a computer game development workflow.
By the end of this course students should be able to:
- Understand the fundamental ideas of python coding
- Use Python language to code
- Apply what they learned to analyze codes, modify existing codes, build functional small games such as quizzes and word games
Python 200: 12 weeks (1:30 hours/session)
January 8th – March 26th, 2022 Every Saturday 10:15am – 11:45am
This intermediate-level course is designed to expand students’ knowledge after the completion of Python 100. This course is focused on web applications and development using Python language. Students will learn about events, Graphic User interface (GUI), Python modules, and libraries including Tkinter, Flask, and Pandas, using external data files (both with text and json format.)
At the end of this course students will be able to build a web application for viewing maps and a personal website that is built with the combination of Python, HTML and CSS.
Python 300:12 weeks (1:30 hours/session)
April 9th – June 25th, 2022 Every Saturday 10:15am – 11:45am
This course is designed to prepare students for advanced topics in Python Language and developing functional apps and mobile apps. This training will also help students to gain introductory knowledge about Data Structure which will be beneficial for Canadian Computer Competition (CCC) if they decide to participate in such competitions in the future.
By the end of this course students should be able to build mobile applications using Kivy (Python library), export the codes in executable and/or APK (android) formats and start the basic data structures such as Linked list, Queue, and Tree. Topics will include front-end/ back-end programming.
Python Advanced: 12 weeks (1:30 hours/session)
September 11th – November 27th, 2021 Every Saturday 12:00pm – 1:30pm
Built on the previous 3 python levels, this course is designed to introduce more advanced topics to students that cover Computer vision, Speech recognition, Web Scraping, and further Data Structures such as Stack and Graph.
At the end of this course, students will be able to build a webcam tracking project using Python, a virtual assistant, and learn how to use online data sources for a project (Web Scraping).
Other advanced topics such as robotics and machine learning can be offered based on demands.