|Sub Module||Description||Learning Outcomes||Projects||Child investigations|
|Section – 1|
|Programming is becoming more ubiquitous by the day. Currently, Python is one of the most widely used programming languages in the world. This will introduce children to parts of a program, the parts of the tool they will be using. They will learn basics aspects of using python||1. Able to use a tool for developing python programs (repl.it or IDLE)|
2. Able to run python commands in compiler and interpreter mode
3. Perform math operations in the interpreter
4. Comfortable using I/O statements with python
|1. Make ‘Guess the Number’ Game||1. Can we do math operations using python with really big numbers? How big can we get?|
2. What happens if I perform math operations with letters instead of numbers?
3. How are the I/O commands similar or different from any other programming language I have learned
|Variables, Operators, Conditionals|
|Variables, operators, and conditionals are the 3 key concepts while programming. They start becoming more familiar with these concepts and by using them in a variety of contexts. At this stage start developing fluency of using them||1. Can create, change and use variables|
2. Familiar with variables storing text and number information
3. Can use arithmetic and comparative operations to achieve results
4. Can fix simple syntax errors
|1. Make ‘Dragon Realm’ Game|
2. Solve a math word problem using a computer program
3. Program to Check if a number is divisible by a number and its applications
|1. Can I have any name for a variable?|
2. If there is a math operation that I don’t know how to perform, where can I look for help
3. Why do we have to put certain symbols like (): etc?
4. How are the commands similar or different from any other programming language I have learned
|More I/O, Comments|
|Having learned about integer and string data types, they will build a little more fluency on using the I/O statements appropriately with them. They will also start to write comments to explain their programs. They will start reading other programs and try to understand what they do||1. Use I/O statements comfortably for text and number data|
2. Can format I/O statements
3. Use comments
|1. Make a program that tells Jokes|
2. Make pictures/ shapes with symbols (Ascii Art)
|1. How can I print emojis?|
2. Can I make board games using python? How can I show the board to the players?
3. Is there any way to use python to make drawings?
|Section – 2|
|Graphics in Python|
|Programming is not just about math. We can do cool graphics also using programs. We will explore the Turtle module which is a beginner graphics library to make drawings using programs||1. Use turtle library to make shapes|
2. Understand and apply concepts of geometry, cartesian coordinates wrt to programmable graphics
3. Responding to Keyboard events
|1. Make a Turtle Race simulation|
2. Make programmable shapes and animate them
|1. Can we use photographs as part of the graphics in python?|
2. What kind of information are graphics – Text or numbers?
3. Can we record the animation that we make?
|Even though children have been writing code and have been using logic, we introduce them formally to flowcharts as a way to organize their thoughts logically.||1. Knows symbols and connectors used in the flowchart|
2. Can make flowcharts for real-world problem
3. Can break big problems into small ones and represent them using a flowchart
4. Familiarity using Lucidchart for making flowcharts
|1. Make a flowchart for ‘Hangman’ Game|
2. Make a flowchart for ‘ Doing Homework’
|1. Why should I make a flowchart?|
2. What are other ways to represent the program logic?
3. What is an algorithm? How is it different from a flowchart or a program?
|Section – 3|
|Loop is another key concept in programming. Even though children would have been using loops prior to this as well, they will explore close attention to loops now. They will learn about while and for loops, end conditions breaking from loops||1. Can use loops to perform repeated actions|
2. Can use range(), list, and conditions in loops
|1. Make ‘ Hangman’ Game|
2. Make Patterns
|1. What if the loop never ends? Is that what a computer virus is?|
2. How can I make the computer choose a random word without me providing a list?
|Strings are a lot of fun when programming. We can do loads of fun stuff with them if we knew how to handle them. Here we will explore more about how this data is stored and can be manipulated||1. Can make, modify, access strings and parts of strings|
2. Can use some of the common functions related to strings
|1. Make a ‘Caesar Cipher Encoder / Decoder’|
2. Make a p-language translater
|1. Can the program understand English? Why / Why not?|
2. What happens if I use text the way I use numbers and vice versa?