# CBSE Class 12 Computer Science Syllabus 2023 – Chapters, Topics, Weightage

CBSE Class 12 Computer Science Syllabus 2023, Chapter, Topics has been revealed. Class 12 students of 2021, who are looking for the Information of  Class XII CBSE Computer Science Syllabus 2023 may not have to worry about it. As we have provided the Information for Computer Science Syllabus of Central Board of Secondary Education (CBSE) for Class 12 of 2021 (सीबीएसई कक्षा 12 कंप्यूटर विज्ञान पाठ्यक्रम) in this article. Also, we have provided the pdf file for the students to Download PDF of CBSE 12th Class Computer Science Syllabus for 2021. After going through this article, Students needs to immediately start their preparation.

## CBSE Class 12 Computer Science Syllabus 2023

1. Prerequisites

Computer Science- Class XI

1. Learning Outcomes

Apply the concept of functions.

Ability to use Python libraries.

Apply the concept of file handling.

Ability to use basic data structures: Stacks.

Explain the basics of computer networks.

Ability to use connectivity between Python and SQL.

1. Distribution of Marks:
 Unit No. Unit Name Theory Marks Periods Theory Practical I Computational Thinking and Programming – 2 40 50 30 II Computer Networks 10 10 — III Database Management 20 20 10 Total 70 80 40

Unit I: Computational Thinking and Programming – 2

• Revision of the basics of Python covered in Class XI.
• Functions: scope, parameter passing, mutable/immutable properties of data objects, passing strings, lists, tuples, dictionaries to functions, default parameters, positional parameters, return values, functions using libraries: mathematical and string functions.
• File handling: Need for a data file, Types of file: Text files, Binary files, and CSV (Comma separated values) files.
• Text File: Basic operations on a text file: Open (filename – absolute or relative path, mode), Close a text file, Reading and Manipulation of data from a text file, Appending data into a text file, standard input/output, and error streams, relative and absolute paths.
• Binary File: Basic operations on a binary file: Open (filename – absolute or relative path, mode), Close a binary file, Pickle Module – methods load and dump; Read, Write/Create, Search, Append and Update operations in a binary file.
• CSV File: Import csv module, functions – Open, Close a csv file, Read from a csv file and Write into a csv file using csv.reader ( ) and csv.writerow( ).
• Using Python libraries: Import Python libraries.
• Data-structures: Lists as covered in Class XI, Stacks – Push, Pop using a list.

Unit II: Computer Net

• Evolution of Networking: ARPANET, Internet, Interspace Different ways of sending data across the network with reference to switching techniques (Circuit and Packet switching).
• Data Communication terminologies: Concept of Channel, Bandwidth (Hz, KHz, MHz) and Data transfer rate (bps, Kbps, Mbps, Gbps, Tbps).
• Network devices: Modem, RJ45 connector, Ethernet Card, Router, Switch, Gateway, WiFi card.
• Network Topologies and types: Bus, Star, Tree, PAN, LAN, WAN, MAN.
• Network Protocol: TCP/IP, File Transfer Protocol (FTP), PPP, HTTP, SMTP, POP3, Remote Login (Telnet) and Internet, Wireless / Mobile Communication protocol such as GSM, GPRS and WLL.
• Mobile Telecommunication Technologies: 1G, 2G, 3G, 4G and 5G; Mobile processors;
• Electronic mail protocols such as SMTP, POP3, Protocols for Chat and Video Conferencing: VoIP, Wireless technologies such as Wi-Fi and WiMax
•  Network Security Concepts:
• Threats and prevention from Viruses, Worms, Trojan horse, Spams Use of Cookies, Protection using Firewall, https; India IT Act, Cyber Law, Cyber Crimes, IPR issues, hacking.
• Introduction To Web services: WWW, HyperText Markup Language (HTML), Extensible Markup Language (XML); Hyper Text Transfer Protocol (HTTP); Domain Names; URL; Website, Web browser, Web Servers; Web Hosting.

Unit III: Database Management

Database Concepts: Introduction to database concepts and its need.

Relational data model: Concept of the domain, relation, tuple, attribute, degree, cardinality, key, primary key, candidate key, alternate key, and foreign key;

