Learning Outcomes
1. Develop basic computational thinking. Learn how to reason with variables, state transitions,
conditionals, and iteration.
2. Understand the notion of data types, and higher order data structures such as lists, tuples,
and dictionaries.
3. Appreciate the notion of an algorithm, and understand its structure, including how algorithms
handle corner cases.
4. Develop a basic understanding of computer systems - architecture, OS, mobile and cloud
computing.
5. Learn basic SQL programming.
6. Learn all about cyber safety.
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 Rvalue 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
. 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.
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.
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
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 Rvalue 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
. 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.
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.
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
No comments:
Post a Comment