India · CBSE Learning Outcomes
Class 12 Computer Science
An advanced study of Python programming, data structures, and relational databases designed to prepare students for technical problem solving. This course bridges the gap between basic coding and professional software development practices while exploring the societal impacts of digital technology.

01Computational Thinking and Programming
A deep dive into advanced Python concepts including functions, file handling, and scope. Focuses on writing modular code and managing persistent data storage.
Students will define functions, understand their purpose in breaking down complex problems, and explore basic function calls.
Students will learn to pass arguments to functions using both positional and keyword methods, understanding their differences and use cases.
Students will explore how functions return values, including returning multiple values using tuples, and understand their role in data flow.
Students will investigate variable scope, distinguishing between local and global variables and their impact on program execution.
Students will explore the concept of nested functions and how they can form closures, capturing variables from their enclosing scope.
Students will explore recursive functions, understanding base cases and recursive steps through practical examples like factorials.
Students will learn to open, read from, and write to text files, understanding file modes and basic file operations.
Students will investigate file pointers and use `seek()` and `tell()` methods to navigate within text files for advanced reading/writing.
Students will explore reading and writing binary data using Python's `pickle` module, understanding the differences from text files and use cases for binary storage.
Students will learn to work with CSV files using Python's `csv` module, focusing on reading and parsing structured data.
Students will practice writing data to CSV files and updating existing CSV data using the `csv` module.
Students will be introduced to the concept of algorithms, their importance, and the initial idea of measuring their efficiency.
Students will learn the basics of Big O notation to formally describe the efficiency of algorithms in terms of time complexity.
Students will implement and analyze the linear search algorithm, understanding its step-by-step process and limitations.
Students will implement and analyze the binary search algorithm, comparing its efficiency with linear search for sorted data.
Students will implement and visualize the bubble sort algorithm, understanding its iterative comparison and swapping process.
Students will implement and analyze insertion sort, focusing on how it builds a sorted array one element at a time.
Students will implement and analyze selection sort, identifying its approach of repeatedly finding the minimum element.
Students will define data structures, understand their importance in organizing data, and explore different types.
Students will understand the Last-In-First-Out (LIFO) principle and implement basic stack operations like push and pop using Python lists.

02Computer Networks and Connectivity
Understanding the architecture of the internet, networking devices, and protocols that enable global communication.
Students will define computer networks, their purpose, and explore different types of networks (LAN, WAN, MAN).
Students will compare and contrast common network topologies like bus, star, ring, and mesh, understanding their layouts and implications.
Students will learn about the functions of key networking hardware components such as hubs, switches, and routers.
Students will explore additional networking devices like gateways, repeaters, and bridges, understanding their specific roles in network communication.
Students will define network protocols, understand their necessity for communication, and explore the concept of a protocol stack.
Students will examine the lower layers of the TCP/IP protocol suite, focusing on Network Access and Internet layers and their functions.
Students will examine the upper layers of the TCP/IP protocol suite, focusing on Transport and Application layers and their functions.
Students will explore common application layer protocols like HTTP, HTTPS, and FTP, understanding their roles in web communication and security.
Students will explore DNS for domain name resolution and email protocols (SMTP, POP3, IMAP) for sending and receiving emails.
Students will define network security, identify common threats, and understand the importance of protecting network resources.
Students will learn about firewalls and Intrusion Detection Systems (IDS) as key defense mechanisms against unauthorized access and attacks.
Students will be introduced to the concepts of encryption, decryption, and basic cryptographic techniques for securing data.
Students will identify common network attacks like phishing, denial-of-service, and malware, and learn basic prevention strategies.
Students will define databases and Database Management Systems (DBMS), understanding their role in managing information.
Students will understand the fundamental components of the relational model: tables, rows (records), columns (fields), and domains.
Students will learn about different types of keys (primary, candidate, alternate, foreign) and their importance in maintaining data integrity and relationships.
Students will explore one-to-one and one-to-many relationships between tables and how to model them effectively.
Students will explore many-to-many relationships and how to resolve them using intermediary tables, introducing basic normalization concepts.
Students will learn Data Definition Language (DDL) commands like CREATE TABLE and DROP TABLE to define and remove database schemas.
Students will practice using ALTER TABLE commands to modify existing table structures, including adding, dropping, and modifying columns.

03Database Management Systems (Continued)
Mastering relational database concepts and Structured Query Language (SQL) to manage and manipulate large datasets.
Students will understand and implement INNER JOIN to combine rows from two or more tables based on a related column.
Students will explore LEFT JOIN, understanding its differences from INNER JOIN and use cases for retrieving all records from the left table.
Students will explore RIGHT and FULL OUTER JOINs, understanding their differences and use cases for comprehensive data retrieval.
Students will learn to establish a connection between a Python program and a SQL database (e.g., MySQL or SQLite).
Students will write Python code to execute DDL and DML SQL queries, including inserting, updating, and deleting data.
Students will write Python code to execute SELECT queries and fetch results, handling single and multiple rows.
Students will learn to implement error handling (try-except) and database transactions (commit, rollback) in their Python-SQL applications.
Students will explore the concept of digital footprints, understanding how personal data is collected and used online.
Students will learn about key data privacy laws (e.g., GDPR, India's Personal Data Protection Bill) and their impact on data handling.
Students will discuss the ethical considerations surrounding Artificial Intelligence and algorithmic decision-making, including bias and fairness.
Students will explore various types of cybercrime and understand the provisions of India's Information Technology (IT) Act.
Students will learn about intellectual property rights, including copyrights, patents, and trademarks, specifically in the context of software.
Students will compare and contrast open source and proprietary software models, examining their licensing, development, and economic impacts.
Students will identify the sources of electronic waste (e-waste) and understand its environmental and health impacts.
Students will explore methods of e-waste management, including recycling processes, refurbishment, and responsible disposal practices, and relevant policies.
Students will identify a real-world problem, define project scope, and gather functional and non-functional requirements for their capstone project.
Students will design the overall architecture of their software system, including components, modules, and their interactions.
Students will focus on designing intuitive and user-friendly interfaces, considering UX principles and accessibility.
Students will design and implement the database schema for their project, applying relational modeling concepts and SQL DDL.
Students will learn the importance of software testing, different testing levels, and basic testing methodologies.