+91-9952009545 | +91-9884386075 contact@slashprog.com

Computer Science and Python Programming (supplementary to NCERT syllabus – Grade 11 and 12)

Duration: 9 months approximately (2 classes per week  on weekday evenings- 1.5 hours per class)

Course Track: Beginner

About the Course

This training program aims to equip computer science students on basics of computer science that include programming in python, basic algorithms and data-structures, computational problem solving sills, computer networking fundamentals, databases and computer security. The topics covered are in tune and supplementary to the NCERT syllabus grade 11 and 12 and is suitable for students from grade 8 and above (aged 12+ years).
This training program will be a 50-module online course for children studying 8th grade and above. Each module would span up to 1.5 hours. The precise schedule will be decided a week before commencing the course (planned for 2 sessions per week on Tuesday and Wednesday evenings – 6:30 pm to 8:00 pm IST). This course aims to introduce computer concepts and coding in python for children in the most basic yet practical and intuitive manner while guiding them to understand how computers work.

Target Audience

Children studying 8th grade and above.  
Though this training program is tailored for students pursuing computer science subject for grades 11 and 12 – enrollments are open to anyone aged 13 or above who might find this course content interesting.


Attendees should meet the following pre-requisites:
  • Have a computer or a laptop equipped with internet connectivity and enough free storage space (above 2 GB) to install Python and relevant third-party software.
  • Ability to understand and converse in  English (instructor will speak in Indian accent).

Training Mode

  • This training program is designed to be an online live master class conducted via Google Meet.
  • All communication related to training materials, assignments and Meeting Links will be via email and WhatsApp group (details will be shared upon enrollment).
  • Each module is planned for a one-hour session, but can spill-over multiple sessions based on overall wavelength of attendees.
  • Though the entire course is planned for seven months, it can stretch by one or two more months based on the pace of the training sessions and topic coverage.

Training Requirements

As the training will be a live master-class, each attendee must have a working computer/laptop for practice sessions with good internet connectivity.

Module 1: Basics of Computer System – Part 1

  • Introduction to Computers
  • How computers evolved
  • Parts of a computer
  • CPU
  • Memory
  • Secondary Storage
  • Input/Output devices and peripherals

Module 2: Basics of Computer System – Part 2

  • Hardware, Firmware and Software
  • Different types of Software
  • Proprietary Software vs Open Source Software
  • Computer Programs and Programming Languages
  • Types of Programming Languages
  • Compilers and Interpreters
  • SDKs and IDEs

Module 3: Operating Systems

  • Roles of an Operating System
  • Types of Operating Systems (with examples)
  • Examples and demonstrations on different operating systems
  • User Interface
  • Resource management subsystems in an OS:
  • Process Management
  • Memory Management
  • File Management
  • Device Management

Module 4: Encoding schemes and Number systems

  • How computers encode data
  • Representing characters
  • ASCII notation
  • UNICODE notation
  • Basics of number system
  • Decimal number system
  • Binary number system
  • Hexadecimal number system
  • Octal number system

Module 5: Conversion between number systems

  • Conversion between binary numbers and decimal numbers
  • Conversion between binary to octal and hexadecimal numbers
  • Conversion between decimal to octal and hexadecimal numbers
  • Converting and managing floating point numbers in different number systems

Module 6: Binary number math

  • 1’s complement and 2’s complement of a binary number
  • Adding binary numbers
  • Subtracting binary numbers

Module 7: Logic Gates and Digital Circuits

  • Basic Logic Gates: NOT, AND, OR and XOR
  • Truth Tables for basic logic Gates
  • Adders, Complementors, Latches (overview)
  • Multiplexers and Demultiplexers (overview)

Module 8: Computer architectural overview

  • What’s inside a CPU
    • Registers
    • ALU and Control Unit
    • IPU and execution pipelines
    • Cache memory
  • CPU instructions and Instruction-Set-Architecture
  • CISC and RISC architectures

