CBSE Class 12 Computer Science Syllabus 2023-24

CBSE Computer Science Syllabus Class 12 for the Academic Year 2023-24

Class 12 is a challenging year in any student’s life. It marks the end of school life for a student and they look forward to starting life as a college student where they study subjects of their choice. However, before that, they have to put in a lot of hard work and dedication to score well in the Class 12 board exams. Computer Science is a crucial subject for the students appearing for CBSE Class 12 board exams. To score well in the Computer Science exam, it is absolutely necessary that the students are thorough with the CBSE Class 12 Computer Science Syllabus. The CBSE Class 12 students have to be totally well versed with all the topics that are given in the CBSE Syllabus.

CBSE Class 12 Syllabus for Other Subjects:

The CBSE Class 12 curriculum covers a broad range of topics, including maths, physics, chemistry, biology, english, hindi, political science, and more. There is a distinct syllabus for each course that outlines the themes, ideas, and theories that students must study and comprehend. In order to give students a thorough and well-rounded education that would equip them for further study and future employment, the curriculum was created.

CBSE Class 12 Syllabus

  • CBSE Class 12 Computer Science Syllabus

Computer Science Class 12 Syllabus for 2023-24 

We have provided the revised Class 12 Computer Science Syllabus for the students here on our website. In the updated version, some of the topics have been removed from the CBSE Syllabus

Unit Number Name Topics
Unit 1 Computational Thinking and Programming-2
  • Recursion
  • Idea of Efficiency
  • Data-structures
Unit 2 Computer Networks
  • Web Scripting Client Side
  • Payment purchases via e-commerce using online banking, mobile banking, payment applications, and services
Unit 3 Database Management
  • Create Table
  • Drop Table
  • Alter Table
  • Update
  • Set
  • Insert
  • Delete

Computer Syllabus for Class 12 CBSE

While preparing for the Computer Science final examination,the students are advised to revise the CBSE Syllabus for Class 11 Computer Science as well as diligently cover all the  concepts of Class 12 CBSE Syllabus. This is because the Class 11 & 12 Computer Science concepts are interlinked. A detailed preparation of the Computer Science syllabus of both classes is required for scoring well in the board examination. 

The Following is What the Computer Science Syllabus for Class 12 CBSE looks like:

Unit 1 – Programming and computational thinking – 2
  • Revising Python
  • Functions 
  • Introduction to files, text file, binary file, CSV files
  • File Handling
  • Using Python libraries
  • Recursion
  • Idea of efficiency
  • Data Visualisation using Pyplot
  • Data structures
Unit 2 – Computer Networks
  • Data communication terminologies
  • Evolution of networking:
  • Structure of a network
  • Transmission media
  • Network devices
  • Network Stack
  • IP addresses
  • TCP
  • Protocols
  • Basic Network tools
  • Application layer
Unit 3 – Data Base Management -2
  • Writing a minimal Django based web application
  • Interface Python with SQL database
  • SQL commands
Unit 4 – Practical Component
  • Database concepts
  • Programming in Python
  • Relational Data model
  • Data Management in SQL and web servers
  • Aggregate functions (max, min, avg,sum, count), group by having clause, joins 
  • Structured Query Language
  • Project work (coding)

Detailed Overview of Each Unit:

Unit 1 

  • Revision of Python basics of Class 11
  • Scope and usage of functions involving tuples, list, default and positional parameters, passing parameters, libraries, return values, etc.
  • Types of files and handling.
  • Basic operations are performed on text files like open, close, manipulate, read data and append into a text file along with absolute and relative paths.
  • Basic operations performed on binary files open, close, read, search, write and use csv.reader() and csv.writerow() functions.
  • Importing libraries using python
  • Data structures like lists and stacks, including push and pop.

Unit 2 

  • ARPANET and Internet about the evolution of networking.
  • Terminologies used in data communication.
  • Twisted pair cable, coaxial cable, optical fibre, microwave, radio, infrared, and satellite link used as transmission media.
  • Introduction and types of network topologies.
  • Network protocols, mobile telecommunication technologies and mobile processors.
  • Protocols for video conferencing and chats.
  • Concept of network security.
  • Web services like WWW, HTML, XML, http, URL  and domain names.
  • Websites, web hosting, web browser and web 8 servers.

Unit 3

  • Concept of the database.
  • Relational data model including the concept of domain, tuple, relation, attribute, degree and cardinality
  • Types of keys (primary, foreign, candidate and alternate)
  • Concept, advantage, data manipulation and definition language in Structured Query Language (SQL).
  • Types of data (number, character, decimal, varchar, varchar 2 and date)
  • Revision of SQL commands that were studied in class 11th.
  • Equi-join and natural join.
  • The interface of python with an SQL database.

