Hey, guys here are the topics of the MCA (Master of Computer Application) Course that will lead to you the full post on that topic. If there is something missing or you want me to add that here please comment down in the comment section.
MCA 1st Semester
Problem-Solving Techniques (C Language)
- Introduction
- Functions
- Arrays
- Problem-Solving Strategies
- Algorithmic Approaches
- Problem-Solving Strategies
- Structure, Union, and File Handling
Discrete Mathematics
- Propositions and Logic
- Propositions and Compound Propositions
- Logical Operations
- Truth Tables
- Tautologies and Contradictions
- Logical Equivalence
- Algebra of Propositions
- Conditional and Biconditional Statements
- Arguments
- Logical Implications
- Quantifiers
- Negation of Quantified Statements
- Basic Counting Principles
- Factorial
- Binomial Coefficient
- Permutations
- Combinations
- Pigeonhole Principle
- Mathematical Induction
- Order and Inequalities
- Mathematical Induction
- Division Algorithms
- Divisibility
- Euclidean Algorithm
- Fundamental Theorem of Arithmetic
- Congruence Relation
- Congruence Equations
- Semigroups
- Groups
- Subgroups
- Normal Subgroups
- Homomorphism
- Rings
- Integral Domains
- Fields
- Polynomials Over a Field
- Recurrence Relations
- Towers of Hanoi
- Iterations
- Homogeneous Linear Equations with Constant Coefficients
- Particular Solution
- Solution of Homogenous Recurrence Relations with Particular Solutions and Total Solutions
- Difference Table
- Finite Order Differences
- Line in a Place in General Position
- Graph Theory
- Paths
- Connectivity
- Subgraphs
- Isomorphism
- Trees
- Complete Graphs
- Bipartite Graphs
- Matchings Colourability
- Planarity
- Digraphs
- Classification of Languages
- Overview of Formal Languages
- Representation of Regular Languages and Grammars
- Finite State Machine
- Overview of Formal Languages
Operating System
- Fundamental Concepts of OS
- Introduction
- Types of Operating Systems
- General System Architecture
- Linux Basics
- History of Linux
- History
- FOSS
- Current Linux Distributions
- Linux Layers
- The Linux Shell (Different Kinds of Shell)
- Process
- Files and Directories
- History of Linux
- Process Management and Shells
- Process Management
- Process Concept
- Concurrent Process Scheduling Concepts
- CPU Scheduling
- Critical Section
- Semaphores
- Interprocess Communication
- DeadLocks
- Characterizations
- Prevention
- Avoidance and Detection
- Getting Started with Shell Programming
- The Bash Shell
- Shell Commands
- The Role of Shell in the Linux Environment
- Setting Up Permissions on a Script
- Execute a Script
- Variables in Shell
- Rules for Naming Variable Names
- Display the Value of Shell Variables
- Unset Shell and Environment Variables
- Getting User Input Via Keyboard
- Commonly Used Commands and Utilities
- Process Management
- Memory Management and Basic Administration in Linux
- Storage Management
- Swapping
- Single and Partition Allocation
- Paging
- Segment
- Page Segmentation
- Virtual Memory
- Demand paging
- Page Replacement and Algorithms
- Thrashing
- Basic System Administration (Run Levels, User Accounts)
- Kernel Administration
- Linux Kernel Sources
- Rebuilding Kernel
- Installing Kernel
- Managing Users
- File System and Editing Files
- Files and Protection
- File System Organization
- File Operations
- Access Methods
- Consistency Semantics
- Directory Structure Organization
- File Protection
- Implementation Issues
- Security Encryption
- File Systems
- Linux Files
- Directories and Archives
- The VI Editor
- AWK
- SED
- The X Window System
- Desktop (Desktop environments – Gnome, KDE, XFCE)
- The X Window System
- Xorg
- Window Manager
- Display managers
- Widget Libraries or Toolkits
- Athena Widgets
- Motif Toolkit
- GTK
- QT
- LessTif
- Case study – Linux vs Windows Operating System
Database Management System
- Introduction to Database Management System
- An overview of the database management system
- Database System Vs File System
- Database System Concepts and Architecture
- Data Models
- Schema and Instances
- Data Independence and Data Base Language and Interface
- Data Definition Language
- Data Manipulation Language
- Overall Database Structure
- Entity Relationship Model
- Conceptual Modelling of a Database
- The Entity Relationship Model (ER Model)
- Entity Types
- Entity Sets
- Attributes and Keys
- Relationship Types
- Relationship Sets
- Weak Entity Types
- Generalization, Specialization, and Aggregation
- Extended Entity Relationship (EER Model)
- Relational Model and SQL Query
- Relational Data Model Concepts
- Entity Constraint
- Referential Integrity
- Keys Constraints
- Entity Integrity Constraint
- Domain Constraint
- Relational Algebra
- Relational Calculus
- Tuple and Domain Calculus
- Entity Constraint
- Introduction to SQL
- Characteristic of SQL
- Advantage of SQL
- SQL Data Type and Literals
- Types of SQL Commands
- SQL Operators and Their Procedures
- Tables, Views, and Indexes
- Queries and Subqueries
- Aggregate Functions
- Insert, Update and Delete Operations
- Joins
- Unions
- Intersections
- Minus
- Cursor
- Triggers
- Procedures in SQL/PLSQL
- Relational Data Model Concepts
- Normalization
- Functional Dependency
- Normal Forms
- First Form
- Second Form
- Third Form
- BCNF
- Inclusive Dependence
- Loss Less Join Decompositions
- Normalization using FD, MVD, and JDs
- Alternative Approaches to Database Design
- Overview of Transaction Management and Concurrency Control
- Overview of Transaction Management
- ACID Properties
- Transaction and Schedules
- Concurrent Execution of Transaction
- Lock-Based Concurrency Control
- Performance Locking
- Transaction support in SQL
- Introduction to Crash Recovery
- Concurrency Control
- Serializability and Recoverability
- Introduction to Lock management
- Lock Conversions
- Dealing with Dead Locks
- Specialized Locking Techniques
- Concurrency Without Locking
- Overview of Transaction Management
Data Communication and Networking
- Introduction to Computer Network and Data Communication
- Introduction to Computer Network
- Definition and Uses of Computer Network
- Criteria for a Data Communication Network
- Classification of Computer Network
- Network Topology
- Transmission Media
- Guided and Unguided Media
- Introduction to Computer Network
- Network Models and Protocol Suite
- Protocol and Standards
- OSI Model
- TCP/IP Protocol Suite
- Comparison of OSI and TCP/IP Model: IPv4, Physical…
- Digital Transmission and Analog Transmission
- Digital Transmission
- Digital to Digital Conversion
- Analog to Digital Conversion
- Pulse Code Modulation
- Delta Modulation
- Transmission Modes
- Analog Transmission
- Digital to Analog Conversion
- ASK, FSK, PSK
- Analog to Analog Conversion
- Modulation Techniques
- Digital Transmission
- Switching, Error Detection, and Correction
- Multiplexing
- Switching
- Circuit Switched Networks
- Data Gram Networks
- Virtual Circuit Networks
- Dial-up Modems
- DSL
- Error Detection and Correction
- Block Coding
- Cycling Codes
- Linear Block Codes
- Checksum
- Data Link Control and Internet
- Framing
- Flow and Error Control Protocols
- Noisy and Noiseless Channels
- Application Layer
- Simple Mail Transfer Protocol (SMTP)
- File Transfer Protocol(FTP)
- Telnet Protocol
- Internet and WWW
- History of Internet
- Internet Basics
- HyperText Transfer Protocol (HTTP)
- World Wide Web (WWW)
- Security of Internet
- Email Security
- Framing
Research Methodology and IPR
- Introduction to Research
- Research Definition
- Types of Research
- Descriptive
- Analytical
- Applied
- Fundamental
- Quantitative
- Qualitative
- Conceptual
- Empirical
- Concepts of Interdisciplinary Research
- Procedures in Research
- Identification of the Problem
- Literature Surveys
- Experimental Methods
- Types of Research Surveys
- Face-to-Face Questionnaire
- Discourse Analysis
- Biographical Data Analysis
- Data Collection for Research
- Data Collection
- Source of Data
- Primary Data
- Secondary Data
- Procedure Questionnaire
- Sampling Methods
- Merits and Demerits
- Experiments
- Observation Method
- Sampling Errors
- Type 1 Error
- Type 2 Error
- Sampling Analysis and Computer Application
- Primary and Secondary Data
- Collection and Validation
- Method of Sampling
- Simple Random Sampling
- Systematic Sampling
- Clustered Sampling
- Stratified Sampling
- Attitude Measurements
- Land Scale
- Scaling of Attitude
- Measurement Models
- Summative Models
- Introduction to Spread Sheet Applications
- Features and Functions
- Using Formulas and Functions
- Data Storing
- Features for Statistical Analysis
- Generating Charts/Graphs
- PowerPoint Presentation
- Research Report
- Types of Research Reports
- Contents
- Steps in Drafting
- Editing and Evaluating the Final Draft
- Styles for Figures
- Tables
- Text
- Quoting of Reference and Bibliography
- Use and Format of Appendices
- Indexing
- Structure and Presentation of Research Project
- Research Ethics
- Plagiarism
- Intellectual Properties Rights
- Intellectual Property System in India
- Scope of Patent Right
- Licensing and Transfer of Technology
- Patent Information and Database
- Geographical Indications
- Administration of Patent System
- New Developments in IPR
- IPR of Biological Systems
- Computer Software
- Research in Computer Science
- Research Topics in Computer Science
- Image Processing
- Networking
- Data Mining
- Journals and Conferences
- Web of Science and Scopus Indexed Journals
- Impact Factor
- Google Scholar
- Plagiarism Software tools
MCA 2nd Semester
Object Oriented Programming with Java
- Class Modelling and Advance Class Modelling
- Object Modelling:
- Objects and Classes
- Links and Associations
- Generalization and Inheritance
- Aggregation
- Abstract Class
- Multiple Inheritance
- Derived Data and Packages
- Object Modelling:
- State Modelling and Interaction Modelling
- Dynamic Modelling
- Events and States
- Transitions and Conditions
- State Diagram
- State Diagram Behaviour
- Advanced Dynamic Modelling Concepts
- A Simple Dynamic Model
- Interaction Modelling
- Use Case Models
- Sequence Models
- Activity Models
- Dynamic Modelling
- Java Programming Language with OOPs
- Features of Java
- Byte Code
- Java Virtual Machine
- JDK
- Java Environment
- Developing a Simple Program
- Operators
- Data Types
- Variables
- Define the Structure of a Java Class
- Create Executable Java Applications with a Main Method
- Run a Java Program from Command Line Interface including the console output
- Features of Java
- Platform Independence
- Object Orientation
- Security
- Introduction to Eclipse
- Jar Files
- Arrays
- Declare, Instantiate, Initialize and Use a One Dimensional Array
- Declare, Instantiate, Initialize, and Use of Multi-Dimensional Array
- Wrapper Class, Develop Code that uses wrapper classes such as Boolean, Double, and Integer
- String, String Buffer Class, Operations on String
- Inheritance and Exception Handling
- Inheritance and Its benefits
- Develop code that demonstrates the use of polymorphism
- Including Overriding and Object Type vs Reference Type
- Determine when casting is necessary
- Use Super and This to access objects and Constructors
- Use Abstract Classes and Interfaces
- Exception Handling
- Differentiate among checked exceptions, unchecked exceptions, and errors.
- Create a Try-Catch block and determine how exceptions alter the normal program flow
- Describe the Advantages of Exception Handling
- Create and Invoke a method that throws an Exception
- Recognize Common Exception Classes like
- NullPointerException
- ArithmeticException
- ArrayIndexOutOfBoundsException
- ClassCastException
- Manipulate Data using the StringBuilder class and its methods
- Creating and Manipulating Strings
- Create and Manipulate Calendar Data using Classes from Java.time package
- Threads, Collections, and JDBC
- MultiThreading
- Collection
- List Classes
- Map
- Set Classes
- Introduction to JDBC API
- Types of Driver Statements
- Prepared Statement and Callable Statement
- ResultSet
- Performing insert, update and delete operations
- Transaction Management – Commit and Rollback
- Lab Experiments
- Demonstration of Java Programs to implement various control structures
- If statement
- Switch Case Statement
- Do While Loop
- For Loop
- While Loop
- Demonstration of Java Programs to implement various control structures
Data Structure using C
- Arrays and Lists
- Introduction
- Basic Terminology
- Elementary Data Organization
- Data Structure Operations
- Abstract Data Type (ADT)
- Algorithm Complexity
- Time-Space trade-off
- Array
- Array Definition
- Representation and Analysis
- Single and MultiDimensional array
- Applications of Array
- Sparse Metrices
- Lists
- Applications of Lists
- Polynomial Representation and Addition
- Introduction
- Stack and Queue
- Stack
- Application of Stack
- Conversion of Infix to Prefix and PostFix Expression
- Recursion
- Queue
- Representation and Implementation of Queue
- Circular Queue
- Deque
- Priority Queue
- Tree
- Binary Tree
- Basic Terminology
- Binary Tree Representation
- Complete Binary Tree
- Extended Binary Tree
- Binary Tree Traversals
- Binary Search Trees
- Binary Search Tree
- AVL Trees
- B-Trees
- Binary Tree
- Graphs
- Graphs: Basic Terminology and Representation
- Graphs and MultiGraphs
- Directed Graphs
- Adjacency Matrices
- Graph Traversal
- Spanning Trees
- Minimum Cost Spanning Trees
- Searching, Sorting, and File Structures
- Searching
- Sorting
- File Structure
- Physical Storage Media File Organization
- Organization of Records into Blocks
- Sequential Files
- Indexing and Hashing
- Primary Indices
- Secondary Indices
- Multi-level Indexing
- Lab Experiments
- Write a Program to implement the array operations
- Write a program to implement the stack and its operations
- WAP to implement Stack application: Tower of Hanoi
- WAP to implement Queue and Its operations
- WAP to implement the circular queue and its operation
- WAP to implement the dequeue and its operation
- WAP to implement the Linked list and its operation
- WAP to implement the BST
- WAP to implement the BST insertion process
- WAP to implement the Insertion sort
- WAP to implement the Bubble sort
- WAP to implement the Quick sort
- WAP to implement the Merge sort
- WAP to implement the Heap sort
- WAP to implement the Graph
Web Technologies PBL
- Introduction to Web and HTML
- History of Internet
- Internet Basics
- Use of Protocol on the Internet
- Working of Email
- The Structure of HTTP Request
- The Structure of HTTP Response
- DNS Functionalities
- Introduction to Web Designing
- Web Development Strategies – Web Server, Web Client – Browser & Web Server
- Identify the Problems
- Develop the SRS Document of the Project
- HTML Document
- Basic Structure
- Basic Tags
- Elements
- Attributes
- Formatting
- Comments
- Marquee
- Text
- Image
- List
- Creating Link between Documents
- Creating Tables
- Creating Forms
- The Input Element
- Select Element
- TextArea Element
- Introduction to StyleSheets and Frameworks
- Introduction to DHTML
- Advantages and Disadvantages of DHTML
- Object Model – Underlying Principles of the DHTML
- Basic Components of DHTML, XHTML: Syntax and Semantics
- Introduction to Style Sheets and Frameworks Cascading Style Sheets
- Levels of Style Sheets
- Style
- Specification Format
- Selector Forms
- Property-Value
- Forms
- Font Properties
- List Properties
- Alignment of Text
- Color
- The Box Model
- Background Images
- The Span and Div Tags
- Frameworks – Overview and Basics of Responsive CSS Frameworks
- JavaScript
- Introduction
- Documents
- Forms
- Statements
- Functions
- Objects
- Events and Event Handling
- Error Handling
- Validation
- Introduction to Data Interchange Formats
- XML
- The Syntax of XML
- XML Document Structure
- Namespaces
- XML Schema
- Displaying Raw XML Documents
- Displaying XML Documents with CSS
- XSLT Applications
- JSON
- Overview
- Syntax
- DataTypes
- Objects
- Schema
- Comparison with XML
- XML: DTD
- XML Schemas
- Presenting and Using XML
- XML
- PHP
- PHP (HyperText PreProcessor) Introduction
- Syntax
- Variables
- String
- Operators
- If-else
- Loop
- Switch
- Array
- Functions
- Form
- File upload
- Session
- Error
- Exception
- Filter
- PHP-ODBC
Software Engineering and Testing
- Introduction
- Requirement Engineering Process
- Elicitation
- Analysis
- Documentation
- Review and Management of User Needs
- Feasibility Study
- Information Modeling
- Data Flow Diagram
- Entity Relationship Diagram
- Decision Table
- SRS Document
- IEEE Standards for SRS
- Software Quality Assurance (SQA)
- Verification and Validation
- SQA Plans
- Software Quality Frameworks
- ISO 9000 Models
- SEI-CMM Model
- Software Design
- Software Design
- Abstraction
- Modularity
- Software Architecture
- Effective Modular Design
- Cohesion and Coupling
- Architectural Design and Procedural Design
- Data Flow-Oriented Design
- Design Structure Charts
- Pseudo Codes
- Flow Charts
- Coupling and Cohesion Measures
- Design Strategies
- Function Oriented Design
- Object Oriented Design
- Top Down Design
- Bottom Up Design
- User Interface Design
- User Interface Design
- Human Factors
- Human-Computer Interaction
- Human-Computer Interface Design
- Interface Design
- Interface Standards
- Coding and Testing
- Coding
- Language Classes
- Structured Programming
- Need for Structured Programming
- Coding Standards
- Coding Style
- Maintainability of Program
- Code documentation – Code Efficiency
- Testing
- Software Testing
- Testing Objectives
- Levels of Testing
- Unit Testing
- Integration Testing
- System Testing
- Acceptance Testing
- Path Testing
- Control Structure Testing
- Verification vs Validation and System Testing
- Regression Testing
- Testing for Functionality and Testing for Performance
- Top-Down and Bottom-Up Testing
- Incremental vs None Incremental Testing
- Strategies
- Test Drivers and Test Stubs
- Structural Testing (White Box Testing)
- Functional Testing (Black Box Testing)
- Test Data Suitable Preparation
- Alpha and Beta Testing of Products
- Static Testing Strategies
- Formal Technique Reviews (Peer Reviews)
- Walk Through
- Code Inspection
- Compliance with Design and Coding Standards
- Software Measurement and Metrics
- Various Size Oriented Measures
- Halestead’s Software Science
- Functional Point (FP) Based Measures
- Bang Metrics
- Cyclomatic Complexity Measures
- Control Flow Graph
- DD Graph
- Various Size Oriented Measures
- Coding
- Software Maintenance
- Software as an Evolutionary Entity
- Need for Maintenance
- Category of Maintenance
- Preventive
- Corrective and Perfective Maintenance
- Cost of Maintenance
- Software Re-Engineering
- Reverse Engineering
- Software Configuration Management Activities
- Change Control Process
- Software Version Control
- An Overview of CASE Tools
- Estimation of Various Parameters such as
- Cost,
- Effort,
- Schedule/Duration,
- Constructive Cost Models (COCOMO)
- Resource Allocation Models
- Software Risk Analysis and Management
Programming with Python
Computer Graphics
- Computer Graphics and Its Applications
- Random Scan Display and Raster Scan Display
- DDA Line Algorithm
- Bresenham Line Drawing Algorithm
- Mid Point Line Drawing Algorithm
- Bresenham Circle Drawing Algorithm
- Frame Buffer and Video Controller
- Points and Lines
- CRT (Cathode Ray Technique) Display
- Vector vs Bitmap
MCA 3rd Semester
Web Development Using Python (Django)
- Introduction to Python
- Variables, Numeric Data Types
- If-Elif-Else Statements
- Creating Python Scripts, Definite loops
- functions, lists, and dictionaries.
- OOPS in Python
- Web development framework
- Introduction to Web Development using Django
- HTTP protocol, MVC model
- HTML templates
- Writing views and mapping URLs to Views, Django AP
- Django Form, Form Validation.
- What is Web Framework, Introduction to Django
- App creation and Implementation of Django with Python using examples
- the Changing ERP Market
- Database Connectivity with Python Programming
- Introducing databases and long-term storage, Introduction to SQL syntax
- SQL operations: Creating tables and adding columns, Inserting data to your database
- Deleting data and tables, Creating relationships between tables and other databases
- Querying the database Database Web Programming
- HTML Database Data
- Input Database Data, Update Database Data
- Definition of Restful API
- Understanding JSON understanding GET, POST, PATCH, PUT, DELETE
- Session and cookies
- Working with package managers and virtual environments
- Internet service using Python: Transferring Files With FTP
- Sending Email, Reading Email
- Reading News, Python Email Program.
- Web client programming with Python
- Web Page Structure
- Web Crawler
- Advance Flask features
- Variables
Android App Development PBL (Project-Based Learning)
- History of Android, Features of Android, Android Devices, Android Versions, Open Handset Alliance (OHA), Advantages of Android, Comparing Android with other platforms, Architecture of Android. Android Directory Structure, Structure of Manifest files, Android Development Tools.
- Views, Views Group, Widgets – Button, EditText, CheckBox, TextView, ToggleButton, Layouts, Styles, Themes, Orientation, Screen Size and Density, Unit of measurement – px, dp, sp and dpi,pt, conversion of dp to px
- Activities, Activity life cycle, Intents, types of intents, Intent Filter, Fragment, fragment lifecycle, Services, Broadcast receivers, Content providers, Starting a new activity, Sending and Receiving of data.
- SQLite database, Cursors and content values, Opening and closing Database, Sensors, Bluetooth, Geo Location, SMS & MMS, Graphics and Animation
- Security Creating a signing certificate, Signing your applications for distribution, Publishing on Google Play, Monetization strategies, Application promotion strategies, Using Google Analytics
- Practical:
- Develop an application that uses GUI components, Font and Colours
- Develop an application that uses Layout Managers and event listeners.
- Develop a native calculator application.
- Write an application that draws basic graphical primitives on the screen.
- Develop an application that makes use of database.
- Develop an application that makes use of RSS Feed.
- Implement an application that implements Multi-threading.
- Develop a native application that uses GPS location information.
- Implement an application that writes data to the SD card.
- Implement an application that creates an alert upon receiving a message.
- Write a mobile application that creates alarm clock.
- Create an application to display various activity life cycle.
- Create an application to display fragment life cycle methods.
- Create an application to display services life cycle.
- Create an application that makes use of implicit and explicit intent.
- Create an application for Broadcast sender and receivers.
Design & Analysis Of Algorithm
- Design of Algorithms,
- Growth of function, Complexity of Algorithm
- Asymptotic Notations, Recurrences
- Insertion Sort, Quick Sort, Merge Sort
- Heap Sort,
- Radix sort, Bucket Sort
- Counting sort
- Sorting in linear time, Medians, and order statistic
- Binary Search Trees
- Red Black Trees 1
- Red Black Trees 2
- Red Black Trees 3
- Augmenting Data Structure Binomial Heap
- B-Tree,
- Fibonacci Heap
- Data Structure for Disjoint Set
- Union-find Algorithm,
- Dictionaries and Priority Queues
- Dynamic programming -1
- Dynamic programming -2
- Greedy Algorithm
- Backtracking
- Branch-and-Bound
- Amortized Analysis
- Elementary Graph Algorithms
- Breadth-First Search
- Depth First Search
- Minimum Spanning Tree
- Kruskal’s Algorithms
- Prim’s Algorithms, Single Source Shortest Path
- All pair Shortest Path,
- Maximum flow and Traveling Salesman Problem
- Randomized Algorithms
- String Matching
- NP-Hard and NP-Completeness
- Approximation Algorithms
- Sorting Network
- Matrix Operations,
- Polynomials & FFT,
- Number Theoretic Algorithms
- Algorithms, Analysis of Algorithms, Design of Algorithms
- Complexity of Algorithms, Growth of functions,
- Recurrences and their solution methods: (Substitution and Iteration Methods)
- Recurrences and their solution methods: Master Method
- Insertion sort, Selection Sort, Merge sort
- Heap sort, and Quick sort
- Radix Sort, Bucket Sort
- B Trees: Basic Operations
- B Trees: Deleting a Key
- Binomial Heaps: Operations on Binomial Heaps
- Fibonacci Heaps: Structure, Mergeable Heap Operations
- Fibonacci Heaps: Decreasing a key and deleting a node
- Red-Black Trees: Properties, Rotations
- Red-Black Trees: Inserting a Key
- Data Structures for Disjoint Sets
- Matrix Chain Multiplication
- Matrix Chain Multiplication Contd.
- Elements of Dynamic Programming, Longest Common Subsequence
- Greedy Algorithm: Activity Selection Problem
- Elements of Greedy Strategy, Huffman Codes
- Task Scheduling Problem
- Amortized Analysis: Aggregate and Accounting Method
- Amortized Analysis: Potential Method, Dynamic Tables
- Representation of Graphs, BFS, DFS
- Topological Sorting, Strongly Connected Component
- Minimum Spanning Trees (Algorithm for Kruskal and Prim)
- Dijkstra’s Algorithm
- Bellman Ford Algorithm, Single Source shortest Path in DAG
- All pairs Shortest Path: Floyd Warshall Algorithm
- Maximum Flow: Flow
- Max Flow Min-Cut Theorem, The Ford
- Sorting Network: Bitonic Sorting network, Merging
- Matrix Operations: Strassen’s Algorithm, Solving Systems of Linear equations, Inverting Matrices
- Polynomials and FFT: DFT, FFT, and FFT Implementations
- String Matching: Rabin Karp Algorithm, String Matching using FSA
- String Matching: KMP and Boyer Moore Algorithms.
- Approximation Algorithms (Vertex Cover, TSP, Set Covering, and Sub-set sum Problems)
- Number Theoretic Algorithms: (GCD, Chinese Reminder Theorem, RSA Public Key cryptosystem)
- Theory of NP-Hard and NP-Completeness (Fundamental concepts only)
- Research Topics: Euclidean spanning Tree, Online obstacle Travel Algorithm
- Online Spanning Tree Algorithm based on randomization strategy.
- Parallel and Distributed Algorithms.
- Discussion of some latest research papers published
- Introductions various data analytics tools available in the market like SAS, Apache Spark, BigML etc
Internet Of Things
- Internet of Things (IoT):
- Evolution of IoT and Embedded systems,
- IoT definition and Characteristics,
- Architectural overview,
- Network standards and technologies,
- Physical and Logical Design of IoT,
- protocols,
- M2M communication,
- Design principles of connected devices
- IoT enabled Devices:
- Types of Sensors:
- Motion Sensor,
- Thermal Sensor,
- Pressure Sensor,
- Proximity sensor,
- level indicator,
- Gas sensor,
- smoke sensor,
- IR sensor,
- Digital sensors,
- Analog sensor,
- Humidity Sensor,
- Actuators and their types,
- Radio frequency identification (RFID) technology,
- wireless sensor networks.
- IoT Protocols:
- Protocol Standardization for IoT – Efforts – M2M and WSN Protocols – SCADA and RFID Protocols – Unified Data Standards – Protocols – IEEE 802.15.4 – BACNet Protocol – Modbus– Zigbee Architecture – Network layer – 6LowPAN – CoAP – Security
- Building IOT with RASPERRY PI:
- IoT Systems – Logical Design using Python – IoT PhysicalDevices & Endpoints – IoT Device -Building blocks -Raspberry Pi -Board – Linux on Raspberry Pi – Raspberry Pi Interfaces -Programming Raspberry Pi with Python – Other IoT Platforms – Arduino.
- IoT Applications and Advancements:
- IoT applications on Smart home automation,
- Smart energy management,
- healthcare and wellness,
- precision agriculture and environment,
- transportation and logistics,
- industry and manufacturing,
- IoT app and web development.
- IoT Industry trends and future directions,
- IoT Ethics and Standards,
- IoT Security and privacy concerns.
- Lab
- To write a program to sense the available networks using Arduino.
- To write a program to measure the distance using ultrasonic sensor and makeLED blink using Arduino.
- To write a program to detects the vibration of an object with sensor usingArduino.
- To write a program to connect with the available Wi-Fi using Arduino
- To write a program to sense a finger when it is placed on the board Arduino.
- To write a program to get temperature notification using Arduino.
- To write a program for LDR to vary the light intensity of LED usingArduino.
- To write a program to install MySQL database in Raspberry pi.
- To write a program to work with basic MySQL queries by fetching data from database in Raspberry pi.
- To write a program to switch light on when the input is 1 and switch the light off when the input is 0 using Raspberry pi.
- Hardware based Experiments
- Familiarization with Arduino/Raspberry Pi and perform necessary software installation.
- List out the different IOT applications and importance of IOT in present scenario.
- Know the different sensors available to measure the current and voltage.
- To interface LED/Buzzer with Arduino/Raspberry Pi and write a program to turn ON LED for 1 sec
after every 2 seconds. - To interface Push button/Digital sensor (IR/LDR) with Arduino/Raspberry Piand write a program to
turn ON LED when push button is pressed or at sensor detection. - To interface DHT11 sensor with Arduino/Raspberry Pi and write a program to print temperature and
humidity readings - To interface motor using relay with Arduino/Raspberry Pi and write a program to tum ON motor when
push button is pressed. - To interface OLED with Arduino/Raspberry Pi and write a program to print temperature and humidity
readings on it. - To interface Bluetooth with Arduino/Raspberry Pi and write a program to send sensor data to
smartphone using Bluetooth. - To interface Bluetooth with Arduino/Raspberry Pi and write a program toturn LED ON/OFF when 1/0
is received from smartphone using Bluetooth - To interface Arduino/Raspberry Pi to upload temperature and humidity data to ThingSpeak cloud
- Write a program on Arduino/Raspberry Pi to retrieve temperature and humidity data from ThingSpeak
- Design the digital voltmeter and ammeter for both AC and DC circuits
- Design a digital frequency meter to measure the frequency in an AC circuit.
- Measure the power and energy consumption in a home using Arduino