# CBSE Class 11th Syllabus

**Optional for the academic year 2018-19 and mandatory for the academic year 2019-20 onwards**

## CBSE Distribution of Mark

**Unit 1: Programming and Computational Thinking (PCT-1) (70 Theory + 60 Practical)**

Basic computer organisation: describe a computer system and mobile system, CPU, memory, hard disk, I/O, battery, power, transition from a calculator to a computer

Familiarization with the basics of Python programming: a simple “hello world” program, process of writing a program, running it, and print statements; simple data-types: integer, float, string

Introduce the notion of a variable, and methods to manipulate it (concept of L-value and R-value even if not taught explicitly)

Knowledge of data types and operators: accepting input from the console, assignment statement, expressions, operators and their precedence.

Conditional statements: if, if-else, if-elif-else; simple programs: e.g.: absolute value, sort 3 numbers, divisibility.

Notion of iterative computation and control flow: for, while, flowcharts, decision trees and pseudo code; write a lot of programs: interest calculation, EMI, tax calculation (examples from GST), standard deviation, correlation

Lists and dictionary: finding the maximum, minimum, mean; linear search on a list of numbers, and counting the frequency of elements in a list using a dictionary.

Text handling: compare, concat, and substring operations.

Introduction to Python modules: creating and importing.

**Unit 2: Data Handling (DH-1) (30 Theory + 20 Practical)**

Introduction to Python Pandas

Introduction to data structures in Pandas: Series, and Data Frame

Operations on a Series: head, tail, vector operations

Data Frame operations: create, display, iteration, select column, add column, delete column

Binary operations in a Data Frame: add, sub, mul, div, radd, rsub

Matching and broadcasting operations

Missing data and filling values.

Comparisons, Boolean reductions, comparing Series, and combining Data Frames.

Transfer data between CSV files/SQL databases, and Data Frame objects.

**Unit 3: Data Management (DM-1) (30 Theory + 20 Practical)**

Relational databases: idea of a database and the need for it, relations, keys, primary key, foreign key;

Use SQL commands to create a table, keys, and foreign keys; insert/delete an entry, delete a table.

Basic SQL: select, project, and join; indexes, and a lot of in-class practice.

**Unit 4: Society, Law and Ethics (SLE-1) – Cyber safety (10 Theory)**

Cyber safety: safely browsing the web, identity protection, confidentiality, social networks, cyber trolls and bullying

Appropriate usage of social networks: spread of rumours, and common social networking sites (Twitter, LinkedIn, and Facebook) and specific usage rules.

Safely accessing web sites: adware, malware, viruses, Trojans

Safely communicating data: secure connections, eavesdropping, and phishing and identity verification.

# CBSE Practical Syllabus

**Programming in Python:** At least the following Python concepts should be covered in the lab sessions: expressions, conditionals, loops, list, dictionary, and strings. The following are some representative lab assignments.

Find the largest and smallest numbers in a list.

Find the third largest number in a list.

Find the sum of squares of the first 100 natural numbers.

Find whether a string is a palindrome or not.

Given two integers x and n, compute xn.

Compute the greatest common divisor and the least common multiple of two integers.

Test if a number is equal to the sum of the cubes of its digits. Find the smallest and largest such numbers in the range of 100 to 1000.

**Data Management:** SQL Commands At least the following SQL commands should be covered during the labs: create, insert, delete, select, and join. The following are some representative assignments.

Create a student table with the student id, name, and marks as attributes where the student id is the primary key.

Insert the details of a new student in the above table.

Delete the details of a particular student in the above table.

Use the select command to get the details of the students with marks more than 80.

Create a new table (name, date of birth) by joining two tables (student id, name) and (student id, date of birth).

Create a new table (order ID, customer Name, and order Date) by joining two tables (order ID, customer ID, and order Date) and (customer ID, customer Name, contact Name, country).

**Data Handling:** The following are some representative lab assignments.

Subtract the mean of a row from each element of the row in a Data Frame.

Filter out rows based on different criteria such as redundant rows (same data as the row above or below).

Find the sum of each column, or find the column with the lowest mean.

Locate the 3 largest values in a data frame.

Replace all negative values in a data frame with a 0.