Challenges in Recursion
Recommended Classroom Hours: 4-6
Assessments: Available with Teacher PD
Teacher PD Flyer - Digital Technologies Curriculum Links
What is Python and why is it important?
Python is an interpreted text based general purpose programming language, which has a wonderfully simplified syntax, dynamic typing and an awesome open source community constanly creating more and more amazing libraries and modules. This makes python an awesome tool for someone just getting into proramming as well as someone with serious ambitions in fields like data analysis web development or the Internet of Things.
What is special about this course?
Quite simply this is the ultimate second programming course for the everyman!. The approach taken demonstrates some theoretical concepts and then asks the student to solve an open ended problem. Much like lifting heavy weights tends to make your muscles bigger, solving hard problems improves your thinking!! Perhaps more importantly these types of problems prompt creativity and create original solutions. Completing this course with an understanding of multiple solutions for each problem will endow the student with a conceptual mastery of Python and thus prepare them to use Python and a professional setting and create real world applications!!
What are the requirements?
- Students should have a Windows PC, a Mac or a Linux Computer
- Students should have a basic understanding of Algebra (Yr 8 level)
- Students should install the latest version of Python 3
- Ideally students have some previous programming experience (any language)
What are the student outcomes?
- Students will become fluent in APPLYING the core concepts: loops, flow control and functions
- Students will be more efficient and confident with solving difficult problems
- Students will become fluent in various Python data types: Strings, Lists and Dictionaries
- Students will learn how to factorise numbers and discover prime numbers
- Students will optimise programs for lower processing time
- Students will write functions to generate images/art in the IDLE text interfaces
- Students will learn how LOGO / Turtle works and generates images
- Students will write functions to generate polygons of various shapes and dimensions
- Students will write fruitful functions that use random numbers to generate realistic graphical backdrops: Stars and Clouds
- Students will perform text analysis and write programs that check syntax
- Students will learn to load text files into programs and rank all words in the text file by popularity
- Students learn about recursion from mathematical and graphical examples
- Students use recursion to generate spirals similar to those that occur in nature
- Students user recursion to generate Koch fractals and Koch Snowflakes
Sanjin combines his passion for teaching and education with an in-depth understanding of a vast array of technologies. He graduated in 2007 from The Australian National University, majoring in Robotics and Computer Vision. He has a unique ability to adapt various engineering concepts into hands on classroom activities and teach everything from Scratch, Python, Arduino to Raspberry Pi to very young audiences. His role with Techxellent centres around doing this on a larger scale in an easy to follow ‘progression model’ which imbues students with a new mindset required for innovation and analytical thinking. In 2016 his goal is to raise the bar in student engagement with programming and robotics by enabling students to communicate with computers much like they do with their friends— using facial expressions and hand gestures.