Computer Systems and Organisation
- Basic Computer Organisation: lntroduction to computer system, hardware, software, input device, output device, CPU, memory (primary, cache and secondary), units of memory (Bit, Byte, KB. MB, GB, TB, PB).
- Types of software: system software (operating systems, system utilities, device drivers), programming tools and language translators assembler, compiler & interpreter), application software.
- Operating system (OS): functions of operating system, OS user interface
- Boolean Logic: NOT, AND, OR, NAND, NOR, XOR, truth table, De Morgan’s laws and logic circuits
- Number system: Binary, octal, Decimal and Hexadecimal number system; conversion between number systems.
- Encoding schemes: ASCII, ISCII and UNICODE (UTF8, UTF32)
Computational Thinking and Programming
- Introduction to problem solving: Steps for problem solving (analysing the problem, developing an algorithm, coding, testing and debugging). representation of algorithms using flow chart and pseudo code, decomposition
- Familiarization with the basics of Python Programming: Introduction to Python, features of Python, executing a simple “hello world” program, execution modes: interactive mode and script mode, Python character set, Python tokens (keyword, identifier, literal, operator,punctuator), variables, concept of l-value and r-value, use of comments
- Knowledge of data types: number (integer, floating point, complex), boolean, sequence (string,list, tuple), none, mapping (dictionary), mutable and immutable data types
- Operators: arithmetic operators, relational operators, logical operators, assignment operator, augmented assignment operators, identity operators (is, is not), membership operators (in, not in)
- Expressions, statement, type conversion & input/output: precedence of operators, expression, evaluation of expression, python statement, type conversion (explicit & implicit conversion), accepting data as input from the console and displaying output
- Errors: syntax errors, logical errors, runtime errors
- Flow of control: introduction, use of indentation, sequential flow, conditional and iterative flow control
- Conditional statements: if, if-else, if-elif-else, flowcharts, simple programs: e.g.: absolute value, sort 3 numbers and divisibility of a number
- Iterative statements: for loop, range function, while loop, flowcharts, break and continue statements, nested loops, suggested programs: generating pattern, summation of series, finding the factorial of a positive number etc
- Strings: introduction, indexing, string operations (concatenation, repetition, membership & slicing), traversing a string using loops, built-in functions: len(), capitalize(), title(), lower(), upper(), count(), find(), index(), endswith(), startswith(), isalnum(), isalpha(), isdigit(), islower(), isupper(), isspace(), lstrip(), rstrip(), strip(), replace(), join(), partition(), split()
- Lists: introduction, indexing, list operations (concatenation, repetition, membership & slicing), traversing a list using loops, built-in functions: len(), list(), append(), extend(), insert(), count(), index(), remove(), pop(), reverse(), sort(), sorted(), min(), max(), sum(); nested lists, suggested programs: finding the maximum, minimum, mean of numeric values stored in a list; linear search on list of numbers and counting the frequency of elements in a list
- Tuples: introduction, indexing, tuple operations (concatenation, repetition, membership & slicing), built-in functions: len(), tuple(), count(), index(), sorted(), min(), max(), sum(); tuple assignment, nested tuple, suggested programs: finding the minimum, maximum, mean of values stored in a tuple; linear search on a tuple of numbers, counting the frequency of elements in a tuple
- Dictionary: introduction, accessing items in a dictionary using keys, mutability of dictionary (adding a new item, modifying an existing item), traversing a dictionary, built-in functions: len(), dict(), keys(), values(), items(), get(), update(), del(), clear(), fromkeys(), copy(), pop(), popitem(), setdefault(), max(), min(), count(), sorted(), copy(); suggested programs : count the number of times a character appears in a given string using a dictionary, create a dictionary with names of employees, their salary and access them
- Introduction to Python modules: Importing module using ‘import ‘ and using from statement, Importing math module (pi, e, sqrt, ceil, floor, pow, fabs, sin, cos, tan); random module (random, randint, randrange), statistics module (mean, median, mode)
Society, Law and Ethics
- Digital Footprints
- Digital society and Netizen: net etiquettes, communication etiquettes, social media etiquettes
- Data protection: Intellectual Property Right (copyright, patent, trademark), violation of IPR (plagiarism, copyright infringement, trademark infringement), open source softwares and licensing (Creative Commons, GPL and Apache)
- Cyber-crime: definition, hacking, eavesdropping, phishing and fraud emails, ransomware, preventing cyber crime
- Cyber safety: safely browsing the web, identity protection, confidentiality, cyber trolls and bullying.
- Safely accessing web sites: malware, viruses, trojans, adware
- E-waste management: proper disposal of used electronic gadgets
- Indian Information Technology Act (IT Act)
- Technology & Society: Gender and disability issues while teaching and using computers
Computational Thinking and Programming
- Functions: types of function (built-in functions, functions defined in module, user defined functions), creating user defined function, arguments and parameters, default parameters, positional parameters, function returning value(s), flow of execution, scope of a variable (global scope, local scope)
- Introduction to files, types of files (Text file, Binary file, CSV file), relative and absolute paths
- Text file: opening a text file, text file open modes (r, r+, w, w+, a, a+), closing a text file, opening a file using with clause, writing/appending data to a text file using write() and writelines(), reading from a text file using read(), readline() and readlines(), seek and tell methods, manipulation of data in a text file
- Binary file: basic operations on a binary file: open using file open modes (rb, rb+, wb, wb+, ab, ab+), close a binary file, import pickle module, dump() and load() method, read, write/create, search, append and update operations in a binary file
- CSV file: import csv module, open / close csv file, write into a csv file using csv.writerow() and read from a csv file using csv.reader( )
- Data Structure: Stack, operations on stack (push & pop), implementation of stack using list
Computer Networks
- Evolution of networking: introduction to computer networks, evolution of networking (ARPANET, NSFNET, INTERNET)
- Data communication terminologies: concept of communication, components of data communication (sender, receiver, message, communication media, protocols), measuring capacity of communication media (bandwidth, data transfer rate), IP address, switching techniques (Circuit switching, Packet switching)
- Transmission media: Wired communication media (Twisted pair cable, Co-axial cable, Fiberoptic cable), Wireless media (Radio waves, Micro waves, Infrared waves)
- Network devices (Modem, Ethernet card, RJ45, Repeater, Hub, Switch, Router, Gateway, WIFI card)
- Network topologies and Network types: types of networks (PAN, LAN, MAN, WAN), Networking topologies (Bus, Star, Tree)
- Network protocol: HTTP, FTP, PPP, SMTP, TCP/IP, POP3, HTTPS, TELNET, VoIP, wireless/mobile communication protocol such as GSM, GPRS and WLL
- Introduction to web services: WWW, Hyper Text Markup Language (HTML), Extensible Markup Language (XML), domain names, URL, website, web browser, web servers, web hosting
Database Management
- Database concepts: introduction to database concepts and its need
- Relational data model: relation, attribute, tuple, domain, degree, cardinality, keys (candidate key, primary key, alternate key, foreign key)
- Structured Query Language: introduction, Data Definition Language and Data Manipulation Language, data type (char(n), varchar(n), int, float, date), constraints (not null, unique, primary key), create database, use database, show databases, drop database, show tables, create table, describe table, alter table (add and remove an attribute, add and remove primary key), drop table, insert, delete, select, operators (mathematical, relational and logical), aliasing, distinct clause, where clause, in, between, order by, meaning of null, is null, is not null, like, update command, delete command, aggregate functions (max, min, avg, sum, count), group by, having clause, joins: cartesian product on two tables, equi-join and natural join
- Interface of python with an SQL database: connecting SQL with Python, performing insert, update, delete queries using cursor, display data by using fetchone(), fetchall(), rowcount, creating database connectivity applications
Introduction to Computer System
- Introduction to computers and computing: evolution of computing devices, components of a computer system and their interconnections, Input/Output devices.
- Computer Memory: Units of memory, types of memory – primary and secondary, data deletion, its recovery and related security concerns.
- Software: purpose and types – system and application software, generic and specific purpose software.
Data Structure & Algorithms
- Types of data structure: Array, stack, queues, linked lists heaps, trees, binary search tree
- Searching algorithms: Linear and Binary search
- Sorting algorithms: Bubble, Selection, lnsertion, quick sort, merge sort and heap sort
- Analysis of Algorithm: Asymptotic notation – Big – Oh (O), Omega and Theta notations
- Graphs: Definitions, connected graphs, regular and bipartite graphs, cycles and circuits, spanning trees, breadth first search, Depth first search
Operating Systems (O.S.)
- Functions of operating systems,Types of o.s,-multiprocessing, Multitasking, Multiprogramming, time sharing & distributed operating systems,
- Virtual memory, paging, segmentation & fragmentations
- Mutual Exclusion, Lock-unlock, semaphores
- C.P.U Scheduling, I/O scheduling, Resource scheduling, Scheduling algorithms’
- Deadlock & its handling.
Software Engineering
- Software, development life cycle (SDLC) introduction and various steps,
- SDLC Models:- waterfall, prototype, spiral, Agile
- Data warehouse & Data mining: introduction and methodology
Digital Logic & Circuits
- Number System and Codes.
- Combinational Logic circuits: Digital Logic gates, Simplifications, Half and full address, encoders, Decoders and Multiplexers.
- Sequential Logic circuits: Flip Flops, RAM and ROM.
Theory of Computation
- Automata Fundamentals: Finite Automata (F.A.), Deterministic F.A. & Non Deterministic F.A.
- Regular Expressions and Language.
- Context Free Grammar and Languages.
- Recursive Enumerable and non-Recursive Enumerable Language.
Compiler Design
- Introduction of a compiler: Lexical Analyses Recognition of tokens, Minimizing DFA.
- Parsing and Parse trees: Rightmost and leftmost derivation, Bottom-up and Top-down parser.
- Intermediate code generation.
- Code Generation and Code optimization.
Emerging Trends
Artificial Intelligence, Machine Learning, Natural Language Processing, Immersive experience (AR, VR), Robotics, Big data and its characteristics, Internet of Things (IoT), Sensors, Smart cities, Cloud Computing and Cloud Services (SaaS, IaaS, PaaS); Grid Computing, block chain technology.
Database Query using SQL
- Math functions: POWER (), ROUND (), MOD ().
- Text functions: UCASE ()/UPPER (), LCASE ()/LOWER (), MID ()/SUBSTRING ()/SUBSTR (), LENGTH (), LEFT (), RIGHT (), INSTR (), LTRIM (), RTRIM (), TRIM ().
- Date Functions: NOW (), DATE (), MONTH (), MONTHNAME (), YEAR (), DAY (), DAYNAME ().
- Aggregate Functions: MAX (), MIN (), AVG (), SUM (), COUNT (); using COUNT (*).
- Querying and manipulating data using Group by, Having, Order by
Website: Introduction, difference between a website and webpage, static vs dynamic web page, web server and hosting of a website.
Web Browsers: Introduction, commonly used browsers, browser settings, add-ons and plugins, cookies.