Class 12 Computer Science Syllabus – Unit Weightage 

The table given below has the Computer Science Syllabus Class 12 with the marks distribution for each unit.

Computer Science Class 12 Syllabus – Weightage Marks

Theory 70 
Practical 30
Total Marks  100

The Following is a Unit Wise Breakdown of the Theory Paper of the Class 12 Computer Science CBSE Syllabus

Unit Wise Breakdown of the Computer Syllabus For Class 12 CBSE

Unit Number Name Marks Theory Practicals
1 Programming and Computational

Thinking and Programming – 2

40 70 25
2 Computer Networks 10 10
3 Data Management 20 20 15
Total 70 80 40


Unit No Unit Name  Term-1  Term-2
I Computational Thinking and Programming – 2 35 5
II Computer Networks 10
III Database Management 20
35 35

 The Following is the Breakdown of the Internal Assessment

  • Python Programming – 7 marks                             
  • Lab Test – 10 marks
  • Python Programme with SQL – 3 marks
  • Database query – 7 marks
Report File 7
Viva-Voce based on the report file 2
Project 8
Viva-Voce based on project 3
Total 30

Practical Details About Class 12th Computer Science Syllabus

Computer science practical exams for Class 12th have been designed in the following way-

No. Practical Marks Distribution – 30 Marks for 1st Term – 15 Marks for 2nd Term – 15
Lab Test
1 Programmes on Python language 8 6 2
2 Questions on SQL queries  4 4
Report File
1 15 python programs based on term 1 syllabus 7 4 3
2 3 python programmes on term 2 syllabus 7 4 3
3 5 sets of SQL queries 7 4 3
4 2 programmes on Python -SQL connectivity 7 4 3
5 Project must be based on the concepts learnt in Class 11 and 12.

