Computer Programming CT 101 | IOE Syllabus 2080
Lecture : 3
Tutorial : 1
Practical : 3
Course Objectives:
The primary goal of this course is to provide students with a solid foundation in the principles of programming and to impart practical skills in the C programming language. This course ensures that students comprehend the fundamental concepts of variables, data types, control structures, and functions within the context of C. Advanced topics such as pointers, structures, file handling and the Standard C Library are explored to broaden students’ programming capabilities. Also, through project-based assessments and evaluations, students apply their knowledge to real-world scenarios, fostering creativity and project development skills.
1. Introduction to Computer Programming (3 hours)
1.1 Definition of a computer program and programming language
1.2 Types and Generations of Programming Languages
1.3 Problem-Solving using a computer
1.3.1 Problem Analysis
1.3.2 Algorithm and Flowchart
1.3.3 Programming
1.3.4 Compilation, Linking and Execution
1.3.5 Debugging and Testing
1.3.6 Documentation
2. Overview of C Programming (3 hours)
2.1 Introduction to C programming
2.2 History and Importance of C
2.3 C Headers and Library Functions
2.4 Basic Structure of a C Program
2.5 Preprocessor Directives
2.6 Tokens in C (Character set, Keywords and Identifiers)
2.7 Type Casting (Implicit and Explicit)
2.8 Data Types, Variables and Constants
2.9 Compiler and IDE for C Programming
3. Operators and Expressions (4 hours)
3.1 Introduction to Operators and Expressions
3.2 Arithmetic, Relational and Logical Operators
3.3 Assignment, Increment and Decrement Operators
3.4 Conditional, Bitwise and Special Operators
3.5 Comma Operator, size of Operator
3.6 Evaluation and Type Conversion in Expressions
3.7 Operator Precedence and Associativity
4. Input and Output (3 hours)
4.1 Introduction to data I/O in C
4.2 Unformatted I/O
4.2.1 Character I/O
4.2.2 String I/O
4.3 Formatted I/O
4.3.1 Control String (flags, field width, precision, and specifier)
4.3.2 Formatted I/O (scanf(), printf())
5. Control Structures (8 hours)
5.1 Introduction to Simple and Compound Statement
5.2 Sequential Statement
5.3 Branching Statement
5.3.1 Simple if Statement
5.3.2 if-else Statement
5.3.3 Nested if-else Statement
5.3.4 else-if Ladder
5.3.5 switch Statement
5.3.6 go to statement
5.4 Looping Statement
5.4.1 for loop
5.4.2 while loop
5.4.3 do while
5.4.4 Nested loop
5.5 Loop Interruption
5.5.1 break
5.5.2 continue
6. Array and Pointer (7 hours)
6.1 Introduction to an Array
6.2 One-dimensional Array
6.3 Two-dimensional Array
6.4 Multidimensional Array
6.5 Introduction to String
6.6 String Handling Functions
6.7 Definition of a Pointer
6.8 Pointer Declaration
6.9 Pointer Arithmetic
6.10 Relationship between Pointer and Arrays
7. User-defined Functions (6 hours)
7.1 Introduction to Function
7.2 Advantages of Function
7.3 Elements of User-defined Function
7.3.1 Function Definition
7.3.2 Function Prototype
7.3.3 Function Parameters
7.4 Storage Class
7.5 Scope Rules
7.6 Category of Functions
7.6.1 Functions with no arguments and no return values
7.6.2 Functions with arguments and no return values
7.6.3 Functions with arguments and return values
7.6.4 Functions with no arguments and return values
7.7 Recursive functions
7.8 Function Call by Values and Reference
7.9 Passing Array and String to Function
8. Structures (5 hours)
8.1 Defining a Structure
8.2 Declaring and Accessing Structure Elements
8.3 Initializing Structure
8.4 Array of Structure
8.5 Array as member to Structure
8.6 Pointer as member to Structure
8.7 Structure as a member to Structure
8.8 Passing and Returning Structures to/from Function
9. File management (4 hours)
9.1 Introduction
9.2 Binary and Text File in C
9.3 File Opening Modes
9.4 Defining, Opening and Closing File
9.5 Input-output operations on files
9.5.1 Character I/O (fputc(), fgetc())
9.5.2 String I/O (fgets(), fputs())
9.5.3 Formatted I/O (fscanf(), fprintf())
9.5.4 Record I/O (fwrite(), fread())
9.6 Overview of Random File Access
9.7 Error handling
10. Recent Trends in Programming (2 hours)
10.1 Introduction to Object Oriented Programming (OOP)
10.2 Definitions of Class, Method and Object in OOP
10.3 Difference between Procedure Oriented and OOP
10.4 Overview of other High Level Programming Languages
Laboratory
- Lab 1: Introduction and Demonstrations of projects written in C
- Lab 2: Formatted and Unformatted Input/output in C
- Lab 3: Branching in Control Structure
- Lab 4: Looping in Control Structure
- Lab 5: Array in C
- Lab 6: String in C
- Lab 7: Pointers in C
- Lab 8: User Defined functions in C
- Lab 9: Structure in C
- Lab 10: File handling in C
- Group project on C maximum 4 students in a group at the end of the course.
Mark Distribution
S.N | Topic | Workload (hrs) | Marks * | Remarks |
1 | Introduction to Computer Programming | 3 | 5 | |
2 | Overview of C Programming | 3 | 5 | |
3 | Operators and Expressions | 4 | 4 | |
4 | Input and Output | 3 | 3 | |
5 | Control Structures | 8 | 10 | |
6 | Array and Pointer | 7 | 12 | |
7 | User-defined Functions | 6 | 7 | |
8 | Structures | 5 | 6 | |
9 | File management | 4 | 5 | |
10 | Recent Trends in Programming | 2 | 3 | |
Total | 45 | 60 |
Reference
- Robert Lafore, “C Programming Using Turbo C++”, SAMS publication
- E. Balagurusamy, “Programming in Ansi C”, McGraw Hill Education
- Bryons S. Gotterfried, “Programming with C”, TMH