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.
- 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), Clarit & Simplification of expression.
- Introduce the notion of a variable, and methods to manipulate it (concept of L- value 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.
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-FROM- WHERE-ORDER BY alongwith BETWEEN, IN, LIKE, (Queries only on single table)
- Aggregate functions – MIN, MAX, AVG, COUNT, SUM
- Basics of NoSQL databases.
Unit 4: Society, Law and Ethics - Cyber safety
- Cyber safety: safely browsing the web, identity protection, confidentiality, social networks, cyber trolls and bullying
- Appropriate usage of social networks: spread of rumors, 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 Exercise
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 xand 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.
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 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 (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)
No comments:
Post a Comment