C And C++ Programming

 B Level

C language is a universal procedural programming language on which certain other programming languages like Perl, PHP, Python, objective C have been borrowed. This language facilitates structured programming and it is found in applications that have been coded in assembly language. This language is available on a wide range of platforms from embedded microcontrollers to supercomputers. It also has the feature in which more than one assignment can be performed in a single statement. Almost all the OS programs such as Windows, UNIX, and Linux are written by C language.

  • Features of C language:
  • Interactivity
  • Flexibility
  • Modularity
  • Efficiency and Effectiveness
  • Portability
  • Reliability
Complete Syllabus: C Language
The concept of algorithm, flowchart, characteristic of algorithm. Complier, Linker (concept).
Loader, Locator, Testing, Debugging, Documentation
Algorithm for exchange of two variable and other problems
Algorithm continued.
Character sets, variable, constants, Identifier, Data type, Different operators.
Operators continued, Simple Input output statements
If-else statements, Else-if Statements and else if ladder
Some problem on If-else, concept of nested if with algorithm.
Loops concept, While, Do-while, For loop..
Concept of nested loops, Infinite loops, Problems with algorithm.
Structured Programming
One Dimensional array, Linear Search, Inserting an element in an array.
Deleting, Finding Element in an Array.
Two Dimensional Array, Addition / Subtraction, Multiplication with algorithm.
Transpose of matrix, String.
Problem on string with algorithm
Representation of sparse matrix(Programming with algorithm)
Top down approach, Modular approach, Intro to function
Library functions, Prototype, Formal and actual arguments
Function call, Call by value and Reference
Recursive function, Passing array
Returning values, Returning Array
Structure, Initialization, Problem on structure.
Structure And Function
Structure and array, Passing structure Array as argument
Union, Bit fields
Address operator, Pointers, Pointer Assignment, Initialization, and Arithmetic.
Array and Pointers
Array of pointers & pointer to an array, Examples.
Intro to link list, Creating list.
Traversing a list, Insertion into link list.
Deleting a node from list.
Reversing a list.
File opening and Creating a file, Reading from file
Writing into files, String with files.
Binary files. fseek , ftell.
DS with C++
Introduction to Algorithm Design and Data Structures: Design and analysis of algorithm:
Algorithm definition, comparison of algorithms. Top down and bottom up approaches to Algorithm design.
Analysis of Algorithm; Frequency count, Complexity measures in terms of time and space. Structured approach to programming.
Basics of C++: Structure of a program
VariablesData Types. Constants
Operators, types of operator, increment and decrement operator, bitwise operato
Basic Input/Output, Programs on basic problem
Control Structure, If else ladder, switch statement
Loop introduction, while, for, do..while, nested loop
Pointer introduction, pointer arithmetic, pointer and array
Dynamic Memory, new and delete operator
Object Oriented Programming :Classes, object, Encapsulation, Abstraction, inheritance, Polymorphism
Constructor and destructor, parameterized constructor
Operator overloading, overloading unary and binary operator.
Inheritance, types of inheritance, single, multiple, multilevel, hierarchical and hybrid inheritance
Ambiguity problem, virtual base class ,Abstract class
Representation of arrays: single and multidimensional arrays. Address calculation using column and row major ordering
Various operations on Arrays, Application of arrays: Matrix multiplication, Sparse matrix
Stacks and Queues : Representation of stacks and queues using arrays and linked-list
Stack, Array representation of Stack, Linked Representation Stack, Reversing a Single Linked List using Stack
Application of Stacks: Polish notation Evaluation of arithmetic expression (Infix, Postfix, Prefix) Conversion from Infix to Postfix
Conversion from Infix to Prefix; Evaluation of Prefix and postfix expression
Queue, Array representation of Queue Circular Queue
Linked Representation of Queue, Priority Queue, Deque
Single Linked List as ADT Basic Operations: Creation, Insertion, Deletion, Traversal
Backward traversal of a linked list Reversing a linked list Splitting
Bi-directional List: Doubly linked list Basic operations: Insertion, deletion, reversing
Circular List and it’s properties Insertion, Deletion, Traversal
Doubly circular list and its Basic operation
Tree Data Structure, Binary Tree, Tree Technology. Different types of tree, Traversals (Inorder, Preorder, Postorder)
Binary Search Tree: Insertion, Searching Non-Recursive traversals: Inorder, pre & postorder, deletion in binary tree
Height balance tree, balance factor, rotation
Threaded binary tree, multiway binary tree, 2-3 tree, creation and deletion
Balanced Multiway search tree: B-tree, B-tree insertion algorithm, deletion
Sorting: Bubble Sort, Insertion sort, selection sort (techniques & analysis)
Quick sort, merge sort, heap sort (techniques & analysis)
Radix sort, Searching : Sequential and binary searching
Hashing Schemes
Graph representation : Adjacency matrix, Adjacency lists
Traversal schemes : Depth first search
Breadth first search
Spanning tree : Definition, Minimal spanning tree algorithms
Prim’s algorithm, kruskal algorithm
Shortest Path algorithms
Object Oriented Design and Programming (C++)
  1. Introduction to Object Oriented Modeling,

  2. modeling techniques

  3. Object Oriented Design Object design

  4. comparison of methodologies SA/SD, OMT, JSD) design implementation

  5. Procedural programming and it’s drawback, OOP and its basic concept (Data hiding, encapsulation, class, object) some object based and object oriented languages

  6. The need of object oriented programming, Data hiding and Encapsulation, Polymorphism etc Difference between C and C++ (Structure, union, enum)

  7. I/O in C++ : Extraction and insertion operators C++ operators: new, delete, scope resolution A few Manipulators

  8. Function overloading Default argument Reference and it’s use

  9. Passing arguments by value, Pointers, reference Constant and it’s use Constant pointer and pointer to constant

  10. Inline functions: Use and restrictions Macro Vs inline functions

  11. Classes and objects: Definition and concept, Public and private data, member functions: accessing private members

  12. Object initialization: Constructors, Overloading the constructor function, copy constructor and it’s difference with Assignment operator Constructor with default argument, Destructor (LIFO)

  13. Object as arguments to member functions Returning objects from member functions Array of Objects

  14. Static Data Member Static Member Functions.

  15. The Philippines officially known as the Republic ...

  16. Operator overloading: an Example of polymorphism Overloading some unary operators: The Pre and Post Incr/Decr operator

  17. Overloading some Binary operators Operator overloading in Strings Overloading of some special operator (Subscript, function call, comma etc)

  18. Friend functions : Concept, use, Merits and demerits Role of friend function in operator overloading

  19. Data type conversion (Basic and Objects) through Constructor and Operator overloading

  20. Inheritance: Base and Derived classes, Rule for constructor, Protected access Specifier, code Reusability

  21. Public and Private inheritance Simple InheritanceOverriding of Member functions

  22. Hierarchical Inheritance Multiple Inheritance and Multilevel Inheritance Hybrid inheritance, Containership/Aggregation

  23. Pointers: pointer to object Example: The Linked List class This pointer and it’s use

  24. Virtual function: Runtime Polymorphism, Late Binding

  25. Abstract class: Pure virtual Function Virtual base class

  26. Some advanced features on Inheritance and Virtual Function

  27. Some Advanced topics: Friend class, Object slicing Programming example: The linked List class

  28. Streams (Data flow), Stream Class Hierarchy Basic Concept of I/O stream Overloading the Extraction and Insertion operator

  29. Stream for Disk Files File programming (text Vs binary file) Char I/O, String related

  30. File Opening Modes, File Pointers

  31. Exception Handling (Try, Throw, Catch) Exception Specification

  32. Template, Class Libraries: string, stack Container Class Hierarchy oApplications in database, compilers, animation and Business