What you'll learn
- You will get a clear understanding of all Python core concepts
- You will be able to write programs that interact with a user through a text terminal
- Create basic games based on guessing random number generation
- Simulate an intelligent conversation with a computer
- Write functions that take in any number of arguments
- Create program that encrypts messages
- Create a program that cracks encrypted messages
Requirements
- You should have Windows PC or Apple Mac with OSX
- You should install Python
- Have a basic understanding of mathematics (Year 8 level)
Description
Becoming an awesome programmer is a bit like building a large tower of knowledge in that solid foundations are the key to your success. Completing this course will provide you with mastery over these foundations. Here is a quick summary of the journey that awaits you:
Curriculum
The course will focus on mastering the following concepts
- variables (integers, floats and strings)
- control structures ( loops and if statements)
- functions
- data structures (lists and dictionaries)
Learning Process
The course incorporates principles known to help humans learn better, namely: multiple perspectives, revision, feedback and real world application. The following three step process will help you retain and master all the topics covered in this course:
Step 1: Demonstrate concept with both visual and text outputs: this is achieved by first writing a program with a text output and then writing another where the output is created visually using turtle.
Step 2: Test your understanding with 10 coding exercises: all of these are automatically marked using the python unittest module giving you instant valuable feedback.
Step 3: Apply your understanding to write useful and interesting programs: The core concepts you have learned will be put together into programs which do useful and interesting things like:
- User authentication with a dictionary
- Guessing number game
- Human reaction time measurement
- Human memory training
- Palindrome Discovery (all single word palindromes in English)
Who this course is for:
- High School Students looking to learn programming
- Computer professionals looking to get a quick handle on python
- Teachers / Tutors looking to find an ideal learning sequence to teach Python programming
- Programming students looking to take a practical jargon free approach
Instructor
Sanjin is a teacher and a robotics engineer with a passion for teaching Coding and Robotics to school aged children. He has spent more than 5 years teaching various age groups in platforms like Scratch, Arduino, Python, Raspberry Pi and Lego Mindstorms.
He is presently working with over 20 schools in Melbourne to help them implement the Digital Technologies Curriculum in a meaningful manner. This means developing learning sequences that help students easily grasp the core concepts of coding and then setting them up with problems that involve higher level computational thinking and integration with various mathematical concepts.