Module 9: Problem Solving Techniques

  • Introduction to Problem Solving
  • Steps of Problem Solving
  • Algorithms and their representation
    • Introduction to Algorithms
    • Flow-charts
    • Pseudo-code

Module 10: Algorithms and Flow-Control: Examples and Practice Exercises

  • Basic flow-chart and pseudo-code exercises:
  • Algorithm to find the square of a number
  • Algorithm to find the perimeter of a rectangle
  • Conditions and Decision making
  • Fix a non-working light-bulb
  • Check eligibility for voting
  • Check if a number is even or odd
  • Categorize a person as either a child, teenager or adult
  • Verifying algorithms
  • Comparison of algorithms and optimization

Module 11: Getting started with Python

  • Introduction to Python
  • Python REPL and IDE
  • Python keywords and identifiers
  • Variables, Values and Types
  • Operators and Expressions
  • Python statements
  • Comments
  • Basic Python syntax

Module 12: Simple Python Programs

  • Ingredients of a Python Program
  • Input and Output
  • Storing Python programs in a file
  • Running Python program files
  • Converting between numeric and string types
  • Basic debugging techniques

Module 13: Python Data Types

  • “Everything is an object” paradigm
  • Names, Objects, Values and Types
  • Numbers – int, bool, float and complex
  • Sequences – str, tuple, list
  • Sets – set, frozenset
  • Mappings – dict
  • NoneType – None

Module 14: More on Python Data Types

  • Literal notations and construction
  • Literal integer notations
  • The boolean True and False reserved identifiers
  • Literal string notations
  • Literal notation of lists, tuples, sets and dictionaries
  • Mutable and Immutable objects
  • Basic object introspection: id(), type(), callable(), dir()

Module 15: Conditions in Python

  • Conditional statements
  • Boolean expressions and truthiness
  • The if statement
  • The ternary-if expression
  • The match statement
  • Compound statements and indentation rules

Module 16: Loops in Python

  • The while loop
  • The for loop
  • The range() function
  • The break and continue statements
  • The else clause in looping constructs
  • Choosing between a while and for loop


  • Write a program to generate first ‘n’ fibonacci series
  • Write a program to check if a number is prime
  • Write a program to generate the first ‘n’ prime numbers
  • Write a program to generate multiplication table for a given number
  • Write a program to print the minimum and maximum of five numbers passed as user input
  • Write a program to generate factorial of a number
  • Write a program to find HCF of two given numbers

Module 17: Functions in Python

  • Functions and reusability
  • Defining functions
  • Function arguments and return values
  • Scope of a variable

Module 18: Modules in Python

  • Introduction to Python modules
  • Python program files as modules
  • Modules as namespaces and modular program design
  • Loading modules using import statement
  • Importing module members in current namespace
  • Python standard library overview


  • Write a function to compute simple interest and compound interest
  • Write a function to compute the determinant of a quadratic equation based on the coefficients passed as arguments
  • Implement a module named mathtools that provides functions – factorial, is_prime, gen_primes, fibonacci

Module 19: Working with Strings

  • String literal representations
  • String operators – +, *, []
  • String indexing and slicing
  • The len() function
  • Strings as immutable objects
  • Membership operator: in
  • Traversing a string

Module 20: String methods

  • String content validation
  • The isalpha(), isdigit(), isalnum(), isspace(), isprintable methods
  • String case conversion
  • upper(), lower(), capitalize(), title(), swapcase() methods
  • Substring search and match methods:
  • startswith(), endswith()
  • find(), index(), count()
  • Strip, split and join methods:
  • strip(), lstrip(), rstrip()
  • split(), splitlines(), join()

Module 21: String formatting

  • Using the string format operator – %
  • Using the string .format() method
  • Using f-strings from Python 3.6+

Module 22: Tuples and Lists

  • Introduction to Tuples and Lists
  • Tuples Vs Lists
  • Common operations
    • Concatenation, Repetition, Indexing and Slicing
    • Common methods: .index() and .count()
  • Nested collections using Tuples and Lists
  • Conversion between Tuples and Lists

