ERODE SENGUNTHAR ENGINEERING COLLEGE (Approved by AICTE, New Delhi, Permanently Affiliated to Anna University - Chennai & Accredited by NAAC & National Board of Accreditation (NBA), New Delhi, Accredited by Institute of Engineers (India), Kolkata) THUDUPATHI, ERODE 57. DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING LESSON PLAN Name of the Subject with Code : CS6202 Programming and Data Structure - I Course Coordinator : Prof. G. Sivakumar Academic Year : 205-6 / Even Semester Year/ Semester : I / II Semester Branch : B.E. Computer Science and Engineering Course Objectives: Be familiar with the basics of C programming language. Be exposed to the concepts of ADTs Learn linear data structures list, stack, and queue. Be exposed to sorting, searching, hashing algorithms Course outcomes:. Understand the basics of C Programming 2. Design a C application using structure, pointer and files 3. Apply the linear data structures List and Linked List to solve problems 4. Apply Stack and Queue to provide solutions to the problems 5. Apply Sorting and Searching methods for problems S. No.. 2. Topics to be covered Key terms Objectives UNIT I C PROGRAMMING FUNDAMENTALS- A REVIEW Conditional Statement if, if-else, if-elseif statements, ternary operator if, if-else, while, QUIZ To review the conditional do-while, for & Control Statements and control statements switch while, do-while, for & switch statements QUIZ One Dimensional Array, 2D Array & Multi dimensional Array Array, To review the basics of Declaration, Initialization, one dimensional & Array Accessing two dimensional No. of periods Page of 5
3. Functions Library, user defined functions Examples : Library function Defining and calling user defined functions Call by value & Call by reference Library function, call by value, call by reference of function definition and function call 4. 5. 6. 7. 8. 9. 0.. 2. 3. 4. 5. 6. Preprocessors #define, #include, #if, #elseif, #endif Benefits, declaration, accessing address, pointer arithmetic Array &, Array & function #define, #include, address Page 2 of 5, references of preprocessor directives To understand the concepts of pointers To understand how to use pointers in array, pass pointer as function arguments looping and conditional Looping, Discussion Looping and Conditional Conditional Array, Function Discussion Arrays and Functions array and function Discussion on s UNIT II C PROGRAMMING ADVANCED FEATURES Structure Declaration, Initialization, accessing Structure, pointers of structure to Structure Array of Structure Union Declaration, Initialization, accessing SEMINAR Bit fields Difference between structure and union Basics of File Handling File, File opening modes Reading and writing(getc(), putc()) File Operations -Reading and Writing fgets(), fputs(), fread(), fwrite() Searching in file fseek(), ftell(), rewind(), etc. Program using basic file operationsreading, writing and searching characters Program using reading and writing structure Union, bit fields File pointer, getc, putc fgets, fputs, fread, fwrite fseek, ftell, rewind Reading, writing, searching Reading, writing, searching, structure of Union and Bit fields To understand basics of file handling To understand the concepts of file read and file write To understand file search operations To apply file read and file write s To apply file read and file write s
7. 8. 9. 20. 2. Placement oriented Questions Structure, union Discussion - Structure and Union structure and union Placement oriented Questions File handling Discussion File handling file handling Technical aptitude test on C To apply the concepts of C Technical aptitude Programming programming UNIT III (LINEAR DATA STRUCTURES LIST ) Abstract Data Types Definition, advantages, ADT To know the ADT declaration in C ADT, List Concepts and List Definition, Creation of Singly Linked List Definition, advantages, Creation of Linked List, Inserting Element, Deleting Element, Traversing Linked List, Linked List Traversing To implement Linked List Disadvantages ROLE PLAY 22. 23. 24. 25. 26. 27. 28. 29. Array Based Implementation (insertion, deletion, searching, and Array, List displaying values) Disadvantages Linked List Based Implementation (insertion, deletion, searching, and Linked List, displaying values) Doubly Linked List Advantages Doubly Linked list, Creation, insertion, deletion, searching, and displaying values Circularly Linked List Creation, insertion, deletion, Circularly Linked List searching, and displaying values Application of List Polynomial Arithmetic basics List, Polynomial Implementation of Polynomial Equations addition, subtraction Application of List Polynomial, Merging Polynomial equation, Merging, List Multiplication Implementation of List and Linked List - List, Linked List, Pros and Cons Pros, Cons UNIT IV (LINEAR DATA STRUCTURES STACK & QUEUES) Stack ADT Definition, Implementation of Stack Stack, array ADT (Array based ) Page 3 of 5 To implement array based List To implement Linked List based List To under the concept of Doubly Linked List To under the concept of Circularly Linked List To apply List implementation To apply List implementation To evaluate List and Linked List performance To implement Stack ADT using Array
30. Linked List based implementation of To implement Stack ADT Linked List, Stack Stack ADT using Linked List 3. Evaluating Expression using Stack To apply stack to evaluate Infix, postfix, prefix Infix, Postfix, Prefix expressions 32. Expression Conversion To apply stack to evaluate Infix to Postfix Infix, postfix, prefix expressions Infix to Prefix 33. Other Applications of Stack Function call Stack Function, stack To apply stack concept 34. Queue ADT To implement Queue ADT Definition, Implementation of Queue, Array using Array Queue ADT (Array based ) 35. Linked List based implementation of To implement Queue ADT Linked List, Array Queue ADT using Linked List 36. Implementation of Circular Queue, Circular, Double To implement circular and Double Ended Queue Ended Queue double ended queue Applications of Queue, 37. GROUP DISCUSSION - various types of Applications To apply queue concepts Queues UNIT V (SORTING, SEARCHING AND HASH TECHNIQUES) 38. Introduction to Sorting, Types Sorting, bubble Bubble Sort method Bubble sort 39. Shell Sort, Insertion Sort methods Shell, insertion Shell and Insertion sort 40. Quick Sort, Merge Sort methods Quick, merge, divide Quick and Merge sort and conquer 4. Radix Sort, Selection Sort methods Radix, selection Radix and Selection sort 42. Introduction to Searching methods Searching, Linear To understand linear 43. 44. 45. Linear Search implementation Introduction to Hashing Hash functions Open Hashing(separate chaining) Hash table, inserting and deleting hash table contents Open Addressing(Closed hashing) Linear probing, quadratic probing, double hashing Search Hashing, hash function Open hashing, separate chaining, hash table Open addressing, closed hashing, probing 46. Rehashing, extendable hashing Rehash, extendable 47. Sorting methods - GROUP DISCUSSION Sorting search of Hashing To understand the open hashing To understand open addressing in hashing To understand rehashing and extendible hashing Sorting Total No. of. hours planned 47 No. of. hours prescribed in the syllabus 45 Page 4 of 5
Content beyond the syllabus topics: Interrupt programming in C Tentative Dates of Events: TEXTBOOKS: Reopening Date : Last Working Day : Unit Test I : Unit Test II : Unit Test II : Unit Test IV : Unit Test V :. Brian W. Kernighan and Dennis M. Ritchie, The C Programming Language, 2nd Edition, Pearson Education, 988. 2. Mark Allen Weiss, Data Structures and Algorithm Analysis in C, 2nd Edition, Pearson Education, 997. REFERENCES:. Thomas H. Cormen, Charles E. Leiserson, Ronald L.Rivest, Clifford Stein, Introduction to Algorithms", Second Edition, Mcgraw Hill, 2002. 2. Reema Thareja, Data Structures Using C, Oxford University Press, 20 3. Aho, Hopcroft and Ullman, Data Structures and Algorithms, Pearson Education,983. 4. Stephen G. Kochan, Programming in C, 3rd edition, Pearson Ed., WEB LEARNING RESOURCES :. http://www.programiz.com/c-programming/c-pointers 2. www.tutorialspoint.com/cprogramming/c_pointers.htm 3. www.codingunit.com/c-tutorial-how-to-use-pointers 4. www.thegeekstuff.com/202/07/c-file-handling/ 5. www.c4learn.com/index/file-handling-in-c/ 6. https://www.youtube.com/watch?v=hdfg8lsajw 7. https://www.youtube.com/watch?v=wy4wu0eaz2g 8. https://www.youtube.com/watch?v=bvjgbt923de 9. https://www.youtube.com/watch?v=ej_vsafqvog COURSE COORDINATOR HoD/CSE PRINCIPAL Page 5 of 5