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
Course Modules for C++:
Module 1: Introduction to C++
- History of C++
- The First Program in C++
Module 2: Data Operations in C++
- Variable declarations
- const qualifier
- Floating point numbers
- Arithmetic operators
Module 3: Compound Types in C++
- Arrays
- Strings
- The string class
- Structures, Unions and Enums
- Pointers, Arrays and Pointer Arithmetic
- Combining Types
- Array Alternatives
Module 4: Loops
- Classical for, while and do-while
- The Range-Based for loop (C++ 11)
- Loops and Text Inputs
- Loops and Two-Dimensional Arrays
Module 5: Branching Statements and Logical Operators
- If, if/else, nested if/else
- Logical expressions
- The cctype library of character functions
- The conditional operator: ?:
- switch/case
- break and continue
Module 6: Functions
- Functions introduction
- Arguments and Call by value
- Recursion
- Pointers to functions
Module 7: Advanced Concepts of Functions
- C++ Inline Functions
- Function Overloading
- Reference Variables
- Default Arguments
- Function Statements
Module 8: C++ Namespaces
Module 9: Objects and Classes
- Constructors and Destructors
- Procedural and Object-Oriented Programming
- Class and object
- The ‘this’ pointer
- Array of Objects
Module 10: Working with classes
- Operator overloading
- Friend functions and operators overloading
Module 11: Dynamic Memory Allocation
- Dynamic Memory and Classes
- The new keyword
- Pointers to Objects
Module 12: Inheritance
- Base Class and Derived Class
- Access control: protected
- Static and Dynamic Binding
- Inheritance and Allocation of Dynamic Memory
- Abstract Base Classes
Module 13: Advanced Concepts of Classes
- Classes with Object members
- Private inheritance
- Multiple inheritances
- Class templates
Module 14: Special Class Concepts
- Friends
- Nested Classes
- Exceptions
Module 15: The Standard Template Library
- Smart Pointer Template Classes
- The string classes
- The Library of Standard Template
- Generic Programming
- Function Objects or Functors
- Algorithms
- Other Libraries
Module 16: Input, Output and File Handling
- C in and C out
- File input and output
Module 17: Extras
- New Class Features
- Lambda Functions
- Wrappers
- Variadic Templates
Aptitude Course – 10 sessions
GD- 5 classes
HR- 10 classes
Webskitters Academy lay its focus on carefully planning the curriculum of the pre-placement course. We realize the importance of the sound technical knowledge and how it helps the young aspirants to get prepared for their technical rounds. Our course curriculum helps you to understand the market and gain detailed knowledge and information about the sector. The industry experts are available to help you get thorough information about the sector, and be acquainted with the tools and technologies involved. We help you to enhance your technical skills and get the opportunity to impress the recruiters. Our trainers also deliver exclusive soft skill information dissemination that gives your confidence to face the recruiters.