C language with Data Structures and Algorithms


C C++ Language Course in Chandigarh

 

C language which is considered the mother of all languages, is and will be the most sought after programming language for any beginner to jump start his career in software development. Not only does it help a beginner to understand what software programming is all about, it also gives an excellent platform to build programming skills for those who eventually want to learn modern languages like C# or Java for developing advanced level applications.

Prerequisite:

  • Programmers looking for jobs Programmers wanting to write efficient code
  • Computer Science students having Data Structures as part of their curriculum
  • Non Computer science students wanting to enter IT industry

Objective:

  • Understand the purpose of programming.
  • Download and understand the role of IDE in writing “C” programs.
  • Gain knowledge about how one can write Software Programs.
  • Write interactive programs to perform input and output operations.
  • Apply logic using programming technique & decision making statements.
  • Understand the advantage of using Arrays and Pointers for handling large data.
  • Learn how to break up a big task into smaller units using functions.
  • Understand how memory can be dynamically allocated and de-allocated for pointers.
  • Persist data of the program into data files for using at later point of time.
  • Create and process data in files using file I/O functions.
  • Read and consume command like arguments in a program.

Module 1: Introduction and First Program

1
Why Programming
2
History of C Language
3
Hello World Program

Module 2: Variables and Data types

1
Identifiers in C
2
Variables and Data Types
3
Constants

Module 3: Console IO Operations

1
Printf and Scanf
2
Unformatted IO Functions

Module 4: Operators and Expressions

1
Expressions and Arithmetic Operators
2
Relational and Logical Operators
3
Bitwise Operators

Module 5: Decision Making Statement

1
If Statement
2
Else Statement
3
If Else Ladder

Module 6: Control Flow Statement

1
Switch Statement
2
Unconditional Branching using goto statement
3
While Loop
4
Do While Loop
5
For Loop
6
Break and Continue
7
Special Cases

Module 7: Working with Functions

1
Introduction and Writing Functions
2
Scope of Variables,
3
Pass by Value and reference

Module 8: Recursion and Storage class

1
Recursion
2
Storage Class

Module 9: Working with Arrays

1
Arrays Declaration and Initialization
2
Sample Programs using Arrays
3
Arrays as Function Parameters
4
Dimensional Array

Module 10: Pointers

1
Introduction to Pointers
2
Pointers as Function Parameter
3
Pointer Arithmetic
4
Pointers and Arrays
5
Function Pointers

Module 11: String Handling

1
Introduction to Strings
2
Sample Program
3
More Sample Programs
4
Standard String Library Functions
5
Array of String

Module 12: Structures and Unions

1
Declaring and Instantiating Structures
2
Structure as Parameter and Pointer to Structure
3
Enumerated Data Type
4
Union

Module 13: File Handling

1
What is a Stream
2
File Handling-Writing and Reading Characters
3
Writing and Reading Structure in Text Format
4
Writing and Reading in Binary Format
5
Dynamic Memory Allocation

Data Structures (Module 14: )

1
Data Structures Basics: Structure and Problem Solving, Data structures, Data structure Operations, Algorithm: complexity, Time- space trade-off.

Module 15:

1
Array: Array Definition, Representation and Analysis, Single and Multidimensional Arrays, address calculation, application of arrays, Ordered List, Sparse Matrices and Vectors.

Module 16:

1
Linked List: Introduction, linked lists, Representation of linked lists in Memory, traversing a linked list, Searching a linked list, Memory allocation and Garbage collection, insertion into linked list, Deletion from a linked list, Types of linked list.

Module 17:

1
Stack and Queue: Introduction, Array Representation of Stack, Linked List Representation of stack, Application of stack, Queue, Array Representation of Queue, Linked List Representation of Queue.

Module 18:

1
Searching and Sorting Techniques, Sorting Techniques: Bubble sort, Merge sort, Selection sort’, Heap sort, Insertion Sort. Searching Techniques: Sequential Searching, Binary Searching, Search Trees.

Module 19:

1
Trees: Basic terminology, Binary Trees, Binary Tree Representation, Algebraic Expressions, Complete Binary Tree. Extended Binary Trees, Array and Linked Representation of Binary trees, Traversing Binary trees, Threaded Binary trees, Traversing Threaded Binary trees.

Module 20:

1
Binary Search Trees: Binary Search Tree (BST), Insertion and Deletion in BST, Complexity of Search Algorithm, Path Length, AVL Trees.

Module 21:

1
Graphs: Matrix Representation of Graphs, List Structures, Other Representations of Graphs, Breadth First Search, Depth First Search, Spanning Trees.

Module 22:

1
Directed Graphs: Types of Directed Graphs; Binary Relation As a Digraph; Euler’s Digraphs; Matrix Representation of Digraphs.

Module 23:

1
Applications of Graphs: Topological Sorting, Shortest-Path Algorithms – Weighted Shortest Paths – Dijkstra’s Algorithm, Minimum spanning tree- Prim’s Algorithm, Introduction to NP-Completeness.

Module 24:

1
File Structures: Physical Storage Media File Organization, Organization of records into Blocks, Sequential Files, Indexing and Hashing, Primary indices, Secondary indices, B+ Tree index Files, B Tree index Files, Indexing and Hashing Techniques and their Comparisons.

Algorithms (Module 25: )

1
INTRODUCTION: Algorithms, analysing algorithms, Complexity of algorithms, Growth of functions, Performance measurements, Comparison of sorting algorithms, Sorting in linear time.

Module 26:

1
ADVANCED DATA STRUCTURES: – Red-Black trees, B-trees, Binomial Heaps, Fibonacci Heaps.

Module 27:

1
DIVIDE AND CONQUER, GREEDY METHOD: Sorting, Matrix Multiplication, Convex hull and Searching. Greedy methods with examples such as Optimal Reliability Allocation, Knapsack, and Minimum Spanning Trees-Prim’s and Kruskal’s algorithms, Single source shortest paths – Dijkstra’s and Bellman Ford algorithms.

Module 28:

1
DYNAMIC PROGRAMMING, BACKTRACKING AND BRANCH AND BOUND: –

Module 29:

1
Selected Topics: Algebraic Computation, Fast Fourier Transform, String Matching, Theory of NP-completeness, Approximation algorithms and Randomized algorithms.

Module 30:

Be the first to add a review.

Please, login to leave a review
Add to Wishlist
Duration: 6 Months (180 Hrs)
Lectures: 65

Archive

Working hours

Monday9:30 am - 6.00 pm
Tuesday9:30 am - 6.00 pm
Wednesday9:30 am - 6.00 pm
Thursday9:30 am - 6.00 pm
Friday9:30 am - 6.00 pm
Saturday9:30 am - 6.00 pm
SundayClosed
C language with Data Structures and Algorithms