Structured Query Language:

General Concepts: Advantages of using SQL, Data Definition Language and Data Manipulation Language;

Data Types: number / decimal, character / varchar / varchar2, date;

SQL commands covered in class XI (2019-20)

SELECT, DISTINCT, FROM, WHERE, IN, BETWEEN, LIKE, NULL /

IS NULL, ORDER BY, GROUP BY, HAVING;

SQL functions: SUM ( ), AVG ( ), COUNT ( ), MAX ( ) and MIN ( );

Joins: equi-join and natural join

Interface of Python with an SQL database –

-Connecting SQL with Python

– Creating Database connectivity Applications

– Performing Insert, Update, Delete queries

– Display data by using fetchone(),fetchall(),rowcount

4. Practicals

 S. No Area Marks (Total=30) 1 Lab Test: 1. Python program (60% logic + 20% documentation + 20% code quality) 2. Small Python program that sends a SQL query to a database and displays the result. A stub program can be provided. 7           5 2 Report file: Minimum 20 Python programs. Out of at least 4 programs should send SQL commands to a database and retrieve the result 7 3 Project (that uses the concepts that have been learned in Class 11 and 12) 8 4 Viva voce 3

## Class 12 CBSE Computer Science Syllabus 2023

1. Prerequisites
Computer Science – Class XI
1. Learning Outcomes

Learn file handling.

Learn about the concept of efficiency in algorithms and computing in general.

Connect a Python program with an SQL database, and learn aggregation functions in SQL.

Understand the concept of functions and recursion.

Learn how to create and use Python libraries.

Learn basic data structures: lists, stacks, and queues.

Get a basic understanding of computer networks: network stack, basic network hardware, basic protocols, and basic tools.

Have a clear understanding of cyber ethics and cybercrime. Understand the value of technology in societies, gender and disability issues, and the technology behind biometric ids.

Distribution of Marks in CBSE Class 12 Computer Science New Syllabus 2023-20

 Unit No. Unit Name Marks 1. Programming and Computational Thinking – 2 30 Marks 2. Computer Networks 15 Marks 3. Data Management – 2 15 Marks 4. Society, Law, and Ethics – 2 10 Marks 5. Practicals 30 Marks Total Marks 100 Marks

Unit – 1 : Programming and Computational Thinking (PCT-2) : (80 Theory + 70 Practical)

• Revision of the basics of Python
• Functions: scope, parameter passing, mutable/immutable properties of data objects, pass arrays to functions, return values, functions using libraries: mathematical, and string functions.
• File handling: open and close a file, read, write, and append to a file, standard input, output, and error streams, relative and absolute paths.
• Data visualization using Pyplot: line chart, pie chart, and bar chart.
• Data-structures: lists, stacks, queues.
• Recursion: simple algorithms with recursion: factorial, Fibonacci numbers; recursion on arrays: binary search
• Using Python libraries: create and import Python libraries
• The idea of efficiency: performance defined as inversely proportional to the wall clock time, count the number of operations a piece of code is performing, and measure the time taken by a program. Example: take two different programs for the same problem, and understand how the efficient one takes less time.

Unit – 2: Computer Networks (CN): (30 Theory + 10 Practical)

• Structure of a network: Types of networks: local area and wide area (web and internet), new technologies such as cloud and IoT, public vs. private cloud, wired and wireless networks; the concept of a client and server.
• Basic network tools: traceroute, ping, ipconfig, nslookup, whois, speed-test.
• Network devices such as a NIC, switch, hub, router, and access point.
• Network stack: amplitude and frequency modulation, a collision in wireless networks, error checking, and the notion of a MAC address, the main idea of routing. IP addresses: (v4 and v6), routing table, router, DNS, and web URLs, TCP: the basic idea of retransmission, and rate modulation when there is congestion (analogy to a road network), Protocols: 2G, 3G, 4G, WiFi. What makes a protocol have a higher bandwidth?
• Application layer: HTTP (basic idea), working of email, secure communication: encryption and certificates (HTTPS), network applications: remote desktop, remote login, HTTP, FTP, SCP, SSH, POP/IMAP, SMTP, VoIP, NFC.

