Course Module for C, Data Structures and Algorithms training:
Module 1: Introduction and First Program
- Why Programming?
- History of C Language
- Hello World Program
Module 2: Variables and Datatypes
- Identifiers in C
- Variables and DataTypes
- Constants
Module 3: Console IO Operations
- Printf and scanf
- Unformatted IO Functions
Module 4: Operators and Expressions
- Expressions and Arithmetic Operators
- Relational and Logical Operators
- Bitwise Operators
Module 5: Control Flow Statements
- If Statement
- Switch Statement
- Unconditional Branching using goto statement
- While Loop
- Do While Loop
- For Loop
- Break and Continue
- Special Cases
Module 6: Working with Functions
- Introduction and Writing Functions
- Scope of Variables, Storage Classes, Pass by Value and reference
- Recursion
- Arrays Declaration and Initialization
- Sample Programs using Arrays
- Arrays as Function Parameters
- 2-Dimensional Array
Module 7: Pointers
- Introduction to Pointers
- Pointers as Function Parameter
- Pointer Arithmetic
- Pointers and Arrays
- Function Pointers
- Dynamic Memory Allocation using malloc
- Calloc and comparison with malloc
Module 8: String Handling
- Introduction to Strings
- Sample Program
- More Sample Programs
- Standard String Library Functions
- Array of String
Module 9: Structures and Unions
- Declaring and Instantiating Structures
- Structure as Parameter and Pointer to Structure
- Enumerated Data Type
- Union
- Bit Fields
Module 10: File Handling
- What is a Stream
- File Handling-Writing and Reading Characters
- Writing and Reading Structure in Text Format
- Writing and Reading in Binary Format
Module 11: Pre-Processor Directives
- Understanding Pre-Processor directives
- Header Files and Project
Module 12: Command Line Arguments and Variable Arguments
- Command Line Argument
- Variable Number of Arguments
Module 13: Introduction to Data Structures and Algorithms
- Variables, Data Types, Data Structures and Abstract Data Types (ADTs)
- What’s an algorithm?
- Analysis of algorithm and its goal
- Running Time Analysis
- Asymptotic Notations (ϴ, O, Ώ, o, ⍵)
- Master’s Theorem for Divide and Conquer Recurrences, Subtract and Conquer Recurrences
- Method of Guessing and Confirming
- Amortized Analysis
Module 14: Recursion and Backtracking
- What is Recursion? Why recursion?
- Format of a Recursive Function
- Recursion and Memory (Visualization)
- Recursion versus Iteration
- What is Backtracking? Example Algorithms of Backtracking
Module 15: Linked Lists
- What is a Linked List? Linked List as an ADT
- Comparison between Linked List and Array
- Singly Linked Lists
- Doubly Linked Lists and Memory-efficient Doubly Linked List
- Circular Linked Lists
- Unrolled Linked Lists
- Skip Lists
Module 16: Stacks and Queues
- What is a Stack? Stack as an ADT
- Implementation of a Stack
- What is a Queue? Queue as an ADT
- Implementation of a Queue
Module 17: Trees
- What is a Tree?
- Binary Trees: Types and Properties
- Binary Tree Traversals
- Generic Trees (N-ary Trees)
- Threaded Binary Tree Traversals (Stack or Queue-less Traversals)
- Expression Trees
- XOR Trees
- Binary Search Trees (BSTs)
- Balanced Binary Search Trees
- AVL (Adelson-Velskii and Landis) Trees
- Red-Black Trees
- Splay Trees
- B-Trees
- Augmented Trees
- Interval Trees [Segment Trees]
- Scapegoat Trees
Module 18: Priority Queues and Heaps
- What is a Priority Queue? Priority Queue ADT
- Priority Queue Applications and Implementations
- Heaps and Binary Heaps
- Binary Heaps
- Heapsort
Module 19: Disjoint Sets ADT
- Introduction
- Equivalence Relations and Equivalence Classes
- Disjoint Sets ADT and Applications
- Tradeoffs in Implementing Disjoint Sets ADT
- Fast UNION Implementation (Slow FIND and Quick FIND)
Module 20: Graph Algorithms
- Introduction
- Applications of Graphs
- Graph Representation
- Graph Traversals
- Topological Sort
- Shortest Path Algorithms
- Minimal Spanning Tree
Module 21: Sorting
- What is Sorting? Why is it necessary?
- Classifications of Sorting Algorithms
- Various sorting algorithms: Bubble, Selection, Insertion, Shell, Merge, Heap, Quick, Tree, Counting, Bucket, Radix and Topological
Module 22: Searching
- What is Searching? Why is it necessary?
- Types of searching?
- Unordered Linear Search
- Sorted/Ordered Linear Search
- Binary Search
- Interpolation Search
- Comparing Basic Searching Algorithms
- Symbol Tables and Hashing
- String Searching Algorithms
JAVA
Module 1: Basic Language Element
- Identifiers, Keywords
- Primitive Datatypes
- Operators Assignments.
Module 2: Object Oriented Programming
- Class Fundamentals, Object & Object reference
- Constructor & initialization
- Abstract Class & Interfaces
- Defining Methods, Argument Passing Mechanism,
- Method Overloading,
- Dealing with Static Members
Module 3: Extending Classes and Inheritance
- Types of Inheritance in Java
- Role of Constructors
- Overriding Super Class Methods
- Use of “super”
Module 4: Array & String
- Defining an Array, Initializing & Accessing Array
- Defining variable and constant
- Operation on String
- Creating Strings using StringBuffer
Module 5: Thread
- Understanding Threads
- Thread Life-Cycle
- Thread Priorities
Module 6: Exception Handling
- Exceptions & Errors
- Types of Exception
- Control Flow In Exceptions
Module 7: Package
- Defining Package
- CLASSPATH Setting for Packages
Module 8: File Handling
- Working with File Object
- File I/O Basics
- Reading and Writing to Files
- Buffer and Buffer Management
Module 9: Project
Aptitude Course – 10 sessions
GD- 5 classes
HR- 10 classes
The leading IT training institute in Kolkata, Webskitters Academy, offers the best and most comprehensive C & DS, JAVA, Aptitude, Group Discussion and HR Course. Are you looking for a course that can help you crack your technical interview and HR round during an interview? Join our C & DS, JAVA, Aptitude, Group Discussion and HR training. The training is delivered by the industry experts who have the best understanding of the sector, they make it easy for you to understand all the aspects. With our comprehensive training, we help you to enhance your technical skills and raise your chances of getting selected.