# AS PER CBSE SYLLABUS
Unit 1: Programming and Computational Thinking
- Revision of Class XI (Python Programming)
- Tokens in Python
- Barebones of Python Programs
- Data Types (Mutable and Immutable)
- Expression evaluation (Arithmetical, Logical, Relational, etc.)
- Conditional statement (if, if-else, if-elif, nested if)
- Looping Statement (for, while)
- Jump Statement (break, continue)
- Nested Loops and Loop Else statement
- Strings (Traversing, String Operators, String Slices, String Functions)
- Lists (Lists vs. Strings, List manipulation, List Functions)
- Tuples (Tuples vs. Lists, Tuple Operations, Tuple Functions and Methods)
- Dictionaries (Accessing elements in Dictionary, Characteristics of Dictionary)
- Sorting Techniques (Bubble, Insertion)
- Functions
- Defining Functions
- Passing Parameters
- Returning values from Functions
- Scope of variables
- Python Libraries
- Library
- Importing Modules in a Python Program
- Using standard Library functions and modules
- Creating user defined Library, packages
- Importing Libraries
- File handling
- Data Files
- Opening and Closing of Files
- Reading and writing from/onto files
- Standard Input, Output, Error Streams
- Recursion
- Recursion function
- Binary Search
- Recursive Binary Search
- Recursion vs Iteration
- Algorithmic Efficiency
- Computational Complexity
- Estimating Complexity of Algorithms (Big-O Notation)
- Best, Average and Worst Case Complexity
- Data Visualization using Pyplot
- Data Visualization
- Use of Pyplot of Matplotlib Library
- Creating Charts with Matplotlib Library’s pyplot Interface (Line, Bar, Pie)
- Customizing the Plot (Adding a Title, Setting X and Y label, Limits, Ticks, Adding Legends)
- Comparing chart types
- Data Structures
- Linear Lists
- Searching, Insertion, Deletion of an element
- Sorting a Linear List
- Nested (2-D) List
- Stacks
- Implementing Stack in Python
- Stack Applications
- Queues
- Implementing Queue in Python
- Variations in Queues
- Queue Applications
Unit 2: Computer Networks (CN)
- Computer Networks
- Types of Networks
- Types based on Geographical Spread, Component Roles, Communication Channel
- Network Devices
- NIC, WiFi Card, Hub, Switch, Bridge, Router, Gateway, Access Point
- The Cloud
- Types of Cloud
- Internet of Things (IoT)
- Enabling Technologies for IoT
- Devices that can form IoT
- Challenges and Risks
- Modulation Techniques
- AM, FM, etc.
- Collision in Wireless Networks (CSMA/CA)
- TCP/IP (Network Congestion and Retransmission in TCP)
- Address on Network (DNS)
- Basic Network Tools
- Ping
- Traceroute, Tracert
- Nslookup
- Ipconfig
- Whois
- Speed Test
- Working of e-mail
- Secure Connections (HTTPS, SSL)
- Network Applications
Unit 3: Data Management
- MySQL and SQL
- Accessing database in MySQL
- Creating Tables and Inserting data into Tables
- Creating Tables with SQL Constraints
- Select Command
- Retrieving Specific Rows using Where (Applying Conditions)
- Condition Based on Pattern Match
- Ordering Records in Result
- Types of SQL Functions, Aggregate Functions
- Grouping Result (Group By), Nested Groups
- Having Clause (Placing Condition on Groups)
- Modifying Data in a Table, Deleting Data from a Table, Dropping a Table
- SQL Joins
- Index in Database
- Creating Django based Web Application
- Web Framework
- Installing Django in Virtual Environment
- Activating virtual Environment
- Creating Models, Views and Templates
- Writing Dictionary Data to CSV and Text Files
- Get and Post Request
- Interface Python with MySQL
- Connecting to MySQL from Python
- Parameterized Queries
- Performing Insert and Update Queries
Unit 4: Society, Law and Ethics
- Ethical Issues
- Intellectual Property Rights
- Plagiarism
- Digital Property Rights
- Open Source Philosophy and Software Licenses
- Philosophy of Open Source
- Licenses and Domains of Open Source Technology
- Privacy, Online Fraud, Cyber Crime, Computer Forensics
- Cyber Law and IT Act
- Technology and Society
- E-waste Management
- E-waste Disposal Process
- Benefits of e-waste Recycling
- Identity Theft
- Gender and Disability Issues while Teaching and Using Computers