Module 23: List operations

  • List index and slice assignments
  • Appending and Extending to a list
  • .append(), .extend()
  • Inserting items and removing items of a list
  • .insert(), .pop(), .remove(), .clear()
  • Replicating a list
  • .copy(), copy.deepcopy()
  • In-place sorting and reversing a list
  • .sort(), .reverse()

Module 24: Builtin list and tuple helpers

  • Iteration helpers
  • range(), zip(), enumerate(), reversed(), sorted()
  • Reduction functions
  • sum(), min(), max(), all(), any()

Module 25: Sets in Python

  • Introduction to set
  • Creating sets using literal notation and constructor expression
  • Features and rules of a set
  • Set operations: union, intersection, difference, subset and superset
  • Set vs List: differences and use-cases
  • An overview on frozenset

Module 26: Dictionaries in Python

  • Introduction to dictionaries
  • Creating dictionaries
  • Basic dictionary operations
  • Traversing items of a dictionary
  • Dictionary methods
  • .keys(), .values(), .items()
  • .copy(), .clear()
  • .pop(), .popitem(), .update()
  • .get(), .setdefault(), .fromkeys()


  • Write a function to return a list of indices of each occurrence of a given value in a list
  • Write a function to compute the sum of all odd numbers in a given list
  • Write a function to extract and return a list of prime numbers from a given list input list
  • Write a function to return the first ‘n’ large numbers in a given list
  • Write a function to return a median of a given list of numbers
  • Write a program to repetitively prompt for email address as user input and store the username as a list of values in a dictionary based on keys that represent the domain name of the email address
  • Write a function to count the frequency of occurrence of each word in a paragraph passed as a string input and return a dictionary of keys representing each word and value being the frequency of occurrence of that word.

Module 27: File I/O in Python – Part 1

  • Introduction to files and filesystems
  • Types of files
  • File I/O in text mode and binary mode
  • Understanding str vs bytes objects
  • Reading text files
    • Using the with statement for opening files
    • The .read(), .readline() and .readlines() method
    • File as an iterable object
  • Reading binary files
    • Use-cases and limitations

Module 28: File I/O in Python – Part 2

  • Writing text files
    • The write mode vs append mode
    • the .write() and .writelines() method
  • Writing to binary files
  • Random I/O using .seek() and .tell() methods
  • Using the pickle module to serialize and unserialize data


  • Implement a simple user management module that manages user records in a file
    • Allow adding a new user record, but raise an error if the username already exists
    • Allow removal of an existing user record, bur raise an error if the username does not exit
    • Allow modifying user details in the user record
    • Provide a function to authenticate a user by verifying the credentials of the user record stored in the file

Module 29: Handling Exceptions in Python

  • Syntax Errors vs Runtime Errors
  • Builtin Errors and their meaning
  • Raising Errors using raise statement
  • Raising AssertionError using assert statement
  • Handling Runtime errors gracefully using the tryexcept statements
  • The usage of else and finally clauses in try statements

Module 30: The stack data-structure

  • Introduction to Stack
  • Stack operations: push(), pop(), peek(), is_empty(), is_full()
  • Practical use-cases of stack in programming
  • Python lists as a stack datastructure
  • Notations for arithmetic expressions
  • Conversion from infix to postfix notation
  • Evaluation of a postfix expression

Module 31: The queue data-structure

  • Introduction to Queue
  • Queue operations: enqueue(), dequeue(), peek(), is_empty(), is_full()
  • Practical use-cases of queue in programming
  • Python lists as a queue datastructure
  • Queue Vs Deque
    Implementing a Deque using Python list
  • Limitations of using a python list as a queue
  • Using collections.deque in python

Module 32: Introduction to Sort algorithms and Bubble sort

  • Introduction to Sorting
  • An overview on various sorting algorithms
  • Simple sorting algorithms
  • Bubble sort
  • Implementing bubble sort algorithm in Python
  • Understanding time complexity of algorithms and the Big-O notation

