Computer Graphics in Python

This is an introductory-level computer science course designed for students with little to no experience. We will explore basic concepts such as data type, memory data model, and the loop. In addition, we will provide exercises and allow students to gain first-hand experience in Python. We will also challenge students with mathematics problems with a focus on utilizing Python to devise solutions in a strategic manner. The main purpose of this course is to ensure that students build experience in the use of the Python programming language. This course is optimal for students in Grade 8 and 9. If you have further questions, please contact us for more details.  

image3

Schedule and useful source

You can download Python 3 and Wing 101 here

Python turtle is here

New class each month, please contact us for more details

Get your starting code HelloWorld.py

Lecture notes and class schedule

Lecture 1


Set up Python programming environment, using Wing 101, Python Shell script, Python main function, data type, using Python input and output, Python math expression, basic turtle graphing. Please get source codes from your class instructor.

 

Lecture 2


Python memory model, data type, math expression, binary operator. Using Python math library function for some math problems. Using Python turtle to draw simple geometric figures like Olympic symbol. Please get OlympicSymbol.py an other source codes. from your instructor.


Lecture 3


Selections in Python. Many problems from Canadian Computing Contest (CCC) problems used as examples showing how to use if-else statement. You can access more information about CCC here.  


Lecture 4


Using Python library, turtle for graphing. Student will learn how to use turtle to draw some more complicated geometric figures and the coordinates system in turtle also introduced. Students are also given some higher math concept and how to control turtle in Python.  


Lecture 5


More on turtle graphing and students will get more ideas about turtle in Python  like direction, color, how to change font, and more. Student should be able to draw more complicated geometric figures by loops and if-else statement. 


Lecture 6


Introduction of loop in Python, difference between for loop and while loop. Students should be abole to some problems from Canadian Computing Contest by using looping. Please get MonteCarlo.py from your class instructor.


Lecture 7


Complicated turtle graphing like chessboard. Students should be able draw a chessboard by for loop, color control. For our students, please make sure you get source code, ChessBoard.py from instructor.  


Lecture 8


More Python built in functions will be introduced like math, string and time functions. Students will learn how to use built-in functions to design some Python application and also many important operations in Python strings.


Lecture 9


Design Python function. Students will learn how to define function. Students should be able to define for problem solving. Please make sure you get drawChessBoard.py, drawPloygon.py Prime.py and TwinPrime.py from instructor. 


Lecture 10


Introduction of Python list. Students will learn some important operations in list. A complicated problem from Canadian Computing Contest (CCC) from University of Waterloo will be used as a case study.


Lecture 11


A selected problem from Canadian Computing Contest (CCC) will be addressed. Students should be able use knowledge learned from previous lectures to solve complicated problem or projects.


Lecture 12


Concepts of algorithm. Students will learn analysis of problem and design algorithm for a given problem. A complicated Canadian Computing Contest problem will be used as an example.