Module: A5-R5- Data Structure through Object Oriented Programming Language
Detailed Syllabus
Object Oriented Concepts
Object Oriented Programming- a new paradigm, Abstraction, forms of Abstraction,
OOP concepts- Classes, Objects, Polymorphism, Data Encapsulation, Data Hiding,
Inheritance,
Basics of C++, Classes and Objects
Features of C++, Tokens, keywords, Data types, Operators, Manipulators, Console
input, output, Control statements (conditional and loops), Functions, Classes,
Instantiation, Destructor, constructor, Polymorphism - Operator Overloading,
Function Overloading, Inheritance-Single, Multiple, Multilevel, Pointers
Analysis of Algorithm
Introduction to algorithm design and Data structures, Comparison of Algorithms,
Complexity in terms of space and time, Calculation of O- notation. Abstract Data
type and its implementation with a Rational number example
Searching and Sorting
Searching- Linear and Binary Search, Sorting- Bubble Sort, Selection Sort, Insertion
Sort, Quick Sort, Merge Sort, Comparison of various searching and sorting
techniques in terms of time complexity
Elementary Data Structures: Arrays, Linked Lists
Representation of arrays-single and multidimensional, Address calculation using
row major ordering, Various operations on arrays, Linked Lists-Singly Linked List,
Double linked List, Circular Linked List- traversing, deleting, inserting, searching,
counting, reversing, printing of nodes.
Stacks and Queues
Stack ADT, Implementation of stack using array and linked list, Application of
Stack- Evaluation of postfix/prefix expression, Queue ADT, Implementation of
queue using Array and Linked List
Trees
Definition and notations, Binary Search Trees Implementation. Traversals using
stacks and recursion - In-order, post-order, pre-order techniques, Threaded binary
tree, B-trees with implementation of 2-3 trees.
Graphs
Definition and notations, Components of Graphs, Types of Graphs, Graph
Implementation using Adjacency Matrix and Adjacency List algorithms and
programs, Graph Traversal Methods: Depth First Search and Breadth First Search.
Module: A6-R5-Computer Organization and Operating System
Detailed Syllabus
Part 1 – Computer Organization
Basic Structure of Computers
Structure of a Computer System, Arithmetic Logic Unit, Control Unit, Bus
Structure, Von Neumann Architecture.
Computer Arithmetic Operations
Introduction to logic gates, Boolean algebra, Data Representation-Number system,
Fixed and Floating point numbers, Floating point representation, Signed numbers,
Binary Arithmetic, 1’s and 2’s Complements Arithmetic, Binary adder, 2’s
Complement method for multiplication, Map Simplification.
Central Processing Unit and Instructions:
General Register Organization, Types of Instructions, Instruction Formats,
Addressing Modes, Data Transfer and Manipulation, Program Control, Instruction
cycle.
Memory Organization:
Characteristics of Memory Systems, Type of memories, Main memory, Static &
Dynamic memories, Secondary Memory, Performance Considerations, Cache
Memory with mapping, Virtual Memory, Address memory used pages, page
replacement, Introduction to RAID.
I/O Organization
Peripheral Devices, Input-Output Interface, Asynchronous Data Transfer Modes,
Interrupt handling, Types of Interrupts, Priority Interrupt, Direct Memory Access,
Input-Output Processor (IOP), Synchronous and Asynchronous Data Transfer.
Part 2 – Operating System
Operating Systems Overview:
Overview of Computer Operating Systems, Types of OS, Functions of OS,
Protection and Security, Distributed Operating Systems, System Calls, Scheduling
algorithms, memory management, threads.
Linux Basics
Open source, Overview of Linux, Basic Linux commands, structure of kernel and
shell, Getting help, Linux File System, Some Important Directories, Inodes, Current
Working Directory, File and Directory Names, Absolute and Relative Pathnames,
Creating and Removing Directories, Changing Directories, Listing Directory
Contents, Creating and Removing Files, Copying Files and Directories, Moving and
Renaming Files and Directories, fundamental file types, Hard Links, Symbolic ( or
soft) Links, Viewing and working with large Text files – cat, more, less, head, tail,
cut commands, search text within a file, grep.
Process Management and Shell Script
Processes: Definition, Process Relationship, Process states, Process State
transitions, Process Control Block, Context switching – Threads – Concept of
multithreads, Listing Processes, Finding Processes, Foreground and background
processes, Interactive Process management tools, Sending signals to processes.
Shell Script, shell variables, control structure using variables in shell script.
Users, Groups and Permissions
Users, Groups, Linux File Security, Examining Permissions, accessing root user,
creating user and groups, Changing File Ownership, Changing Permissions –
Symbolic Method, Numeric Method, /etc/passwd, /etc/shadow and /etc/group files,
Monitoring Logins, Default Permissions, Special Permissions umask, passwd.
Standard I/O and Pipes
Standard Input and Output, Redirecting Output to a File, Redirecting STDOUT to a
Program(Piping), Combining Output and Errors, Redirecting to Multiple Targets
(tee), Redirecting STDIN from a file.
Finding and Processing Files
Locate, find, Basic find Examples, find and Logical Operators, find and
Permissions, find and Access Times
Module: A7-R5-Databases Technologies
Detailed Syllabus
An Overview of the Database Management System
What is database? Why database? Database system, database management system (DBMS), advantages of DBMS.
An Architecture of the Database system
Three levels of architecture, Logical View, Physical View, Conceptual View, Logical data independence, Physical Data Independence
Relational Database Management System (RDBMS)
Introduction, RDBMS terminology, relational model, base tables, keys, primary key, foreign key, constraints, Codd Rules
Database Design
Normalization, Normal forms-1NF, 2NF, 3NF, BCNF 4NF and 5NF, E-R Diagram. Mapping ER-diagram to database tables.
Maria DB
Introduction to Maria DB, Data Types, SQL Commands, Create, insert, update, delete, drop, alter, SQL functions (String functions, date functions), indexing, key, primary key, foreign key
Manipulating Data with Maria DB
SQL Statements, Select, like clause, group by, order by, joins-left join, natural join, right join, union. Correlated and nested queries. Backup and restore commands
NoSQL Database Technology
Introduction to NoSQL Databases, Difference between relational and NoSQL databases. NoSQL features, types, advantages, Architecture of MongoDB, Documents, Collections, Dynamic Schemas, Mongo Shell, Mongo Server and Client, Data Types, Embedded Documents, Creating Configuration file for Mongo, JSON File format for storing documents, Inserting and Saving Documents, Batch
Insert, Insert Validation, Removing Documents, Updating Documents, Document Replacement, Using Modifiers, Updating Multiple Documents, Returning Updated Documents, Introduction to Indexing, Introduction to Compound Indexes, Using Compound Indexes, Indexing Objects and Arrays, Aggregation Framework, Pipeline Operations- $match, $project, $group, $unwind, $sort, $limit, $skip, Using Pipelines, MongoDB and MapReduce, Aggregation Commands, Introduction to Replication, configuring a Replica Set, Member Configuration Options
Selecting the Right Database
Selection of right databases, RDBMS or NoSQL, selection of database based on performance, data size, type of data, frequency of accessing data, business needs, type of application.
Module: A8-R5-Systems Analysis, Design and Testing
Detailed Syllabus
Introduction
System Definition and concepts, types of systems, systems user, designers, analysts, introduction to simple system development process- initiation, analysis, design, coding, testing, implementation and maintenance. Basic principles of successful systems, Role and Need of Systems Analyst. Qualifications and responsibilities, System Analysis as a Profession.
Requirement Gathering and Feasibility Analysis
System requirements specification, Classification of requirements as strategic, tactical, operational and statutory, Requirement gathering techniques- interview, questionnaire, on-site observation, document observation, selecting appropriate technique, Feasibility analysis, deciding project goals, examining alternative solutions, Cost Benefit Analysis, quantifications of costs and benefits, payback period, system proposal preparation for managements, parts and documentation of a proposal
Structured Analysis
Data flow diagrams, case study for use of DFD, good conventions, Levelling of DFDs, Levelling rules, Logical and physical DFDs, Software tools to create DFDs. Preparation of Software Requirement Specification
Structured Design
Entity relationship model, E-R diagrams, Relationships cardinality and participation, Normalizing relations, various normal forms and their need, Some examples of relational data base design. Data input methods, designing outputs, output devices, designing output reports, screen design, graphical user interfaces, interactive I/O on terminals. Application Architecture, server-based architecture, client-based architecture, n-tier architecture, Program design- structured chart. Preparation of Design Specification Document,
Object Oriented Modelling using UML
Object Oriented (OO) Development Life Cycle and Modelling. Static and dynamic modelling. Comparison of OO and Module-oriented Approach. Modelling using UML; class diagram, use case diagram, object diagram, package diagram, activity diagram, interaction diagrams, sequence diagram, state transition diagram.
Deployment diagram, component Diagram.
Different Software Development approaches-waterfall model, prototype, rapid application development, spiral, agile development, DevOps development methodology.
Distributed System, centralized versus distributed system, components of distributed system-processes, interfaces and data. Layers of distributed system-presentation layers, application logic layer, data manipulation layer and data layer. Design and layers of Internet Based applications.
Testing
Software Testing, need for software testing, types of testing, Functional Testing-unit testing, integration testing, user acceptance. Non-functional Testing-performance, stress testing, peak load testing, Maintenance Testing-Regression Testing.
System Implementation and Maintenance
Planning considerations, Conversion methods, procedures and controls, System acceptance criteria, System Evaluation and Performance, Testing and Validation. Preparing, User Manual, Maintenance Activities and Issues.
Other Software Development Approaches
Different Software Development approaches-waterfall model, prototype, rapid application development, spiral, agile development, DevOps development methodology.
Distributed System, centralized versus distributed system, components of distributed system-processes, interfaces and data. Layers of distributed system-presentation layers, application logic layer, data manipulation layer and data layer. Design and layers of Internet Based applications.
Module: A9.1-R5-Big Data Analytics Using Hadoop
Detailed Syllabus
Analyze and Define Business Requirement
Introduction to Business Intelligence, Business Analytics, Data, Information, how information hierarchy can be improved/introduced, understanding Business Analytics, Introduction to OLAP, OLTP, data mining and data warehouse. Difference between OLAP and OLTP.
Introduction to database, characteristics of data in database, DBMS, advantages of DBMS, file-oriented approach versus Database-oriented approach to Data Management, disadvantages of file- oriented approach. A brief overview of relational model. Definition of relation, properties of relational model, Concept of keys: candidate key, primary key, alternate key, foreign key, Fundamental integrity rules:
entity integrity, referential integrity. SQL statements: Insert, delete, update and select. Join, union.
Introduction to Operating System
Introduction to Ubuntu Operating System, Managing files and folder through command line and Desktop. Basic Ubuntu commands like ls, mkdir, clear, rm. Creating users and groups in Ubuntu. User priviledges and roles (chown and chm commands),gedit editor. Secure shell configuration, configuring. bashrc and environment files.
Java Programming
OOPS Principles, an Overview of Java Object-Oriented Programming, Data Types, Variables, and Arrays, Operators-Arithmetic Operators, The Bitwise Operators ,Relational Operators, Boolean ,Logical Operators, Programming Constructs, Methods and Inheritance, The basic Java I/O Classes and String Handling Exception-Handling Fundamentals, Exception Types, Uncaught Exceptions, Using try and catch , Displaying a Description of an Exception ,Multiple catch Clauses , Nested try Statements , Throw throws finally Java’s Built-in Exceptions Packages, Access Protection, Importing Packages and Interfaces Java Swing and its controls like JTextField, JLabel, JComboBox, JTable, JButton, JScrollBar, JOptionPane and JMenu. Java Database Connectivity JDBC-ODBC Bridge JDBC Drivers Creating DSN Driver Manager, Connection, Statement, Result Set. Connecting Java with Database.
Hadoop Framework and Map-Reduce Programming Technique
Big Data Concepts, Need for analyzing Big Data, its roles in Business Intelligence and decision making. Big Data, Hadoop Architecture, Hadoop ecosystem components, storage, Hadoop Distributed File System (HDFS), Single node installation. Multi node installations. Cluster Architecture, Cluster configuration files Hadoop commands, Hadoop Server Role, name Node, secondary node, data node, file write and read. Shell commands, Accessing files on HDFS and local machine, Map Reduce Framework, Developing Map Reduce Programs, structure of Map Reduce program,
Analysing Data Using HIVE
Introduction to HIVE, installing HIVE, Data types, HIVE shell, HIVE commands, HIVE SQL, creating database and tables, bulk loading of data, SQL DML statements, SQL Join, HIVE Functions, Complex Data types, UDF in Hive using Java
Basics of R Programming and RHIVE
R Overview, Basic Syntax, Data types, R Control constructs like loop and conditional, R Function. Connecting R with Hive.
HIVE JDBC Connectivity
Starting HIVE in client-server mode, beeline, mapping HIVE datatype with Java datatypes, Connecting Java with HIVE. Integrating Java Swing, HIVE and JDBC for developing front end application.
Introduction to HBASE, PIG and JAQL
HBASE introduction, integration with Hadoop, HBase Shell, introduction to JAQL data model, JAQL shell, introduction to JSON files and accessing JSON files through JAQL. Introduction to PIG.
Comments