Syllabus :
Understanding the Computing System: Using computing system, Introduction to Number system and representation, Von Neumann architecture, Machine language, Assembly language, Operating system; Building abstractions: High level programming language, Compiled vs Interpreted languages, Loader, Linker, Debugger, Integrated Development Environment, Remote storage and execution; Introduction to procedural programming through C: Flowchart, Pseudocode, Data types, Variables, Operators, Control structure, Conditionals and Loops. Intermediate programming; Functions, Pointers, Dynamic memory allocation, Structures, File operations, Advanced programming, Call by address, Recursion, Code across multiple files; Data structures and algorithms: Abstract data types: List, Stack, Queue; Linear data structures: Array, Linked list, Implementation of ADTs using Array and Linked list, Tree data structures: Binary tree, Binary search tree, Height balanced tree; Linear and Binary Sorting and Search algorithms.
Text Books :