CS25C17 C Programming and Data Structures Syllabus:
CS25C17 C Programming and Data Structures Syllabus – Anna University UG Syllabus Regulation 2025
Course Objective:
This course introduces the fundamentals of the C programming language including its advanced features. It enables students to implement linear and non-linear data structures such as lists, stacks, queues, trees, and hashing. The course also covers the design and implementation of sorting and searching algorithms for effective problem-solving.
C Programming Fundamentals, Advanced Features
Data types, variables, operations, expressions and statements, conditional statements, functions, recursive functions, arrays, single and multi-dimensional arrays.Structures, union, enumerated data types, pointers: pointers to variables, arrays and functions, file handling, preprocessor directives.
Linear Data Structures
Abstract Data Types (ADTs), List ADT, array-based implementation, linked list, doubly-linked lists, circular linked list, Stack ADT, implementation of stack, applications, Queue ADT, priority queues, queue implementation, applications.
Non-Linear Data Structures
Trees, binary trees, tree traversals, expression trees, binary search tree, hashing, hash functions, separate chaining, open addressing, linear probing, quadratic probing, double hashing, rehashing.
Sorting and Searching Techniques
Insertion sort, quicksort, heap sort, merge sort, linear search, binary search.
Tasks:
T1. C Programming Fundamentals & Problem Solving: Develop a C programs using variables, operators, control structures, and functions to solve real-world problems. Analyse program correctness and efficiency using test cases.
T2. Arrays, Pointers & File Handling: Develop C programs using arrays and pointers for matrix operations, string manipulation and memory handling. Design a simple application using file handling.
T3. Linear Data Structures Implementation: Design and implementation of List, Stack and Queue ADTs using arrays and linked lists. Discuss their applications in expression evaluation (infix to postfix conversion) and task scheduling.
T4. Non-Linear Data Structures & Hashing: Implement Trees and perform traversals (in-order, preorder, post-order). Design hashing techniques using collision resolution methods and analyze its efficiency.
T5. Sorting and Searching Algorithms: Compare various sorting algorithms and searching techniques. Analyze their time and space complexity and evaluate their performance for different input sizes and conditions.
Weightage: Continuous Assessment: 40%, End Semester Examinations: 60%.
Assessment Methodology: Assignments (20%), Solution to application-oriented problems using software (20%), Review of GATE questions (20%), Internal Examinations (40%).
References:
1. Aho, A. V., Hopcroft, J. E., & Ullman, J. D. (1983). Data structures and algorithms. Pearson Education.
2. Deitel, P. J., & Deitel, H. (2013). C how to program (7th ed.). Pearson Education.
3. Horowitz, E., Sahni, S., & Anderson, S. (2008). Fundamentals of data structures. Galgotia.
4. Kernighan, B. W., & Pike, R. (1999). The practice of programming. Pearson Education.
5. Thareja, R. (2016). Programming in C (2nd ed.). Oxford University Press.
6. Weiss, M. A. (1997). Data structures and algorithm analysis in C (2nd ed.). Pearson Education.
List of Open Source Software / Learning Websites:
https://www.coursera.org/specializations/data-structures-algorithms
https://nptel.ac.in/courses/112107243
https://nptel.ac.in/courses/112105598
