4.1: Programming and Computational Thinking (PCT -1)
Familiarization with the basics of Python programming: a simple 'hello world' program, process of writing a program, running it, and print statement; 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)
Notion of iterative computation and control flow: for, while, flowcharts, decision trees and pseudo code; write a lot programs: interest calculation, primarily testing, and factorials.
Sorting algorithm: bubble and insertion sort; count the number of operations while sorting.
String:compare, concat, substring; notion of states and transitions using state transition diagram.
4.2.Unit 2: Computer Systems and Organization ( CSO )
Basic Computer organization: description of a computer system and mobile system, CPU, memory, hard disk, I/O, battery, power
4.3. Unit 3: Data Management ( DM-1)
Relational database: idea of a database and the need for it. relation, keys, primary key, foreign key, use SQL commands to create a table, foreigh keys; insert/delete an entry, delete a table.
SQL commands: select,project, and join; indexes, and a lot of in-class practice.
Basics of NoSQL database-Mongo DB
4.4. Unit 4: Society, Law and Ethics ( SLE-1)-Cyber safety
Cyber safety: safely browsing the web, identity protection, confidentiality, social networks, cyber tolls and bullying.
5.1. 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.
At least the following SQL command 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 mark 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)
CBSE Syllabus : Computer Science class : XII
4.1 : Programming and Computational Thinking(PCT-2)
Revision of the basics of Python
Functions: scope, parameter passing, mutable/immutable properties of data objects, pass array to function, 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
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: list, stacks, queues.
4.2 : Computer Networks ( CN )
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: amplitue 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?
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
4.3 : Data Management (DM-2)
Write a minimal Django based web application that parses a GET and POST request, and wites the field to a file - flat file and CSV file.
Interface Python with an SQL database
SQL commands: aggregation functions - having, group by, order by.
4.4 : Society, Law and Ethics ( SLE-2)
Intellectual property rights, plagiarism, digital rights management, and licensing ( Creative Commons, GPL and Apache), open source, open data, privacy.
Technology and society: understanding of societal issues and cultural changes induced by technology.
E-waste management: proper disposal of used electorics gadgets.
Identity theft, unique ids and biometrics
Gender and disability issues while teaching and using computers
5.1 : 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 content the character 'a' in the file and write it to another file.
Write a Python function sin(x, n) to calculate the value of sing(x) using its Taylor series expansion up to n terms. Compare teh values of sing(x) for different values of n with the correct value.
Write a random number generator that generatrs 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 writs 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 numpy or scipy libraries
Take a sample of 10 phishing e-mails and find the most common words.
5.2 : 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 a table ( customer ID, customer name, country ) using group by
Write SQL query to order the ( student ID, marks) table in descending oder of the marks.
Integrate SQL with Python by importing the MySQL module
Write a Django based web server to parse the user request ( POST ), and write it to a CSV file.
I write and maintain practical tutorials on Python, PHP, SQL, JavaScript, HTML, jQuery,
and web development at plus2net. The tutorials focus on clear explanations, working
examples, and code that readers can test and adapt while learning.