C Programming Logo

Computer Fundamentals and C Programming

Course Materials, Lecture Notes, Programs and Sample Runs

Course Information

Course Description

This course introduces fundamental concepts of computers, programming and system-oriented software development. It provides a detailed understanding of C programming language, which forms the foundation for operating systems, embedded systems and hardware-level programming.

Motivation

C programming is widely used in embedded systems, operating systems, firmware development and performance-critical applications because of its efficiency and direct control over system resources.

Prerequisites

Course Outcomes

Course Modules

Module 1: Fundamentals, Data Types and Control Structures

Topics Covered

  • Computer fundamentals, hardware and software
  • C data types and variables
  • Operators and expressions
  • Decision making and looping structures

Learning Resources

Module 2: Arrays and Static Memory Allocation

Topics Covered

  • One-dimensional and multidimensional arrays
  • Static memory allocation
  • Array processing techniques

Learning Resources

Module 3: Searching, Sorting and Functions

Topics Covered

  • Nested loops
  • Searching algorithms
  • Sorting techniques
  • Functions and modular programming

Learning Resources

Module 4: Recursion, Pointers and Dynamic Memory Allocation

Topics Covered

  • Recursive functions
  • Pointers and pointer arithmetic
  • Dynamic memory allocation

Learning Resources

Module 5: File Handling and Software Development Tools

Topics Covered

  • Command-line arguments
  • Text and binary file handling
  • Software development tools
  • Memory management concepts

Learning Resources