# Building Blocks of Programming [Curriculum]

This curriculum has been designed for a 12 days intensive workshop, to help students learn problem solving using flowcharts and a programming language, Python here. This workshop is aimed for anyone who wants to learn programming.

### Module 1 - Number Systems

Lesson 1.1 - Number Systems:

• Writing numbers in any symbol system
• Writing numbers in a 2 symbol system

Lesson 1.2 - Binary System- Finding patterns:

• Conversion of numbers from Decimal to Binary
• Conversion of numbers from Binary to Decimal

### Module 2 - Problem solving using Flowcharts

Lesson 2.1 - Introduction to flowcharts:

• Input/output box, process box, start/stop box
• Indirect introduction of Python syntax with print statement
• Variables and initialization

Lesson 2.2 - Operators and Conditionals:

• Arithmetic operators(+,-,*,/,//,%)
• Conditionals(if, else)
• Relational operators(<,>,<=,>=,==,!=)

Lesson 2.3 - Loops:

• Introduction to loops
• while loop in a flowchart
• Scaffolded problems on loops

Lesson 2.4 - Lists:

• Lists definition, creation(manual and from the user)
• Indexing and traversal of a list
• Operations on list - append, insert
• List of lists
• Creation
• Indexing
• Traversal

### Module 3 - Problem solving using Python programming language

Lesson 3.1 - Introduction of Python - 1:

• Variables, input and output
• Conversion of problems solved using flowcharts to Python

Lesson 3.2 - Introduction of Python - 2:

• Conditionals, loops and lists
• Conversion of problems solved using flowcharts to Python

### Module 4 - Introduction to Online judge and competitions

• Solving problems in an online coding competition