Syllabus

1. INTRODUCTION TO COMPUTER SYSTEMS

o What is a computer?

o Some basic terminology

o What is hardware and software

o Some basic terminology

2. WHAT ARE COMPUTER PROGRAMS

o Machine language / High level programming languages

o Editor program

o Compilation process

o Compile-time errors, run-time errors, logical errors

o Algorithm

3. INTRODUCTION TO C LANGUAGE

o History of C language

o C language features

o Advantages for enginners

4. LANGUAGE ELEMENTS

o Character set and tokens

o Basic rules

o Names

o Data types and size

o Declarations

o Constants

5. EXPRESSIONS AND ASSIGNMENTS

o Expressions

o Assignment

o Numeric operations

o Relational operators and logical operations

o Operator precedence

6. CONTROL STATEMENTS

o Statements and Blocks

o If-Else statements

o Switch

o Loops - While and For

o Loops - Do-While

o Break / Continue

o Goto and labels

7. ARRAYS AND STRINGS

o Arrays in memory

o Declaration of Arrays

o Reference and use of Array Items

o Strings

8. FUNCTIONS AND PROGRAM STRUCTURE

o Basics of Functions

o Prototype

o Declaration and Definition

o Return Statement

o Parameters

o Global and Static Variables

o Recursion

9. POINTERS AND ARRAYS

o Addresses and Pointers

o Pointers and Function Arguments

o Passing Array to Function

o Address Arithmetic

o Multi-dimensional Arrays

o Pointers to Pointers

10. STRUCTURES

o Definition and Initialization

o Typedef

o Pointers to Structures

o Structures and Functions

o Arrays of Structures

11. SELF-REFERENCIAL STRUCTURES

o Storage Management

o Type Conversion (cast operator)

o Dynamic Data Structures

o Linked Lists

o Binary Trees

12. INPUT / OUTPUT - FILES

o Standard Input/Output

o Formatted Output - Printf

o Formatted Input - Scanf

o File Access

o Line Input and Output - Fgets, Puts

o Characters I/O