Unit – 3: Data Management (DM-2): (20 Theory + 20 Practical)

• Write a minimal Django based web application that parses a GET and POST request, and writes the fields to a file – flat-file and CSV file.
• SQL commands: aggregation functions – having, group by, order by.
• Interface Python with an SQL database

Unit – 4: Society, Law, and Ethics (SLE-2) (10 Theory)

• Intellectual property rights, plagiarism, digital rights management, and licensing (Creative Commons, GPL, and Apache), open-source, open data, privacy.
• E-waste management: proper disposal of used electronic gadgets.
• Identity theft, unique ids, and biometrics.
• Privacy laws, fraud; cyber-crime- phishing, illegal downloads, child pornography, scams; cyber forensics, IT Act, 2000.
• Technology and society: understanding of societal issues and cultural changes induced by technology.
• Gender and disability issues while teaching and using computers.

Practical CBSE class 12 Computer Science New Syllabus 2023-20

 S.No. Unit Name Marks 1. Lab Test (10 marks) Python program (60% logic + 20% documentation + 20% code quality) 07 Marks Small Python program sends a SQL query to a database and displays the result. A stub program can be provided. 03 Marks 2. Report File + viva(9 marks) Report file: Minimum 21 Python programs. Out of this at least 4 programs should send SQL commands to a database and retrieve the result; at least 1 program should implement the web server to write user data to a CSV file. 07 Marks Viva-voce based on the report file 02 Marks 3. Project + viva (11 marks) Project (that uses most of the concepts that have been learned) 08 Marks Project viva voce 03 Marks

No. Unit Name Marks

Programming in Python :

• Recursively find the factorial of a natural number.
• Read a file line by line and print it.
• Remove all the lines that contain the character `a’ in a file and write it to another file.
• Write a Python function sin(x, n) to calculate the value of sin(x) using its Taylor series expansion up to n terms. Compare the values of sin(x) for different values of n with the correct value.
• Write a random number generator that generates random numbers between 1 and 6 (simulates a dice).
• Write a recursive code to find the sum of all elements of a list.
• Write a recursive code to compute the nth Fibonacci number.
• Write a Python program to implement a stack and queue using a list of data-structure.
• Write a recursive Python program to test if a string is a palindrome or not.
• Write a Python program to plot the function y = x2 using the pyplot or matplotlib libraries.
• Create a graphical application that accepts user inputs, performs some operation on them, and then writes the output on the screen. For example, write a small calculator. Use the tkinter library.
• Open a webpage using the urllib library.
• Compute EMIs for a loan using the numpy or scipy libraries.
• Take a sample of 10 phishing e-mails and find the most common words.
• Data Management: SQL and web-server
• Find the min, max, sum, and average of the marks in a student marks table.
• Find the total number of customers from each country in the table (customer ID, customer name, country) using group by.
• Write a SQL query to order the (student ID, marks) table in descending order of the marks.
• Integrate SQL with Python by importing the MySQL module
• Write a Django based webserver to parse a user request (POST), and write it to a CSV file.

Project for CBSE class 12 Computer Science New Syllabus 2023-20
The aim of the class project is to create something that is tangible and useful. This should be done in groups of 2 to 3 students and should be started by students at least 6 months before the submission deadline. The aim here is to find a real-world problem that is worthwhile to solve. Students are encouraged to visit local businesses and ask them about the problems that they are facing.

For example, if a business is finding it hard to create invoices for filing GST claims, then students can do a project that takes the raw data (list of transactions), groups the transactions by category, accounts for the GST tax rates, and creates invoices in the appropriate format. Students can be extremely creative here. They can use a wide variety of Python libraries to create user-friendly applications such as games, software for their school, software for their disabled fellow students, and mobile applications, Of course, to do some of this projects, some additional learning is required; this should be encouraged. Students should know how to teach themselves.

If three people work on a project for 6 months, at least 500 lines of code are expected. The committee has also been made aware of the degree of plagiarism in such projects. Teachers should take a very strict look at this situation, and take very strict disciplinary action against students who are cheating on lab assignments, or projects, or using pirated software to do the same. Everything that is proposed can be achieved using absolutely free, and legitimate open-source software.