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