Course Structure of Computer Science for Class 11th.
UNIT 1- Programming and Computation Thinking- (35 Marks)
- Familiarization with the basics of Python programming: a simple “hello world” program, process of writing a program, running it, and print statements; simple data-types: integer, float, string.
- Introduce the notion of a variable, and methods to manipulate it (a concept of L-value and R-value even if not taught explicitly)
- Knowledge of data types and operators: accepting input from the console, assignment statement, expressions, operators and their precedence.
- Conditional statements: if, if-else, if-elif-else; simple programs: e.g.: absolute value, sort 3 numbers, and divisibility.
- The notion of iterative computation and control flow: for, while, flowcharts, decision trees, and pseudo code; write a lot of programs: interest calculation, primarily testing, and factorials.
- The idea of debugging: errors and exceptions; debugging: PDB, breakpoints.
- Lists, tuples, and dictionary: finding the maximum, minimum, mean; linear search on list/tuple of numbers, and counting the frequency of elements in a list using a dictionary. Introduce the notion of accessing elements in a collection using numbers and names.
- Sorting algorithm: bubble and insertion sort; count the number of operations while sorting.
- Strings: compare, concat, substring; a notion of states and transitions using state transition diagrams.
Unit 2: Computer Systems and Organisation (CSO)- (10 Marks)
- Basic computer organization: description of a computer system and mobile system, CPU, memory, hard disk, I/O, battery, power.
- Types of software: application, OS, utility, libraries.
- The language of Bits: bit, byte, MB, GB, TB, and PB.
- Boolean logic: OR, AND, NAND, NOR, XOR, NOT, truth tables, De Morgan’s laws.
- Information representation: numbers in base 2, 8, 16, unsigned integers, binary addition.
- Strings: ASCII, UTF8, UTF32, ISCII (Indian script code)
- Execution of a program: a basic flow of compilation – program à binary à execution.
- Interpreters (process one line at a time), a difference between a compiler and an interpreter
- Running a program: Notion of an operating system, how an operating system runs a program, idea of loading, operating system as a resource manager.
- The concept of cloud computers, cloud storage (public/private), and a brief introduction to parallel computing.
Unit 3: Data Management (DM1)- (15 Marks)
- Relational databases: an idea of a database and the need for it, relations, keys, primary key, foreign key; use SQL commands to create a table, keys, foreign 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 databases – Mongo DB.
Unit 4: Society, Law, and Ethics (SLE-1) – Cybersafety. (10 Marks)
- Cyber safety: safely browsing the web, identity protection, confidentiality, social networks, cyber trolls, and bullying.
- Appropriate usage of social networks: a spread of rumors, and common social networking sites (Twitter, LinkedIn, and Facebook) and specific usage rules.
- Safely accessing websites: adware, malware, viruses, Trojans.
- Safely communicating data: secure connections, eavesdropping, phishing, and identity verification.
UNIT-5: Programming in Python:
- 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.
- Find the largest and smallest numbers in a list.
- Find the third largest number in a list.
- Test for primarily.
- Find whether a string is a palindrome or not.
- Given two integers x and n, compute xn.
- Compute the greatest common divisor and the least common multiple of two integers.
- Test if a number is equal to the sum of the cubes of its digits. Find the smallest and largest such numbers.
5.2. Data Management: SQL Commands:
At least the following SQL commands 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 marks 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).