Course image Programming in Java
Integrated MSc Computer Science (Data Science)

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.


Course image Advanced Python Programming
Integrated MSc Computer Science (Data Science)

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.


Course image Operating System Concepts
Integrated MSc Computer Science (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




Course image Full Stack Programming Techniques
Integrated MSc Computer Science (Data Science)

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.


Course image Mobile Application Development using Kotlin
Integrated MSc Computer Science (Data Science)

Upon successful completion of this course, students should be able to:

·       Familiarize with Kotlin programming

·       Develop Android applications using Kotlin


Course image Probability and Statistics for 3rd sem IMSc
Integrated MSc Computer Science (Data Science)

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

Course image OOPS with C++
Integrated MSc Computer Science (Data Science)

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


Course image Data Structures
Integrated MSc Computer Science (Data Science)

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


Course image Operating System
Integrated MSc Computer Science (Data Science)

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