1.  Distribution of Marks

 

Unit

No.

Unit Name

Marks

1.

Programming and Computational Thinking - 1

35

2.

Computer Systems and Organisation

10

3.

Data Management - 1

15

4.

Society, Law and Ethics - 1

10

5.

Practical

30

 

Total

100

 

 

4.1  Unit 1: Programming and Computational Thinking (PCT-1)          (80 Theory + 70 Practical)

 

·    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 (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.

·    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.

            ·    Idea of debugging: errors and exceptions; debugging: pdb, break points.

·    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; notion of states and transitions using state transition diagrams.


 

 

4.2.  Unit 2: Computer Systems and Organisation (CSO)                        (20 Theory + 6 Practical)

 

·         Basic computer organisation: description of a computer system and mobile system, CPU, memory, hard disk, I/O, battery, power.

·         Types of software: application, OS, utility, libraries.

·         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: basic flow of compilation program à binary à execution

·         Interpreters (process one line at a time), 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.

·         Concept of cloud computers, cloud storage (public/private), and brief introduction to parallel computing.

 

4.3.  Unit 3: Data Management (DM-1)                                                    (30 Theory+ 24 Practical)

 

·         Relational databases: 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.

 

 

4.4.  Unit 4: Society, Law and Ethics (SLE-1) - Cyber safety                                         (10 Theory)

 

·         Cyber safety: safely browsing the web, identity protection, confidentiality, social networks, cyber trolls and bullying

·         Appropriate usage of social networks: spread of rumours, and common social networking sites (Twitter, LinkedIn, and Facebook) and specific usage rules.

·         Safely accessing web sites: adware, malware, viruses, Trojans

·         Safely communicating data: secure connections, eavesdropping, phishing and identity verification.

 

 Practical

 

S.No.

Unit Name

Marks (Total=30)

1.

Lab Test (12 marks)

 

Python program (60% logic + 20% documentation + 20% code quality)

8

SQL program (at least 4 queries)

4

2.

Report File + viva (10 marks)

 

Report file: Minimum 20 Python programs and 8 SQL commands

7

Viva voce (based on the report file)

3

3.

Project (that uses most of the concepts that have been learnt) (See CS-XII for the rules regarding the projects).

8


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.

 

·         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).