Project Minor - Phase I
Review of Literature
Problem Statement
Objectives
Methodology & Datasets
Course Objectives
· To familiarize basic concepts of OO programming.
· To understand the concept of constructors, packages and multithreading.
· To inculcate concepts of GUI programming using swing.
· To be able to create applets and implement database connectivity.
On completion of course, students should be able:
· To learn about some Python functionality and techniques that are commonly used.
· To understand and use functionality of various Python libraries for different scientific and mathematical tasks.
· To gain basic insight of implementation of advanced concepts and use of various libraries for applying Machine Learning for problem solving.
· To acquire knowledge about the frameworks in Python.
· To analyze large data sets in Python from data science.
Learning operating systems (OS) is all about unlocking the secrets of how computers work gaining control over your digital experience. Your OS knowledge will be a stepping stone for exploring programming languages, cybersecurity and cloud computing.
After completing the course, you will be able to explain
- The fundamental concepts regarding an OS
- Concept of a process and management of processes
- Inter process synchronization methods and deadlock handling
- Various memory management techniques
- Concept of file and various file handling methods
Learner can:
· Identify Structure and implementation of HTML/CSS.
· Apply intermediate and advanced web development practices.
· Implement basic JavaScript.
· Create visualizations in accordance with UI/UX theories.
· Develop a fully functioning website and deploy on a web server.
Upon successful completion of this course, students should be able to:
· Familiarize with Kotlin programming
· Develop Android applications using Kotlin
Probability, Different definitions of probability, addition theorem, multiplication theorem, conditional probability, Bayes theorem and problems. Random experiment, pdf, df, independence, change of variable, bivariate distributions, marginal pdf, independence, expectation, covariance, correlation coefficient. correlation and regression, algebraic method of calculating correlation coefficient, regression equations, regression coefficients , relation between correlation coefficient and regression coefficients
Object Oriented Programming using C++
Unit 1: (10 Hrs) – Principles of Object-Oriented Programming
Beginning with C++ Object Oriented Technology, Disadvantages of conventional programming, Programming paradigms, Key concepts of Object oriented programming, Advantages of OOPs, Parts of C++ program, Types of tokens, Data types in C++, Type modifiers, Type /casting, Constants, Constant pointers, Operators in C++, Referencing and dereferencing operators, Scope access operator, Memory management operators.
Unit 2: (12 Hrs) – Control structures and functions in C++
Decision making statements, Loops in C++, Functions in C++, The main function, Parts of a function, Passing arguments, Return by reference, Default arguments, Inline function, Function overloading, Principles of function overloading.
Unit 3: (10 Hrs) – Classes and Objects
Structures in C++, Class in C++, Declaring Objects, public private protected keywords, Defining member functions, Characteristics of member functions, Outside member function inline, Rules for inline functions, Data hiding, Memory allocation for objects, Static member variables and functions, Arrays of objects, Objects as function arguments, Friend functions, Friend classes, Local classes.
Unit 4: (10 Hrs) – Constructors, Destructors and Operator Overloading
Constructors and destructors, Characteristics of constructors and destructors, Applications with constructors, Constructors with arguments, Overloading Constructors, Constructors with default arguments, Copy constructors, Destructors, Operator overloading, Overloading of unary operators, Overloading binary operators, Overloading with friend functions, Type conversion, Rules for overloading operators. (15 Hrs)
Unit 5: (12 Hrs) – Inheritance, Pointers, Binding, Polymorphism and Virtual functions
Inheritance, Access specifiers and simple inheritance, Types of inheritance, Virtual base classes, Constructors, Destructors and Inheritance. Pointer, Pointer declaration, void pointers, wild pointers, Pointers to objects, this pointer, pointers to derived classes and base classes, Binding in C++, Pointers to derived class objects, Virtual functions, Rules for virtual functions, Pure virtual functions, Abstract classes, Working of virtual functions, Object slicing
Book of Study:
1. Ashok N. Kamthane Object Oriented Programming with ANSI & Turbo C++, First
Edition, Pearson India.
Reference:
1. E. Balagurusamy – Object Oriented Programming with C++, Fifth edition, Tata McGraw
Education Hill, 2011.
2. Ravichandran – Object Oriented Programming in C++, TMH, 3rd Edition
Core – Data Structures Using C++
Credits: 3
Unit 1: Introduction to Data structures (10 Hours)
Introduction to Data Structures, Definition, Classification of Data Structures, Primitive and Non primitive, Operations on data structures, Static and dynamic memory allocation. Dynamic memory allocation and pointers, Memory allocation operators in C++. User defined data types in C++. Recursion, Recursive functions in C++.
Unit 2: Array (10 Hours)
Arrays, Linear array – Representation of array in memory, operations on linear array – Insertion, Deletion, Sorting and Searching. Two Dimensional Arrays – Representation of 2D array in memory, operations on 2D array, Multidimensional Arrays.
Unit 3: Search and Sort (10 Hours)
Search, Basic search techniques, Search algorithms, Searching techniques, Sequential search, Binary search. Sort, general background, definition, different types, Bubble Sort, Selection Sort, Merge Sort.
Unit 4: Stack and Queue (12 Hours)
Stack, Definition, Array representation of stack, Operations on stack. Infix, prefix and postfix notations, Conversion of an arithmetic expression from infix to postfix, Postfix evaluation, Applications of stack. Queue – Definition, Array representation of queue, Simple queue operations. Circular queues, Double ended queue, Priority queue.
Unit 5: Linked List (12 Hours)
Linked list – definition, Components of linked list, Representation of linked list, Advantages and disadvantages of linked lists, Types of linked list. Singly linked list, Operations on singly linked list, Creation, Insertion, Deletion, Search and display. Circular linked list, Operations on circular linked list, Creation, Insertion, Deletion, Search and Display.
Book of Study: G.S Baluja, Data Structures Through C++ (A Practical Approach), Danapat Rai & Co.
References:
1. Ellis Horowitz and Sartaj Sajni, Fundamentals of Data Structures, Galgotia publications
2. Seymour Lipschutz, Theory and Problems of Data Structures, Schaums Outline Series
Core – Operating System Concepts
Credits: 4
Unit 1: Introduction (14 Hrs)
OS Definition, Functions, Types of operating systems – Batch Operating System,Multi programming, Time sharing, Real time, distributed operating systems – Operating System Operations, Operating System Services, User Operating System Interface, System Calls, Types of System Calls.
Unit 2: Processor Management (14 Hrs)
Job and process concept, Operating system view of process, process state, state transition diagram, PCB (Process control block), System state and process lists, process switch, threads, multithreading operating system, operating system services for process management. Process Scheduling – Types of schedulers, scheduling and performance criteria, scheduling algorithms, multiple processor scheduling.
Unit 3: Inter process synchronization and communication (16 Hrs)
Concurrent Processes, need for inter process synchronization, critical section problem, mutual exclusion, mutual exclusion algorithms, semaphore definition, primitives, implementation of semaphores, monitors Deadlocks – Definition, Deadlock characterization, Resource allocation graph, methods for handling deadlocks, deadlock prevention, deadlock avoidance, safe state, resource allocation graph algorithm, Banker’s algorithm, deadlock detection, recovery from deadlock.
Unit 4: Memory Management (16 Hrs)
Preliminaries, address binding, dynamic linking and loading, Overlays. Logical versus physical address space, Swapping, Contiguous allocation – fragmentation, compaction, Paging – principles of page allocation, structure of page table, hardware support, multi level paging, Segmentation –principles of operation, hardware, implementation of segment table, protection and sharing, fragmentation, segmentation with paging. Virtual Memory – Demand paging, Page replacement algorithms, page allocation policies – Thrashing, hierarchical address translation tables, MMUS
Unit 5: File Management (12 Hrs)
File Structure, File types, File access, File attributes, File operations, Directories – Flat directory systems, hierarchical directory systems. File system implementation – Allocation methods, contiguous allocation, linked allocation, indexed allocation.
Book of Study
1. Siberschatz, Galvin, Gagne: Operating System Concepts, 7th Edition
Reference Texts:
1. Andrew S. Tanenbaum, Modern Operating Systems, Prentice Hall India
2. Dhamdhere, System software and operating systems – Tata Mc Graw Hill
Course Title: Introduction to Computer
Course Code: ICSC1CR3
Total Credits: 3
Course Objectives
After successful completion of the course the students will be able to:
· understand basic functions of computer hardware, software components including memory & operating systems
· understand the concept of networking and internet
· understand IT and its impact on society.
Module: 1
Introduction: Functional units of a computer system, Different types of computers, Computer Software and Hardware, Types of Software (System software and Application software). Characteristics of Computers. Computer Languages (Machine, Assembly and Higher-Level languages- 3GL,4GL,5GL). (8 Hrs.)
Module: 2
Interaction with Computers, Data Processing and Storage Information: Input devices, Output devices. Representation of Data, Processing of Data, the CPU, Memory, different types of RAM and ROM. Types of Storage devices (Magnetic storage devices, Optical storage devices, Solid state storage devices), SSD-types, performance, benefits; Graphics Processing Unit (GPU) . (12 Hrs.)
Module: 3
Introduction to Operating Systems, Networking: Definition of an Operating System, Different types of PC Operating Systems, File Management (file access methods, file operations, file naming). Computer Network: Basic elements of communication system, Data transmission modes. Data transmission speed, Data transmission media (twisted pair wire, coaxial cable, Microwave system, Communication satellite, Optical fibers), Modems, Categories of networks (PAN, CAN, LAN, WAN, MAN). (12 Hrs.)
Module: 4
Internet: Definition, Working of Internet, Major features of Internet, Major services (WWW, Electronic mail, FTP, Chat, Instant messaging, Telnet, Usenet News, Online services, Peer-to-peer services), TCP/IP, URL's, Web Browsers, Major elements of Internet Search engines, Popular Search Engines, Uses of the Internet, WWAN, Academic service (INFLIBNET, NPTEL, NICNET, BRNET).(12 Hrs.)
Module: 5
Introduction to Cyber World: Cyber space, introducing cyber laws, Scope of cyber laws (E-commerce, online, contracts, IPRs(copyrights ,trademarks, and software patenting) ; cyber ethics, Cyber Addiction- types of internet addiction, causes of cyber addiction, effects of Internet addiction; Cyber Crimes-Introduction, categories of cybercrime, types of cybercrimes. (10 Hrs.)
Course Title: Database Management Systems
Course Code: ICSC1CR4
Total Credits: 3
Course Objectives
On completion of the course, the student should have:
· a clear concept on databases, data models, architecture and components od DBMS
· the concept of entity, attributes, associations and relationships concept of tables and its properties, table creation and manipulation of tables and databases using SQL.
· the concept of DDL and DML facilities.
Module: 1
Database Management System Concepts: Introduction, Significance of Databases, Advantages of database approach; Data Independence; Components of Database Systems, classification of Users, the Database Administrator (DBA) and his responsibilities; advantages and disadvantages of Database Management System. (9 Hrs.)
Module: 2
Entity attributes and Data Models for a Database; Entities and their Attributes, different types of Entities and Attributes, Association and relationships and their different types E-R Diagrams. Data Models, Hierarchical, Network and Relational data models. Benefits and Application of each Data models. (9 Hrs.)
Module: 3
DBMS Architecture and Schema, Data Dictionary. Three Level Architecture of DBMS, The External Level or Subschema, The Conceptual Level or Conceptual Schema, The Internal Level or Physical Schema, Data Definition Language, Data Manipulation Language: Database Management System Structure, Database Manager, Database Administrator, Data Dictionary: Brief introduction to Distributed databases and Client /Server Architecture. (10 Hrs.)
Module: 4
The Relational Approach to DBMS: The Concept of relations in Mathematics, Mathematical concept of sets, relations and functions, Relational approach to DBMS Attributes and Domains ; concept and properties of tables, cardinality and degree of relations, keys and different types of keys; strong entities and weak entities, Entity integrity rule, the foreign key and rule of referential integrity. Representation of relational database schemas, integrity constraints and different types; Relational Algebra. Operators in Relational Algebra. (12 Hrs.)
Module: 5
The Structured Query Language (SQL). The need for SQL. Brief introduction to query languages and its evolution Basic structure of SQL queries, Data Definition Commands : Data types in SQL, CREATE , ALTER „DROP Commands Adding constraints in SQL, Basic operations in Data Manipulation Using SQL, INSERT, SELECT, DELETE, UPDATE, Substring comparison using LIKE operator, BETWEEN operator, SQL set operations UNION, EXCEPT, INTERSECT: order By and Group By clauses, complex queries in SQL, Nested queries, EXISTS and UNIQUE functions, Renaming of attributes and Joining of tables, Aggregate functions, Creating and Managing Views. (14 Hrs.)
Course Title: R Programming and Mathematics for Artificial Intelligence
Course Code: ICSC3CR3
Total Credits: 3
Course Outcome
· On completion first two units of the course, students will be able to use R language for programming purposes
· The remaining three units will enable the student to become confident in the mathematical portions needed in the field of artificial intelligence.
· The lab sessions for the paper is so designed to make the student an expert in R to solve problems in mathematics.
Module 1:
R Programming -Fundamentals, installation and use of software, data editing, use of R as a calculator, functions and assignments, arguments, scope, logic and statements in R, logical equivalence, Sets with R: Cardinality, Equality, Empty set, Subset, Union, Intersection, Complement, Cross product and Algebraic properties. (12 Hrs.)
Module 2:
R Programming - Exploring and cleaning data for analysis, Data organization, Arrays, and Matrices, Basics of Arrays in R, Matrix operations, Advanced Matrix operations, Additional Matrix facilities, Lists and Data frames. Mapping models to Machine Learning, Evaluating and Validating models, Probability distributions in R, Statistical models in R, building linear models, Generalized linear models, Nonlinear least squares and maximum likelihood models. (14 Hrs.)
Module 3:
Sets, Operations on sets, Venn Diagrams, Multi Sets, Binary Relations, Equivalence Relations, Ordering Relations, Operations on Relations, Partial Orders. Statements and Notation, Connectives, Quantified Propositions, Logical Inferences, Methods of Proof of an Implication,
First Order Logic and other Methods of Proof, Rules of Inference for Quantified Propositions, Proof by Mathematical Induction. (15 Hrs.)
Module 4:
Linear Algebra – System of Linear equations, Solving System of Linear equations, Linear Independence, Vectors, Scalars, Addition, Scalar multiplication, dot product, vector projection, cosine similarity. Support Vector Machines, Implementation using Python, Classification using Support Vector Machines. (15 Hrs.)
Module 5:
Matrices, determinants, inverse of matrix. System of equations, Linear transformation - rank and nullity, Consistency, and Inconsistency of linear system of equations, rank nullity theorem, Echelon form of a matrix and Row reduced echelon form of matrix. Correlation coefficient, Eigen values and Eigen vectors. Principle Component analysis (PCA) – Concepts and properties. Dimensionality reduction with PCA. (16 Hrs.)
Course Title: Programming in C
Course Code: ICSC1CR2
Total Credits: 3
Course Objectives
On completion of the course:
· the student will be able to write a complete C program
· he/she will be able to use decision making statements and looping structures
· should have a clear concept on one-dimensional, two-dimensional arrays, modular programming using user defined functions
· clarity on concept of strings, structures and Unions
· should be able to use files for input and output
· basic ideas on dynamic storage allocation and command line arguments
Module 1:
Algorithm and flow chart (structure, desirable qualities, simple examples (sequential, branching and iterative)). Basic concepts in machine language program and program execution, assembly language program and assembler, High level language program and translators (compilers and interpreters). Procedural programming paradigm - examples. Steps in developing a program - (problem analysis, algorithm design, coding, debugging, testing, documentation). Approaches - top down and bottom-up approaches. C Language - structure of a C program - simple sequential program. Role of editor. Compilation, linking and execution under Windows and Linux. IDEs. Types of errors. (14 Hrs.)
Module 2:
Keywords, constants, variables, data types and variable names, assignment statement. Operators and expressions (including increment, decrement and sizeof() ), precedence and order of execution, mixed mode expressions and type conversions. Elementary ideas in function ( C program as a collection of functions), main function. Formatted input and output. Simple sequential programs. Decision making: The goto statement, if, if-else, nesting of if, else if ladder and switch statement, conditional expression. Example programs based on decision making. (12 Hrs.)
Module 3:
Control statements: The while loop, the do...while loop, the for loop, nesting of for loops, the break statement and continue statement. Example programs. Functions, basics, prototype, parameter passing, storage classes, recursion. Built-in functions. Example programs. (14 Hrs.)
Module: 4
Arrays, arrays and functions. Strings, string operations and algorithms, string functions in C. Example programs using arrays and strings (including simple search and sort, matrix operations). Pointers - basic concepts, pointer arithmetic, pointers and arrays, pointers and strings, pointers and functions. Dynamic memory allocation, Simple programs using pointers. (16 Hrs.)
Module 5:
Structures - basics, array of structures, pointers and structures, structure and function, self-referential structures, union. Programs using structures. The Pre-processor: File Inclusion, Macro Definition and Substitution, Macros with Arguments, Nesting of Macros, Conditional Compilation. (Simple illustrative examples) File Management: Defining and Opening a file, Closing Files, Input/Output Operations on Files, Predefined Streams, Error Handling during 1/0 Operations, Random Access to Files, Command Line Arguments. Simple examples of file creation. (16 Hrs.)
Book of Study
1. Programming in Ansi C: E Balagurusami 8th edition MC GRAW HILL INDIA publishers
References
1: Programming with C: Byron S Gottfried, schaumes outline series 4th edition
2: Programming in C: Ashok n Kamthane: Pearson education 3rd edition
3: Let us C: Yeshwant Kanetkar 16th edition BPB publishers