LESSON PLAN 15PCD13/23 PROGRAMMING IN C AND DATA Course objectives: STRUCTURES The objective of this course is to make students to learn basic principles of Problem solving, implementing through C programming language and to design & develop programming skills. To gain knowledge of data structures and their applications. (Provided by VTU) Class No. Subject Code: 15PCD 13 / 15 PCD 23 Total no. of Hours: 50 Number of Hours/week: 04 Name of Faculty: Ms. Saraswathi R Punagin Credits: 04 1. 2. 3. Module / Ref. Module 1 Introduction to C Language T1: Chapter 2, T2: 1.1, 1.2, 1.3 Topic to be covered ( in detail ) Introduction to C, Linux, Problem Solving techniques. Introduction to PCD course and the plan ahead. Introduction to Algorithm and Pseudo code. Simple problems like finding the sum, average and product of three numbers. Basic concepts of a C program: Comments, Program header, Body, Structure of a C program, Refining of algorithm and pseudo code. % of portion covered Chapter wise 20 Cumulative 20 Course Outcomes Covered CO1, C02
4. 5. 6. 7. 8. Declaration, Assignment, Tracing a program, Print statement, First complete C program. Variable names. Data types and sizes, Constants, Declarations, Arithmetic Operators, Relational and Logic operators Type conversions, Increment and Decrement Operators, Bitwise Operators Assignment Operators and expressions, Conditional expressions Precedence and Order of Evaluation, Programming Examples 9. Exercises 10. Review 11. Two way selection (Statements and Blocks, If-Else, else-if), Ternary operator 12. Switch statement, Loops While and For 13. Loops Do while, Break and continue 14. Go to and Labels 15. 16. Module 2 Branching and Looping T1: Chapter 3, T2: 4.4 Using a nested loop: refinement of pseudo code, formatting of the output, starting the program Printing a row of the multiplication table for each multiplicand, complete program 17. More on Nested for-loop construction 20 40 CO2 18. Programming examples 19. Exercises 20. Review 21. 22. Module 3 Functions, Arrays and Strings T1: 5.7, 1.7, 1.8, Chapter 4 Concept of an Array, Naming the elements of an array, Using Arrays, Declaring an Array Arrays of other data types, Interpretation of subscripts, Array of char, Expressions as subscripts 20 60 CO3
23. 24. 25. 26. 27. 28. 29. T2: 7.3, 7.4, Chapter 9, 5.1 to 5.4 Parallel Arrays, sending single element of an array as a parameter, selecting array bounds, Using constants as array size Using an Array: The mark array, Program 7: second version using an array A modular version of Program 7, Third version of program 7 using an array and two loops Multidimensional arrays, Declaring, Initializing, Printing and reading strings, String manipulation functions, String IO functions, Array of Strings Functions (1.7), Arguments-call by value (1.8), Function and Program structure, Location of functions, void and parameter-less functions, Recursion 30. Programming examples and Exercises 31. 32. Basics of structures, structures and functions, Array of structures, Pseudo code for program 10, The struct data type 33. Program 10 34. Module 4 Structures Using typedef 35. and File Defining opening and closing files 36. 37. Management T1: 6.1 to 6.3 T2: 10.1 to 10.4, Chapter 11 File I/O Programming examples 20 80 CO4 38. Exercises 39. Review 40. Review 41. Module 5 Pointers and Pointer and Pointer addresses 20 1 CO5
42. 43. 44. Preprocessors and data Structures T1: 5.1 to 5.6, 5.8 T2: 12.2, 12.3, 13.1, 13.7, 15.1, 15.2, 15.11 to 15.17, 16.1 Pointers and Function arguments (call by reference), Pointers and Arrays Address Arithmetic, Character pointers and functions, Initializing of pointer arrays Global (external) variables, Dynamic storage allocation 45. #define directive, undefining a macro 46. Token pasting and stringizing operators 47. 48. 49. 50. The #include directive, Conditional compilation The #ifndef directive, The #error directive Lists, Implementation of a list, Stack related terms, operation on a stack, Implementation of a stack Queues, various positions of queue, representation of queue, single linked list, Trees Literature: Book Type Code Publication information Supplementary T1 T2 S R1 R2 R3 Brian W. Kernighan and Dennis M. Ritchie: The C Programming Language, 2nd Edition, PHI, 2012. Jacqueline Jones & Keith Harrow: Problem Solving with C, 1 st Edition, Pearson 2011. Class Notes ( will be provided in hard copy after each topic) Vikas Gupta: Computer Concepts and C Programming, Dreamtech Press 2013. R S Bichkar, Programming with C, University Press, 2012. V Rajaraman: Computer Programming in C, PHI, 2013.
Course Outcomes: On Completion of this course, students are able to: CO1: Achieve knowledge of design and development of C problem solving skills. CO2: Understand the basic principles or Programming in C Language. CO3: Design and develop modular programming skills. CO4: Effective utilization of memory using pointer technology. CO5: Understands the basic concepts of pointers and data structures.