10 Days Technical Training Course Plan for MITS To understand the concepts of C, C++ and Data Structures Objectives Unit No. 1 Topics Introduction to C, Execution and Structure of a C Program Introduction to computer programming Why learning computer programming is important Introduction to C Programming Structure of a C Program Pre-processors Comments main Function Output function – printf Input function - scanf Demo on the C Program structure Compilation Execution Demo on compilation and execution of a C Program Assignment on compilation and execution Data Types and Operators Data types Data Why data type Variables Available data types Numeric – int, float, double Character – char, string Size of all data types Constants Format String in printf Demo on variables and constants Assignment on int, float, char, double data types Operators Types of operators Arithmetic Relational Logical Bitwise Demo on all types of operators Assignment on operators Control Statements Need for control statement if..else if..elseif..else Nested if..else Switch case Demo on control statements Hours 5 Days Common mistakes with control statements (like using = instead of == ) Assignment on control statements Looping Types of looping statements Entry Controlled For While Exit Controlled do while break and continue Demo on looping Common mistakes with looping statements (like using ; at the end of the loop ) Assignment on looping Assignment in operators, control statement & looping Arrays Problem with storing large amount of homogenous data using variables Introduction to Arrays Memory allocation Indexing Array operations Traversing Array using loops Insertion of elements Deletion Updating an element Searching Demo on Array Traversing Common mistakes with array ( like Index out of bound ) Array disadvantage Assignment on searching, updating and deletion Structure Problem with array Heterogeneous collection of data – Example Structure Declaration Using structure variable Accessing the members Demo on structures and memory of structure ( padding ) Union Declaration Using union variable Accessing the members Demo on union and memory of union Assignment on structure and union Pointers Address of a variable Need for pointer Demo on pointers Creating pointer for a variable Accessing the element via pointer Printing pointer 2 Pointer to Pointer, Pointer to Array Demo on pointer to pointer and pointer to array Character pointer Assignment on pointers Memory Management in C calloc, malloc, free, realloc Functions Need for functions Steps to use functions in C Declaration Definition Calling Returning Demo on function Parameters How function works ( usage of stack ) Scope of the variables inside functions Demo on scope of variables Assignment to develop a calculator program Overloading of functions Recursive functions Pass by value and pass by reference Demo on pass by reference Assignment to swap the values of two variables using pass by reference Introduction to C++ main Function Compilation Execution Assignment on compilation and execution Need for OOP Types of programming Disadvantages of functional programming Class & Objects Attributes Methods Objects Demo of a class and object creation Class Diagram Create C++ & Java class and show the similarity Encapsulation Explanation How two different objects are isolated? Multiple references for same objects Getter & Setter Constructors Demo on multiple reference for one object Creating two different object in memory for same class Assignment on multiple reference for one object Access Specifiers Types of access specifiers Demo on access specifiers Assignment on access modifiers 3 Days Instance Members Relationship Need Is A – Inheritance Types of inheritance supported Diagrammatic representation Demo on inheritance Has A – Aggregation Diagrammatic representation Demo on aggregation Uses A - Association Diagrammatic representation Demo on association Assignment on relationships Polymorphism Method overriding / overloading Parent reference pointing to child object - Demo Using super, this Assignment on polymorphism Exception Handling Need Basic demo on exception handling Catching & Rethrowing Creating own exceptions Create exceptions in C++ & Java and show the similarity Unchecked & Checked Exception Throws Exception Demo on creating own exception Assignment on exception handling Abstract Classes Need Abstract Classes Abstract Methods Interfaces Assignment on abstract classes and interface 3 Introduction to data structures Need for data structures Types of data structures Linear Non-Linear Array Representation Algorithm for Creating, Traversing, Searching, Insertion, Deletion, Sorting Demo on creating and traversing Assignment on insertion, deletion and searching Advantages and Disadvantages Linked List Representation Algorithm for Creating, Traversing, Searching, Insertion, Deletion Demo on creating and traversing 2 Days Assignment on insertion, deletion and searching Practical usage Advantages and Disadvantages Stack Representation using linked list and array Algorithm for Creating, Traversing, Searching, Insertion, Deletion Demo on creating and traversing Assignment on insertion, deletion and searching Practical usage Advantages and Disadvantages Queue Representation using linked list and array Algorithm for Creating, Traversing, Searching, Insertion, Deletion Demo on creating and traversing Assignment on insertion, deletion and searching Practical usage Advantages and Disadvantages Trees Representation using linked list Types Algorithm for Creating, Traversing, Searching, Insertion, Deletion Demo on creating and traversing Assignment on insertion, deletion and searching Practical usage Total Hours 60 hrs