Module 33: Selection sort, Insertion sort and more

  • Understanding the selection sort algorithm
  • Implementing selection sort using Python
  • Understanding the insertion sort algorithm
  • Implementing insertion sort using Python
  • Comparing bubble sort, selection sort and insertion sort

Module 34: Searching algorithms

  • Introduction to search algorithms
  • Understanding Linear search with examples
  • Understanding Binary search with examples
  • Understanding Hash search with examples

Module 35: Data Representation and Analytics

  • Introduction to Data Representation
  • Structured and Unstructured data
  • Data scraping and cleansing
  • Data collection and storage
  • Common Data storage formats:
    • CSV, JSON, XML, Proprietary/Opaque formats
    • Database Storage
  • Data processing techniques
  • Data Analytics: basic statistical techniques


  • Write a program to analyze a CSV file representing the daily sales of a retail store for the last 5 years and print the following details:
    • The most profitable months on average in the last 5 years
    • The most sold product in the last 2 years
    • Net profit in the last year
    • The year with highest sales
    • The top 5 list of loss-making products

Module 36: Introduction to Database Management Systems

  • Introduction to Database Management Systems
  • Limitations with files for storing structured data
    • Access difficulty
    • Data redundancy issues
    • Data inconsistency issues
    • Data isolation issues
    • Data dependency issues
    • Data access control issues
  • File System vs DBMS
  • Keys concepts in DBMS
    • Database Schema
    • Data Constraints
    • Meta-data or Data Dictionary
    • Database Instance
    • Database Query
    • Database Manipulation
    • Database Engine

Module 37: Relational Databases

  • Relational Data Model and RDBMS
  • Attribute, Tuple, Domain, Degree and Cardinality
  • Three important properties of a Relation
  • Keys in a relational databases
    • Candidate Key
    • Primary Key
    • Composite Primary Key
    • Foreign Key

Module 38: Structured Query Language

  • Introduction to SQL and SQL compliant RDBMS
  • Introduction to MySQL – an open source client-server RDBMS
  • Common MySQL Attribute Data Types
  • Common MySQL Attribute Constraints
  • Data Definition Language (DDL)

Module 39: SQL for Data Manipulation

  • Inserting records to tables using INSERT INTO
  • Updating records in a table using UPDATE
  • Replacing records in a table using REPLACE INTO
  • Deleting records in a table using DELETE FROM
  • Fetching records using SELECTFROM

Module 40: SQL for Data Query

  • Using SELECT statement
    • Retrieve selected columns
    • Renaming of selected columns during retrieval
    • Retrieve distinct records
    • Filtering records using WHERE clause
    • Using membership operator in filters
    • Sorting records output using ORDER BY clause
    • Handling NULL values
    • Substring pattern matching in filters

Module 41: SQL Functions

  • Math Functions
  • String Functions
  • Date and Time Functions
  • Aggregate Functions
  • Using the GROUP BY clause in SELECT statement

Module 42: Set Operations on Relational Data

  • Performing Table Join operations


  • Create a database to represent student information in a school that provides access to the following:
    • Student enrollment details that include student’s grade/class, subject stream, class teacher and student-id and contact number
    • Student’s attendance details daywise and class-wise
    • Student’s test and exam score
    • Student’s enrollment into extra-curricular activities
    • Student’s achievements and awards in class and extra-curricular activities
  • Insert dummy records in the database for 50 students
  • Practice the following operations
    • Changing a given student’s grade/class
    • Changing a given student’s contact number
    • Deleting a student record safely from the database
    • Retrieve student records for those who have full attendance
    • Retrieve student records for those who have scored highest marks in each grade
    • Retrieve student records for those with awards in extra-curricular activities
    • Find out the average strength of students in a given class/grade

