Programming in C Language – Fundamentals

Course code: CLAL01

Duration:        40 Hours

This course provides a thorough introduction to the C programming language, the workhorse of the UNIX operating system and preferred language of embedded processors and micro-controllers. It covers the basics of programming, customs and vocabulary, including the most common library functions and the usage of the pre-processor. Knowledge of C is highly marketable for summer internships, research programs, and full-time positions in software and embedded systems development.

Audience

Those who have a need to learn and apply C programming techniques

Prerequisites

This course assumes a basic understanding of the principles of programming and any operating system concepts.

Objective

To be proficient in basic concepts of computer programming and developer tools, present the syntax, semantics and data types offered by the C language, and allow the students to write their programs using standard language infrastructure, regardless of the hardware or software platform.

Education criteria

None

0. Overview of C Language and its applications

  • History of C Language
  • Importance of C
  • Sample program 1: Printing a Message
  • Sample program 2: Adding two numbers
  • Sample program 3: Interest calculation
  • Sample program 4: Use of subroutines
  • Sample program 5: Use of Math functions
  • Basic structure of C programs
  • Programming style
  • Executing a C program
  • Unix system
  • MS-DOS system

1. Explanation on installing and using the programming environment.

  • Selecting a development environment and available options to programmers
  • Selecting a compiler and available options
  • Overview of available libraries of the software
  • Writing, compiling and executing a simple program
  • Exercises
  • 2. Introduction to programming languages

    • Evolution of programming languages
    • Structured programming explained
    • The compilation process, source code, object code and executable code
    • Operating systems concepts, interpreters, linkers, loaders
    • Fundamentals of algorithms and flow charts.
    • Exercises

    3. C Language Fundamentals

    • Character set, Identifiers, Keywords, Data Types, Constant and Variables
    • Statements, Expressions, Operators, Precedence of operators
    • Input-output Assignments
    • Control structures, Decision making and Branching, Decision making & looping.
    • Exercises

    4. C Functions

    • User defined and standard functions
    • Formal and Actual arguments
    • Functions category, function prototypes
    • Parameter passing, Call-by-value, Call-by-reference
    • Recursion
    • Storage Classes.
    • Exercises

    5. Arrays and Strings

    • One dimensional Array, Multidimensional Array declaration and their applications
    • String Manipulation.
    • Exercises

    6. Pointers

    • Pointer variable and its importance
    • Pointer Arithmetic
    • Passing parameters by reference
    • Pointer to pointer
    • Linked list
    • Pointers to functions
    • Dynamic memory allocation.
    • Exercises

    7. Structures, Unions

    • Declaration of structures
    • Declaration of unions
    • Pointer to structure & unions.
    • Exercises

    8. File Handling

    • Console input and output functions
    • Disk input and output functions, Data files.
    • Exercises

    9. Additional Features in C

    • Command line arguments
    • Bit wise operators
    • enumerated data types, type casting
    • macros
    • the C preprocessor
    • more about library functions.
    • Exercises

    Course Review

    Exam Preparation (optional)