CBSE Class 12 Computer Science Syllabus 2024-25
Unit No. | Unit Name | Marks |
I | Computational Thinking and Programming – 2 | 40 |
II | Computer Networks | 10 |
III | Database Management | 20 |
PRACTICAL | ||
Lab Test(12) + Report File (7) + Project Work (8) + Viva Voce (03) | 30 | |
TOTAL | 100 |
Computer Science Syllabus Class 12: Theory Paper
For the 2024-25 Academic session, the CBSE has released its Class 12 Computer Science Syllabus which contains the following syllabus.
Unit 1: Computational Thinking and Programming – 2
- Revision of Python topics covered in Class XI.
- Functions: types of function (built-in functions, functions defined in module, user-defined functions), creating user-defined functions, arguments, and parameters, default parameters, positional parameters, a function returning value(s), the flow of execution, the scope of a variable (global scope, local scope)
- Exception Handling: Introduction, handling exceptions using try-except-finally blocks
- 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 writer(),writerow(),writerows(), and read from a CSV file using reader()
- Data Structure: Stack, operations on stack (push & pop), implementation of stack using list.
Unit 2: Computer Networks
- Evolution of Networking: introduction to computer networks, evolution of networking (ARPANET, NSFNET, INTERNET)
- Data communication terminologies: the concept of communication, components of data communication (sender, receiver, message, communication media, protocols), measuring the 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, Microwaves, 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, URLs, websites, web browsers, web servers, web hosting
Unit 3: Database Management
- Database concepts: introduction to database concepts and their 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 a database, use the database, show databases, drop the database, show tables, create a table, describe the table, alter table (add and remove an attribute, add and remove primary key), drop table, insert, delete, select, operators (mathematical, relational and logical), aliasing, and distinct clauses, 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 connect(), cursor(), execute(), commit(), fetchone(), fetchall(), rowcount, creating database connectivity applications, use of %s format specifier or format() to perform queries
Practical
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 file.
- Remove all the lines that contain the character 'a' in a file and write it to another file.
- Create a binary file with the name and roll number. Search for a given roll number and display the name, if not found display the appropriate message.
- Create a binary file with roll number, name, and marks. 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 the list.
- Create a CSV file by entering user-id and password, and read and search for the password for the given user id.
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 exercises may be framed for other cases.
- Integrate SQL with Python by importing suitable modules.
Project Work
The class project aims to create something 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 sensitized to avoid plagiarism and violations of copyright issues while working on projects. Teachers should take the necessary measures for this.
How to Prepare for Class 12 Computer Science Paper Using the Syllabus
Go through the syllabus: Begin by acquainting yourself with the complete CBSE Class 12 Computer Science syllabus. Separately examine each topic and make a study plan allocating specific time for the same.
Create a Study Timetable: Prepare a study plan and follow it religiously. Start with dividing the curriculum into digestible chunks and setting up time for each topic. Don’t forget to take breaks and relax.
Use NCERTs: NCERTs are the best books for the CBSE Exam be it any subject including computer science. So make NCERTs your primary go-to book. After you have completed the chapter try solving the questions given at the end of each chapter to test your understanding of the chapter.
Practice Previous Year Papers: Previous year's examination question papers are an excellent strategy to prepare for an exam. Try to complete as many previous year papers as possible to acquire a sense of the format, types, and complexity of the questions. Examine your performance and identify any areas for improvement.
To score good marks in the CBSE Class 12 Computer Science board exams stick to your study schedule and follow the different approaches mentioned above. Keep revising and keep practicing.