Module 43: Computer networks – Part 1

  • Introduction to Computer Networks
  • History and Evolution of Computer Networks
  • Types of Networks: PAN, LAN, MAN, WAN
  • Networking Devices:
    • Modems, Ethernet, WLAN
    • Repeater, Hub, Switch, Router, Gateway
  • Networking Topologies:
    • Mesh Networks
    • Token Ring Networks
    • Bus Topology Networks
    • Star Topology Networks
    • Tree Networks

Module 44: Computer networks – Part 2

  • Identifying nodes in a computer network
    • MAC Address
    • IP Address (IPv4 and IPv6)
  • The Internet and VPN
    • The high-level Internet architecture
    • The World-Wide-Web (WWW)
      • HTTP / HTTPS protocol
      • URI and URL
    • The Domain Naming System (DNS)
    • The Public Internet vs VPN

Module 45: Data Communication

  • Introduction to Data Communication
  • Data Communication terms and parts
    • Sender, Reciever and Communication Media
    • Message and Protocols
    • Request, Response, Handshake and Flow-control
  • Measuring Capacity of communication media
    • Transmission Bandwidth
    • Data Transfer Rate
  • Types of data communication:
    • Simplex, Half-duplex and Full-duplex communication
  • Switching techniques
    • Circuit Switching, Packet Switching
  • Transmission Media
    • Wired Media
    • Wireless Media

Module 46: Communication Protocols

  • An overview on ISO/OSI stack
  • An overview on TCP/IP stack
  • The Point-to-Point Protocol (PPP)
  • Application layer Protocols
    • HTTP and HTTPS
    • FTP, Telnet, SSH and SFTP
    • SMTP, POP3 and IMAP

Module 47: Computer and Network Security

  • Threats and Prevention
  • Malware: Virus, Worms, Trojan, Spyware, Adware, Keyloggers and Ransomware
  • Modes of Malware distribution
  • Combating Malware
  • Antivirus
  • Spam
  • Cookies
  • Firewall
  • Hackers and Crackers
  • Network security threats
    • DoS and DDoS attacks
    • Network intrusion attacks
    • Snooping and Eavesdropping
  • Introduction
  • Artificial Intelligence (AI)
  • Big Data and Data Analytics
  • Internet of Things (IoT)
  • Virtualization, Containerization, Infrastructure Automation and Cloud Computing
  • Grid Computing
  • Blockchains

Module 49: Societal Impact

  • Introduction
  • Digital Footprints
  • Digital Society and Netizen
  • Net Etiquettes
  • Communication Etiquettes
  • Social Media Etiquettes
  • Data Protection
  • Intellectual Property Right (IPR) and IPR Violations
  • Public Access and Free/Open Source Software
  • Cyber crime
  • Hacking
  • Phishing and Fraud Emails
  • Ransomware
  • Combatting and Preventing Cyber crime
  • Indian Information Technology Act (IT Act)
  • Health and Safety concerns

Module 50: Project Based Learning

  • Introduction
  • Approaches for solving projects
  • Teamwork
  • Project descriptions
  • Delegation of work
  • Software Development Practices:
    • Agile Methodologies (XP, TDD, SCRUM, CRC, UIFD)
  • Collaborating with teams
  • Managing bugs and issues
  • Contributing to Open Source projects

Monthly Course fee: ₹3000 INR (for eight months to be paid by 5th of each month)
Or Total Course fee: ₹24000 INR  (to be paid in advance for enrollment)

How to enroll ?

In order to enroll to this training class, you can fill in the form below registering your interest with the required details.

You will receive an acknowledgement email from registrations@slashprog.com once you submit the form. In this email, we will provide you with the details for paying the course fee including payment links if you chose “Pay via Stripe” or UPI/NEFT details if you chose UPI/NEFT payment option.

Once we receive the payment, we will reply back with the confirmation of your training registration and provide you links to connect using Google Meet along with the exact schedule for the classes by email.

If you have any further queries, you can email us directly to contact@slashprog.com

Kindly fill in the following details to enroll to this training class.

Kindly select your preferred payment method from below