7-week Class on Programming Fundamentals with Python

Have you ever wanted to learn programming but never got around to it?

Perhaps you can set aside a few hours each week to learn the fundamentals of programming?

If so, I’m leading a group class on programming for absolute beginners. There’s an online class as well as an in-person class in Vancouver, BC.

The class meets once a week for seven weeks, and by the end of it, you’ll have learned the fundamentals of computer progamming using the popular and powerful Python programming language.

Each week, you’ll have a homework assignment that should take you 2-5 hours to complete. I’ve done my best to make these problems as interesting, fun, and real-worldy as possible. Look through the list of assignments to get a feeling for what you’ll get to learn.

For advanced students and those desiring a challenge, I’ll also assign a bonus problem every week that will stretch your understanding and mastery.

Remember, you can do this regardless of whether you consider yourself bad at math or “tech-unsavvy.” Learning is a process that you can master. The important thing is that you show up and chip away at your learning, bit by bit, day after day.

My job is to make things interesting and digestible, so as long as you can dedicate yourself to chewing, swallowing, and digesting, you’ll be able to solve real problems in no time!

Programming Fundamentals with Python


Instructor: David Kay

Duration: 7 weeks

Prerequisites: None

Class Duration: 90 minutes

Homework per week: 2-5 hours


Start Date: May 22, 2016

Vancouver Location: TBD

Vancouver Meet Time: Sundays at 6PM Pacific

Online / Virtual

Start Date: May 15, 2016

Meet Time: Sundays at 4PM Pacific

Note: All classes will be recorded and distributed afterwards.


Week 1

Basic Python - Learn the fundamentals of the Python programming language

Homework: FizzBuzz

Bonus: Find the sum of all the primes below one million

Week 2

Basic Algorithms: Binary Search - Learn how to teach a computer to execute a sophisticated task.

Homework: What number am I thinking of?

Bonus: Find a library book using binary search

Week 3

Parsing CSV & Higher order functions - Learn to work with CSV files and craft elegant solutions to problems.

Homework: Adventure game

Bonus: TBD

Week 4

Pygame & Graphics - Who doesn’t love games? In this class, we’ll learn the fundamentals of game development and computer graphics.

Homework: Pong

Bonus: Breakout

Week 5

Recursion - Most natural systems can be elegantly defined through recursion. In this class, we examine recursion and its implications.

Homework: The Sierpinski Triangle

Bonus: Mandelbrot Set

Week 6

Debugging & Testing - Most programmers make mistakes. In this class, we’ll learn the tools and strategies that the pros use to write correct code.

Homework: TBD

Bonus: TBD

Week 7

Sockets & Communication - These days, everything is connected over a network. In this class, we’ll learn about networking and build a chat app!

Homework: Multi-person Chat Application (IRC / Slack / WhatsApp)

Bonus: Shared Whiteboard

Future Courses

After learning the fundamentals, the whole world of computing will open up to you.

Most students will want to continue directly on to Web Programming in Python, but I’m also putting together courses on several other topics.

Please indicate your interest by clicking the appropriate link:

Buy Tickets

Vancouver (In-person) Lessons

Individual Class - $20

Entire Course (7 lessons) - $100

Online Lessons

Individual Class - $25

Entire Course (7 lessons) - $125


I’m honored at the opportunity to teach you. I’ve taught the fundamentals to two individuals in the past, both of whom have gone on to get great tech jobs in San Francisco. Perhaps you’ll be next? :)


Any questions? Shoot me an email: davidykay@gmail.com

Written on April 18, 2016

David Kay has dedicated his life to the advancement of the technological singularity. He is a serial entrepreneur, working to impact the future of software development and medicine. If you found this article helpful, join his weekly newsletter.