The course will enable the students to
1. Acquaint the students with the advanced concepts of C programming.
2. Provide the knowledge of linear data structures like array, structures and Union in C
Course Outcome (at course level) | Learning and teaching strategies | Assessment Strategies |
---|---|---|
The students will: CO57. Apply the concept of arrays in real life scenarios CO58. Assess the use of structures, union and bit level manipulations. CO59. Implement Programs with pointers and arrays, perform pointer arithmetic and use the pre-processor CO60. Investigate the utility of user defined function for modular programming CO 61. Apply file handling concepts to manage user data. | Approach in teaching: Interactive Lectures, Discussion, Tutorials, Reading assignments, Demonstration.
Learning activities for the students: Self-learning assignments, Effective questions, Seminar presentation, Giving tasks | Class test, Semester end examinations, Quiz, Solving problems in tutorials, Assignments, Presentation |
Arrays: One dimensional arrays: array manipulation; searching, insertion, deletion of an element from an array; finding the largest/smallest element in an array; two dimensional arrays, addition/multiplication of two matrices, transpose of a square matrix; null terminated strings as array of characters, Sorting arrays (Bubble Sort), Searching (Linear, Binary Search), Multiple- Subscripted Arrays.
Functions: top-down approach of problem solving, modular programming and functions, prototype of a function: parameter list, return type, function call, block structure, passing arguments to a function: call by reference, call by value, arrays as function arguments.
Storage Classes and Scoping: Automatic, Register, External, Static, Scope of a Variable.
Structures and unions: Structure variables, initialization, structure assignment, nested structure, structures and functions, structures and arrays: arrays of structures, structures containing arrays, unions. Bit Manipulations and Enumerations: Introduction, Bitwise operators, Bit Fields, Enumerated Constants.
Pointers: address operators, pointer type declaration, pointer assignment, pointer initialization, pointer arithmetic, functions and pointers, arrays and pointers.
C characters and Strings: Introduction, Fundamentals of Strings and characters, Character and String Handling Library, String conversions and comparison functions.
File processing: Concept of files, Opening and closing a stream, open modes. Reading and writing to/from a stream. Predefined streams: stdin, stdout. Stream manipulation: fgetc(), fputc(), fgets() and fputs() functions. Raw input/output: fread() and fwrite() functions. Preprocessor Directives #include, #define, Macros.
1. P.K. Sinha, Preeti Sinha, “Foundations of Computing”, BPB Publications, 2003.
2. Raj K. Jain, “Insight into Flowcharting”, S.Chand Publications, 2000.
3. E. Balagurusami, “Programming in ‘ANSI C’”, TMH Publications.
4. Yashwant Kanetkar, “Working with C”, BPB Publications.
Suggested READINGS:
1. H.M.Deitel & P.J.Deitel, “How to program in ‘C’”, 5rd Edition, Pearson Education, 2005.
2. S. Lipschutz, “C Programming”, Schaum’s outline series, Tata McGraw Hill Edition.
3. Vikas Thada “C Programming Simplified” ashirwad publication.
E-RESOURCES:
1. https://www.programiz.com/c-programming
2. https://www.learn-c.org/
3. http://ee.hawaii.edu/~tep/EE160/Book/PDF/Book.html
4. https://spoken-tutorial.org/tutorial-search/?search_foss=C+and+Cpp&search_language=English