ED109: Introduction to Programming and Data Structures
Module I Fundamentals of Computers, Its Organization and Architecture
Introduction to computers: Numbers, transfer of binary to octal to hexadecimal and vice-versa. Computer systems,
computer languages, software development methods, flowcharts, CPU, main memory, peripherals, I/O devices,
algorithms, and pseudocodes.
Module II File Organization
Input/output devices: Concept of a file, streams, standard I/O functions, formatted I/O functions, text files, binary
files.
Module III C Programming
Imperative languages: Introduction, syntax and constructs of C (or any other imperative language, but preferably
C); variables, assignment, declarations, expressions, statements, input/output, conditionals, branching, iteration.
Data handling: Arrays, pointers, static and dynamic structures, dynamic allocation, file structures.
Module IV Functions and Program Structures
Functions and recursion: Parameter passing in a function, procedure call, call by value and reference, function
prototypes; recursion; library functions, static functions.
Module V Data Structure
Searching and sorting: Binary search, bubble sort, insertion sort, quick sort, merge sort. Data structures:
Introduction, abstract data types, array, linked list, stack, queue, tree.
Textbook
1. B. W. Kernighan and D. M. Ritchie: The ‘C’ Programming Language.
2. E. Horowitz and S. Sahni: Fundamentals of Data Structures.
3. E Balagurusamy: Fundamentals of Computers.
References
1. P. Padmanabhan: C & Data Structures, 3rd edition, B. S. Publications.
2. B. Gottfried: Programming in C.
3. T. A. Standish: Data Structure Techniques.
4. T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein: Introduction to Algorithms.
5. R. L. Kruse: Data Structures and Program Design in C.
6. A. V. Aho, J. E. Hopcroft and J. D. Ullman: Data Structures and Algorithms.
7. B. A. Forouzan and R. F. Cilberg: C Programming and Data Structures.