1. Learning Outcomes
- Ability to understand basic computational thinking.
- Ability to understandthe notion of data types, data structures.
- Ability to appreciate the notion of an algorithm, and understand its structure, including how algorithms handle corner cases.
- Ability to learn basic SQL programming.
- Ability to learn all about cyber safety.
- Design, write and predict the results of code using functions that have parameters (both call by reference and call by value) and return values.
2. Distribution of Marks and Periods
|Unit No.||Unit Name||Marks||Periods|
|1||Computer Systems and Organisation||10||10||2|
|2||Computational Thinking and Programming ||35||60||45|
|3||Computer Systems and Organisation||15||30||23|
|4||Computational Thinking and Programming ||10||10||--|
2.1 Unit 1: Computer Systems and Organisation
- Basic computer organisation: description of a computer system and mobile system, CPU, memory, hard disk, I/O, battery.
- Types of software: application, System, utility.
- Memory Units: 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, binary addition
- Strings: ASCII, UTF8, UTF32, ISCII (Indian script code), Unicode
- Basic concepts of Flowchart
- Concept of Compiler & 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 computing, cloud (public/private), introduction to parallel computing.
2.2 Unit 2: Computational Thinking andProgramming
Basics of Computational Thinking: Decomposition, Pattern Recognition/ Data representation, Generalization/ Data Abstraction and algorithm.
Familiarization with the basics of Python programming: a simple “hello world" program, process ofwriting a program (Interactive & Script mode), running it, and print statements; simple data-types: integer, float, string
- Features of Python, Python Character Set, Token & Identifiers, Keywords, Literals, Delimiters, operators.
- Comments: (Single line & Multiline/ Continuation statements), Clarity & Simplification of expression.
- Introduce the notion of a variable, and methods to manipulate it (concept of Lvalue and R-value evenif not taught explicitly).
- Knowledge of data types and operators: accepting input from the console, assignment statement,expressions, operators and their precedence.
- Operators & types: Binary operators-Arithmetic, Relational operators, Logical Operators, Augmented Assignment operators.
- 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(range(),len()), while, flowcharts, suggested programs: interest calculation and factorials, etc.
- Idea of debugging: errors and exceptions; debugging: pdb, break points.
- Lists, tuples and dictionary: finding the maximum, minimum, mean; linear search on list/tuple ofnumbers, and counting the frequency of elements in a list using a dictionary. Introduce the notion ofaccessing elements in a collection using numbers and names.
- Sorting algorithm: bubble and insertion sort;count the number of operations while sorting.
- Strings: Traversing, compare, concat, substring.
- Introduction to Python modules: Importing math (sqrt, cell, floor, pow, fabs, sin, cos, tan, random (random, randint, randrange), statistics (mean, median, mode) modules.
2.3 Unit 3: Data Management
- Relational databases: Concept of a database, relations, attributes and tuples, keys- candidate key, primary key, alternate key, foreign key;Degree and cardinality of a table.
- Use SQL – DDL/ DML commands to CREATE TABLE, INSERT INTO, UPDATE TABLE , DELETE FROM, ALTER TABLE,MODIFY TABLE, DROP TABLE, keys, and foreign keys; to view content of a table: SELECT-FROMWHERE-ORDER BY alongwith BETWEEN, IN, LIKE, (Queries only on single table)
- Aggregate functions – MIN, MAX, AVG, COUNT, SUM
- Basics of NoSQL databases.
2.4 Unit 4: Society, Law and Ethics - Cyber safety
- Cyber safety: safely browsing the web, identity protection, confidentiality, social networks, cyber trollsand 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.
|Sr. No.||Unit Name||Marks|
|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|
|1||Project (that uses most of the concepts that have been learnt)|
(See CS-XII for the rules regarding the projects)
4. Programming in Python
At least the following Python concepts should be covered in the labsessions: 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, computex
- 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 suchnumbers.
5. Data Management using 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 idis 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 (studentid, 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).
Classes Everyday starting 4:30 PM in center
Course Fees Starts From– $499.00
THERE ARE LIMITED SEATS. SO BOOK YOUR SPOT TODAY!