(Synopsis to be submitted in term 1 and final coding in term 2

8 3 5
6 Viva-Voce 3 2 1

Outcomes of the Syllabus:

Class 12 Computer Science Syllabus has been developed in a way that it will be very beneficial for the students to get detailed knowledge about computer networks. They will be able to –

  • Handle data structures
  • Use and understand simple Python programmes easily
  • Understand algorithms as well as computing efficiency.
  • Use SQL in connection with Python programmes.
  • Handle files on a computer system easily.

Class 12th Computer Science Syllabus – Benefits

The following are the benefits of the CBSE Class 12 Computer Science Syllabus –

  • The syllabus covers the latest topics that are necessary for the students and it is developed as per the curriculum which has recently been updated by CBSE.
  • The syllabus explains all the relevant concepts well and in detail.

Computer Science CLASS-XI

Code No. 083


1. Learning Outcomes

Student should be able to

  1. develop basic computational thinking
  2. explain and use data types
  3. appreciate the notion of algorithm
  4. develop a basic understanding of computer systems – architecture, operating system and cloud computing
  5. explain cyber ethics, cyber safety and cybercrime
  6. Understand the value of technology in societies along with consideration of gender and disability issues

2. Distribution of Marks

Unit No. Unit Name Marks Periods
Theory Practical
I Computer Systems and Organisation 10 10 10
II Computational Thinking and Programming – 1 45 80 60
III Society, Law and Ethics 15 20 —-
Total 70 110 70
  1. Unit wise Syllabus

Unit I: Computer Systems and Organisation

  • Basic Computer Organisation: Introduction to computer system, hardware, software, input device, output device, CPU, memory (primary, cache and secondary), units of memory (Bit, Byte, KB, MB, GB, TB, PB)
  • Types of software: system software (operating systems, system utilities, device drivers), programming tools and language translators (assembler, compiler & interpreter), application software
  • Operating system (OS): functions of operating system, OS user interface
  • Boolean logic: NOT, AND, OR, NAND, NOR, XOR, truth table, De Morgan’s laws and logic circuits
  • Number system: Binary, Octal, Decimal and Hexadecimal number system; conversion between number systems.
  • Encoding schemes: ASCII, ISCII and UNICODE (UTF8, UTF32)

Unit II: Computational Thinking and Programming – 1

  • Introduction to problem solving: Steps for problem solving (analysing the problem, developing an algorithm, coding, testing and debugging). representation of algorithms using flow chart and pseudo code, decomposition
  • Familiarization with the basics of Python programming: Introduction to Python, features of Python, executing a simple “hello world” program, execution modes: interactive mode and script mode, Python character set, Python tokens (keyword, identifier, literal, operator, punctuator), variables, concept of l-value and r-value, use of comments
  • Knowledge of data types: number (integer, floating point, complex), boolean, sequence (string, list, tuple), none, mapping (dictionary), mutable and immutable data types
  • Operators: arithmetic operators, relational operators, logical operators, assignment operator, augmented assignment operators, identity operators (is, is not), membership operators (in, not in)
  • Expressions, statement, type conversion & input/output: precedence of operators, expression, evaluation of expression, python statement, type conversion (explicit & implicit conversion), accepting data as input from the console and displaying output
  • Errors: syntax errors, logical errors, runtime errors
  • Flow of control: introduction, use of indentation, sequential flow, conditional and iterative flow control
  • Conditional statements: if, if-else, if-elif-else, flowcharts, simple programs: e.g.: absolute value, sort 3 numbers and divisibility of a number
  • Iterative statements: for loop, range function, while loop, flowcharts, break and continue statements, nested loops, suggested programs: generating pattern, summation of series, finding the factorial of a positive number etc
  • Strings: introduction, indexing, string operations (concatenation, repetition, membership & slicing), traversing a string using loops, built-in functions: len(), capitalize(), title(), lower(), upper(), count(), find(), index(), endswith(), startswith(), isalnum(), isalpha(), isdigit(), islower(), isupper(), isspace(), lstrip(), rstrip(), strip(), replace(), join(), partition(), split()
  • Lists: introduction, indexing, list operations (concatenation, repetition, membership & slicing), traversing a list using loops, built-in functions: len(), list(), append(), extend(), insert(), count(), index(), remove(), pop(), reverse(), sort(), sorted(), min(), max(), sum(); nested lists, suggested programs: finding the maximum, minimum, mean of numeric values stored in a list; linear search on list of numbers and counting the frequency of elements in a list
  • Tuples: introduction, indexing, tuple operations (concatenation, repetition, membership & slicing), built-in functions: len(), tuple(), count(), index(), sorted(), min(), max(), sum(); tuple assignment, nested tuple, suggested programs: finding the minimum, maximum, mean of values stored in a tuple; linear search on a tuple of numbers, counting the frequency of elements in a tuple
  • Dictionary: introduction, accessing items in a dictionary using keys, mutability of dictionary (adding a new item, modifying an existing item), traversing a dictionary, built-in functions: len(), dict(), keys(), values(), items(), get(), update(), del, clear(), fromkeys(), copy(), pop(), popitem(), setdefault(), max(), min(), count(), sorted(), copy(); suggested programs : count the number of times a character appears in a given string using a dictionary, create a dictionary with names of employees, their salary and access them
  • Introduction to Python modules: Importing module using ‘import <module>’ and using from statement, Importing math module (pi, e, sqrt, ceil, floor, pow, fabs, sin, cos, tan); random module (random, randint, randrange), statistics module (mean, median, mode)

Unit III: Society, Law and Ethics

  • Digital Footprints
  • Digital society and Netizen: net etiquettes, communication etiquettes, social media etiquettes
  • Data protection: Intellectual Property Right (copyright, patent, trademark), violation of IPR (plagiarism, copyright infringement, trademark infringement), open source softwares and licensing (Creative Commons, GPL and Apache)
  • Cyber-crime: definition, hacking, eavesdropping, phishing and fraud emails, ransomware, preventing cyber crime
  • Cyber safety: safely browsing the web, identity protection, confidentiality, cyber trolls and
  • Safely accessing web sites: malware, viruses, trojans, adware
  • E-waste management: proper disposal of used electronic gadgets
  • Indian Information Technology Act (IT Act)
  • Technology & Society: Gender and disability issues while teaching and using computers

4. Practical

S.No. Unit Name Marks (Total=30)
1. Lab Test (12 marks)
Python program (60% logic + 20% documentation + 20% code quality) 12
2. Report File + Viva (10 marks)
Report file: Minimum 20 Python programs 7
Viva voce 3
3. Project (that uses most of the concepts that have been learnt) (See CS-XII for the rules regarding the projects) 8
  1. Suggested Practical List

Python Programming

  • Input a welcome message and display
  • Input two numbers and display the larger / smaller
  • Input three numbers and display the largest / smallest
  • Generate the following patterns using nested
Pattern-1 Pattern-2 Pattern-3





1 2 3 4 5

1 2 3 4

1 2 3

1 2




  • Write a program to input the value of x and n and print the sum of the following series:

o 1+x+x2+x3+x4+. ……….. xn

o 1-x+x2-x3+x4 ………………………………….. xn

  • x – x2 + x3 – x4 + ………… xn

2 3 4 n

  • x + x2- x3+ x4 ……………………………………. xn

2! 3! 4! n!

  • Determine whether a number is a perfect number, an armstrong number or a
  • Input a number and check if the number is a prime or composite
  • Display the terms of a Fibonacci
  • Compute the greatest common divisor and least common multiple of two
  • Count and display the number of vowels, consonants, uppercase, lowercase characters in
  • Input a string and determine whether it is a palindrome or not; convert the case of characters in a
  • Find the largest/smallest number in a list/tuple
  • Input a list of numbers and swap elements at the even location with the elements at the odd
  • Input a list/tuple of elements, search for a given element in the list/tuple.
  • Input a list of numbers and find the smallest and largest number from the
  • Create a dictionary with the roll number, name and marks of n students in a class and display the names of students who have scored marks above 75.

6. Suggested Reading Material

  • NCERT Textbook for COMPUTER SCIENCE (Class XI)
  • Support Materials on the CBSE

Computer Science CLASS-XII

Code No. 083


  1. Prerequisites

Computer Science- Class XI

2. Learning Outcomes

Student should be able to

  1. apply the concept of
  2. explain and use the concept of file
  3. use basic data structure: Stacks
  4. explain basics of computer
  5. use Database concepts, SQL along with connectivity between Python and

3. Distribution of Marks:

Unit No. Unit Name Marks Periods
Theory Practical


Computational Thinking and Programming – 2 40 70 50
II Computer Networks 10 15
III Database Management 20 25 20
Total 70 110 70
  1. Unit wise Syllabus

Unit I: Computational Thinking and Programming – 2

  • Revision of Python topics covered in Class
  • Functions: types of function (built-in functions, functions defined in module, user defined functions), creating user defined function, arguments and parameters, default parameters, positional parameters, function returning value(s), flow of execution, scope of a variable (global scope, local scope)
  • Introduction to files, types of files (Text file, Binary file, CSV file), relative and absolute paths
  • Text file: opening a text file, text file open modes (r, r+, w, w+, a, a+), closing a text file, opening a file using with clause, writing/appending data to a text file using write() and writelines(), reading from a text file using read(), readline() and readlines(), seek and tell methods, manipulation of data in a text file
  • Binary file: basic operations on a binary file: open using file open modes (rb, rb+, wb, wb+, ab, ab+), close a binary file, import pickle module, dump() and load() method, read, write/create, search, append and update operations in a binary file
  • CSV file: import csv module, open / close csv file, write into a csv file using csv.writer() and read from a csv file using csv.reader( )
  • Data Structure: Stack, operations on stack (push & pop), implementation of stack using list.

Unit II: Computer Networks

  • Evolution of networking: introduction to computer networks, evolution of networking (ARPANET, NSFNET, INTERNET)
  • Data communication terminologies: concept of communication, components of data communication (sender, receiver, message, communication media, protocols), measuring capacity of communication media (bandwidth, data transfer rate), IP address, switching techniques (Circuit switching, Packet switching)
  • Transmission media: Wired communication media (Twisted pair cable, Co-axial cable, Fiber-optic cable), Wireless media (Radio waves, Micro waves, Infrared waves)
  • Network devices (Modem, Ethernet card, RJ45, Repeater, Hub, Switch, Router, Gateway, WIFI card)
  • Network topologies and Network types: types of networks (PAN, LAN, MAN, WAN), networking topologies (Bus, Star, Tree)
  • Network protocol: HTTP, FTP, PPP, SMTP, TCP/IP, POP3, HTTPS, TELNET, VoIP
  • Introduction to web services: WWW, Hyper Text Markup Language (HTML), Extensible Markup Language (XML), 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: relation, attribute, tuple, domain, degree, cardinality, keys (candidate key, primary key, alternate key, foreign key)
  • Structured Query Language: introduction, Data Definition Language and Data Manipulation Language, data type (char(n), varchar(n), int, float, date), constraints (not null, unique, primary key), create database, use database, show databases, drop database, show tables, create table, describe table, alter table (add and remove an attribute, add and remove primary key), drop table, insert, delete, select, operators (mathematical, relational and logical), aliasing, distinct clause, where clause, in, between, order by, meaning of null, is null, is not null, like, update command, delete command, aggregate functions (max, min, avg, sum, count), group by, having clause, joins: cartesian product on two tables, equi-join and natural join
  • Interface of python with an SQL database: connecting SQL with Python, performing insert, update, delete queries using cursor, display data by using fetchone(), fetchall(), rowcount, creating database connectivity applications

5. Practical



Unit Name Marks (Total=30)
1 Lab Test:


1. Python program (60% logic + 20% documentation + 20% code quality)




2. A stub program with Python SQL connectivity must be provided with blanks (4 blanks) to be filled by the student with the desired SQL query. 4
2 Report file:

· Minimum 15 Python programs.

· SQL Queries – Minimum 5 sets using one table / two tables.

· Minimum 4 programs based on Python – SQL connectivity

3 Project (using concepts learnt in Classes 11 and 12) 8
4 Viva voce 3
  1. Suggested Practical List:

Python Programming

  • Read a text file line by line and display each word separated by a #.
  • Read a text file and display the number of vowels/consonants/uppercase/lowercase characters in the
  • Remove all the lines that contain the character ‘a’ in a file and write it to another
  • Create a binary file with name and roll Search for a given roll number and display the name, if not found display appropriate message.
  • Create a binary file with roll number, name and Input a roll number and update the marks.
  • Write a random number generator that generates random numbers between 1 and 6 (simulates a dice).
  • Write a Python program to implement a stack using
  • Create a CSV file by entering user-id and password, read and search the password for given user-

Database Management

  • Create a student table and insert data. Implement the following SQL commands on the student table:
    • ALTER table to add new attributes / modify data type / drop attribute
    • UPDATE table to modify data
    • ORDER By to display data in ascending / descending order
    • DELETE to remove tuple(s)
    • GROUP BY and find the min, max, sum, count and average
  • Similar exercise may be framed for other
  • Integrate SQL with Python by importing suitable

7. Suggested Reading Material

  • NCERT Textbook for COMPUTER SCIENCE (Class XII)
  • Support Materials on the CBSE

8. Project

The aim of the class project is to create something that is tangible and useful using Python file handling/ Python-SQL connectivity. This should be done in groups of two to three 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 these projects, some additional learning is required; this should be encouraged. Students should know how to teach themselves.

The students should be sensitised to avoid plagiarism and violations of copyright issues while working on projects. Teachers should take necessary measures for this.

Please register to view this section

FAQs (Frequently Asked Questions)

1. What are Class 12 students taught in Computer Science?

The subject of Computer Science subjects will apply the principles of Mathematics and Engineering, as well as logic to various functions, which include software and hardware development, as well as artificial intelligence and algorithm formulas. Computer Science can be opted by students as one of the elective subjects in CBSE Class 12 Board Examination.

2. How can I score well in the Computer Science subject in Class 12?

  1. Schedule your time properly.
  2. Be consistent with learning throughout the course of the academic year.
  3. Students should be very clear with the CBSE Class 12 Computer Science Syllabus before they start preparing for the exam. The CBSE Syllabus would make the students aware of the topics that will carry a higher weightage.
  4. Develop your practical skills also.
  5. Taking out time to relax and have fun will refresh your mind and help to get good grades.
  6. Make sure to take a nutritious diet every day and get proper sleep to avoid stress.


3. Explain the meaning of project work in the Computer Science Syllabus Class 12.

The project work in the Computer Syllabus for Class 12 CBSE is a group work where the students are required to think of a real-life problem and its possible solution. They will then have to create a software, app or a game which is user-friendly and original. The project should not be copied and have at least a minimum of 500 code lines. 

4. What are some of the tips for the students preparing for Computer Science Syllabus Class 12?

The students appearing for the Class 12 CBSE Computer Science paper can follow these tips–

  • Study the topics given in the NCERT Books thoroughly.
  • Regularly solve CBSE Sample Papers which consist of CBSE Important Questions to work on your time management and accuracy. Students should be able to solve all the questions in the required time.
  • Make sure to study the CBSE Revision Notes and clarify any doubts you have.
  • Practice CBSE Extra Questions as well as the CBSE PastYears’ Question Papers to get an idea about the exam pattern.
  • Make a study schedule every day where you can devote equal time to all the subjects.
  • Ensure to devote more time to the tough topics.

5. Is Python included in the Computer Syllabus For Class 12 CBSE?

The CBSE had decided to include Python language in the Class 12 Computer Science Syllabus from the academic year 2019-20. The CBSE Syllabus has been updated with the latest programming language which will be very beneficial for the students.