TABFlux
HomeCoursesUniversitiesProgramsForum
Contact Us

© 2026 TABFlux. All rights reserved. Built for students, by students.

ForumPrivacy PolicyTerms of ServiceContact UsContributors

Programming in C

C Programming is a foundational programming language that focuses on structured programming and low-level memory management.


SyllabusSkill Roadmap

Select University

TUPUPoUFWU

Select Program

BSC-CSITBDSBCA-NEWBCA-OLDBITBCT-NEWBEI-NEW

TabFlux . C Programming . TU . BCA-NEW

C Programming

0%

Course Title: C Programming

Course No: BCA 102

Nature of the Course: Theory + Lab

Semester: 1

Full Marks: 20 + 20 + 60

Pass Marks: 8 + 8 + 24

Credit Hours: 3

Course Description

Course Objectives

Course Contents

1. Introduction to C programming language and basics
5 hrs
1.1. Evolution of programming languages
1.2. History, characteristics and applications of C
1.3. Structure of a C program
1.4. Compilation and execution process of a C program
1.5. C Tokens: Keywords, identifiers, constants, string literals, operators
1.6. Variables: Declaration, initialization, scope, and lifetime
1.7. Data Types: Basic data types (int, char, float, double, void), derived data types, user-defined data types
1.8. Type Casting: Implicit and explicit type conversion
1.9. Operators and Expressions: Arithmetic, relational, logical, bitwise, assignment, increment/decrement, conditional (ternary), special operators (sizeof, comma, address-of, dereference). Operator precedence and associativity
2. Input/Output and Control Structures
11 hrs
2.1. Standard Input and Output Functions
  • Formatted I/O: printf() and scanf()
  • Unformatted I/O Functions: Character I/O (getchar(), putchar(), getch(), getche(), putch())
2.2. Control Structures
2.3. Decision Making Statements
  • if statement
  • if-else statement
  • Nested if-else statement
  • else-if ladder
  • switch statement
  • Conditional operator (? :)
2.4. Looping Statements
  • while loop
  • do-while loop
  • for loop
  • Nested loops
2.5. Jump Statements
  • break statement
  • continue statement
  • goto statement
3. Functions, Arrays and String
11 hrs
3.1. Functions
  • Introduction to functions: Advantages, function definition, function declaration/prototype
  • function call
  • Types of functions: Library functions vs. User-defined functions
  • Function arguments: Call by value, Call by reference
  • Recursion: Concepts and examples
3.2. Arrays
  • Introduction to arrays: Declaration, initialization, accessing elements
  • One-dimensional arrays: Processing and examples
  • Two-dimensional arrays: Declaration, initialization, accessing elements (matrix operations)
  • Multi-dimensional arrays
  • Arrays and functions
3.3. Strings
  • Introduction to strings: Declaration, initialization
  • String input/output(gets,puts)
  • String handling functions(strlen,strrev,strcpy,strupr,strlwr,strcmp,strcat)
  • Array of strings
4. Structures, Unions, and Enumerations
5 hrs
4.1. Structures and Unions
  • Defining and declaring structures
  • Accessing members, including nested structures, arrays of structures
  • Passing structures to functions
  • Defining and declaring unions; comparison with structures
4.2. Enumerations (Enums) and typedef implementation
5. Pointers and Memory Management
5 hrs
5.1. Pointer declaration, initialization, and dereferencing
  • Pointer arithmetic
  • Pointers with arrays, strings, function, structure
5.2. Dynamic memory allocation: malloc, calloc, realloc, free
5.3. DMA with structure
5.4. Dangling pointers and memory leaks
6. File Handling, Command-Line Arguments, and Graphics
11 hrs
6.1. File Handling
  • Concepts of files (text vs. binary) and file operations (opening, closing, reading, writing)
  • File modes and standard I/O functions (fgetc, fputc, fgets, fputs, fprintf, fscanf, fread, fwrite)
  • Random access (fseek, ftell, rewind) and error handling
6.2. Command-Line Arguments
  • Introduction to main() function parameters (argc, argv)
  • Passing and accessing arguments from the command line
6.3. Graphics in C
  • Introduction to graphics programming (basic concepts, graphics modes)
  • Drawing primitives: Points, lines, and common geometric shapes (rectangles, circles, ellipses, arcs, polygons)
  • Managing colors and fill styles for graphical output
  • Displaying and formatting text in graphics mode
  • Fundamentals of simple animation (clearing the screen, redrawing elements, using delays)

Laboratory Works

  1. 1.Fundamental Programming Constructs
  2. 2.Control Flow Mechanisms
  3. 3.Functions and Modularity
  4. 4.Array and String Manipulation
  5. 5.Pointers and Dynamic Memory
  6. 6.Structured Data Types
  7. 7.File Operations
  8. 8.Command-Line Interaction
  9. 9.Basic Graphics Programming

Text Books

  1. 1.Deitel, P. J., & Deitel, H. M. (n.d.). C how to program (Latest ed.). Pearson Education.
  2. 2.Kernighan, B. W., & Ritchie, D. M. (n.d.). The C programming language (Latest ed.). Prentice Hall.
  3. 3.Prata, S. (n.d.). C primer plus (Latest ed.). Pearson Education.

Reference Books

  1. 1.Balagurusamy, E. (n.d.). Programming in ANSI C (Latest ed.). Tata McGraw-Hill Education.

Source:

This course provides a comprehensive introduction to the C programming language, a foundational tool in computer science and software development. Emphasizing structured and procedural programming techniques, the course covers the core concepts of C including variables, data types, operators, control structures, arrays, functions, pointers, structures, unions, and file handling. Students will gain practical skills in writing efficient, modular, and error-free code, reinforced through hands-on lab sessions. The course is designed to develop algorithmic thinking, problem-solving ability, and a strong understanding of how memory and low-level operations work in modern computing environments. This course provides the essential groundwork for more advanced programming for software development, algorithms, and systems programming.
The main objective of this course is to provide students both the theoretical foundation and practical knowledge of programming logic using C programming language.

The practical component will reinforce theoretical concepts through hands-on programming exercises. A minimum of 48 hours (3 hours/week for 16 weeks) will be dedicated to practical sessions. Students are expected to complete assignments on a weekly basis.

  • Familiarization with a C IDE (e.g., Code::Blocks, Visual Studio Code with GCC, Eclipse CDT, Dev-C++, Turbo C++).

  • Understanding the compilation and execution process.

  • Debugging techniques

  • Emphasis on practical application for complex topics, especially Pointers and File Handling, to ensure thorough understanding.