click below for class 12 computer science solved sample papers worksheets, assignments, syllabus, ncert cbse books, ncert solutions, hots, multiple choice questions (mcqs), easy to learn concepts and study notes of all chapters
Good understanding of Class 11 Computer Science
- Understand the concept of functions and recursion.
- Learn how to create and use Python libraries.
- Learn file handling.
- Learn about the concept of efficiency in algorithms and computing in general.
- 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.
- Connect a Python program with an SQL database, and learn aggregation functions in SQL.
- 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
Programming and Computational Thinking – 2
Data Management – 2
Society, Law and Ethics – 2
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.
- Using Python libraries: create and import Python libraries
- Recursion: simple algorithms with recursion: factorial, Fibonacci numbers; recursion on arrays: binary search
- 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.
- Data visualization using Pyplot: line chart, pie chart, and bar chart.
- Data-structures: lists, stacks, queues.
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; concept of a client and server.
- Network devices such as a NIC, switch, hub, router, and access point.
- Network stack: amplitude and frequency modulation, collision in wireless networks, error checking, and the notion of a MAC address, main idea of routing. IP addresses: (v4 and v6), routing table, router, DNS, and web URLs, TCP: basic idea of retransmission, and rate modulation when there is congestion (analogy to a road network), Protocols: 2G, 3G, 4G, Wi- Fi. What makes a protocol have a higher bandwidth?
- Basic network tools: traceroute, ping, ipconfig, nslookup, whois, speed-test.
- 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.
- Interface Python with an SQL database
- SQL commands: aggregation functions – having, group by, order by.
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.
- 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.
- E-waste management: proper disposal of used electronic gadgets.
- Identity theft, unique ids, and biometrics.
- Gender and disability issues while teaching and using computers.
Also refer to NCERT Solutions for all classes by clicking here - NCERT Solutions
Lab Test (10 marks)
Python program (60% logic + 20% documentation + 20% code quality)
Small Python program that sends a SQL query to a database and displays the result. A stub program can be provided.
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.
Viva voce based on the report file
Project + viva (11 marks)
Project (that uses most of the concepts that have been learnt)
Project viva voce
Some sample lab assignments are as follows:
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 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 web server to parse a user request (POST), and write it to a CSV file.
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 is expected. The committee has also been made aware about 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.
Latest NCERT & CBSE News
Read the latest news and announcements from NCERT and CBSE below. Important updates relating to your studies which will help you to keep yourself updated with latest happenings in school level education. Keep yourself updated with all latest news and also read articles from teachers which will help you to improve your studies, increase motivation level and promote faster learning
CBSE chairman Anita karwal wrote a motivational letter to board candidates before the CBSE board Exam The CBSE (Central Board of Secondary Education) class 10th and 12th board exams are starting from 15 February 2020. Not only the students, their parents are also tense...
The CBSE board examinations will start from 15 February 2020. The CBSE Board issued admit cards, and all schools start distributing copies of the admit cards. All students should read their admit card details correctly. CBSE admit card details the examination centre,...
CBSE has announced a significant change in the CBSE 10th and 12th mark sheet of the results to be given to the students. The CBSE board also decided to end the use of the words “failed” or “compartmental” given to students in the CBSE Board Report 2020 mark sheet....
This year the Central Board of Secondary Education (CBSE) made some important changes to the Class 12 exam pattern. Students should be aware of every minute detail of the modified exam pattern, from adding the internal exam in all subjects to changing the format of...
The CBSE Board released an important notification regarding the upcoming CBSE 10th and 12th Board Exam 2020. The notification states that in the Board exams for children with special needs (CWSN), the CBSE Board will allow the use of simple basic calculators. According...
CBSE board exams are just around the corner. Students of CBSE class 10th and class 12th are preparing hard to appear in the CBSE board examination 2020, they are looking for last-minute tips and tricks to get good score in the board exam. However, during examination,...