Introduction for Teachers¶
Why teach Object Orientated Programming?¶
Introducing your students to Object Orientated Programming (OOP) opens them to a world of possibilities.
Object Orientated Programming is one of the major programming paradigms currently in use. In learning how to use OOP students will learn good programming practice. They will learn to produce code that is more efficient, secure, maintainable, and extendable.
This is especially important for Python. Although Python can implement a functional paradigm, it is essentially a Object Orientated language (everything in Python is an object). Many Python modules and easily available resources assume the reader is familiar with OOP. Once your students have a solid understanding of OOP, they can extend their Python skills by accessing the resources provided by the Python community.
Finally, starting your students on OOP will make it easier for them later in their coding career. If your students study programming at ta tertiary level, they will need to learn to code in OOP. The longer their introduction to OOP is postponed, the hard it is for them to accommodate the new programming paradigm (this I know from my own experience).
Why this site?¶
I created this site for use with my secondary school students. It is inspired by some of the courses that finally taught me how to code using OOP.
This site supports my classroom practice by addressing two issues:
the divergence of my students’ coding experience entering into this introductory unit
regular and extended absences during the Covid 19 pandemic
My pedagogical approach is thus:
Students are presented with the website and are invited to proceed at their own pace.
This allows students to race ahead if they wish.
I have included a page with extension challenges, for those students who finish before the class.
I live code the content with the class.
This represents the minimum progress I expect from students
If they are behind what I am doing in class, they need to use this website to catch up.
If students fall behind, they can catch up via this site.
Corrections
If you find any errors in this work, please raise an issue via GitHub so I can remedy it. There is also a Github link in the footer of every page.
Teacher Resources¶
The source code for this site can be found on Github where it is published under a GNU GPLv3 license. You are free to download and reuse for your own purposes within the licensing requirements.
Videos vs Website
The videos linked from this site where created prior to developing this site. Although they have similar content, this site provides more detail.
Australian Curriculum¶
The content of this website can be used to address the following content descriptors of the Australian Curriculum - Digital Technologies. The intention is to add both flowchart and pseudocode to this course to more fully meet the requirements of the Australian Curriculum.
Level |
Australian Curriculum v8.4 |
Australian Curriculum v9 |
---|---|---|
Years 7 and 8 |
||
Years 9 and 10 |
||
Website Blocked¶
If your school blocks GitHub and your students cannot access the website, a portable version of the website can be found in the repository under _build/html
.