About the subject
What Computer Programming is for
C is small, close to the machine and still used wherever speed and hardware control matter, from microcontrollers to operating systems. Learning to program in C teaches how memory, arrays and pointers actually work, which makes every later language easier.
For Computer and BEI students this is the first of several programming courses. For Civil students it is the one programming course of the first year, and the habits it builds, breaking a problem into steps and testing the result, carry into numerical methods and design calculations.
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.
IOE's course objective for ENCT 101
- Taught to
- BCE, Semester 1 (Year I, Part I), BCT, Semester 1 (Year I, Part I) and BEI, Semester 1 (Year I, Part I)
- Weekly
- 3 lecture, 1 tutorial, 3 practical hours
- Marks
- Theory 40 internal + 60 final (3-hour exam); practical 50 internal; 150 in total
Where the marks are
ENCT 101 chapters, hours and final exam marks
IOE prints no chapter marks table for this course, so the share of lecture hours is the best guide to where the 60 final marks will fall.
Scroll the table sideways for hours, marks and share.
Full syllabus
The complete ENCT 101 outline, with how to study each chapter
All 10 chapters and 65 topics as IOE lists them, each with ICE's advice on approaching it.
1Introduction to Computer Programming3 hours
Programming languages and problem solving. Practise writing an algorithm and a flowchart before any code.
- 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
- Problem analysis
- Algorithm and flowchart
- Programming
- Compilation, linking and execution
- Debugging and testing
- Documentation
2Overview of C Programming3 hours
The structure of a C program, data types, variables and type casting. Write and compile small programs from the first week.
- 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
3Operators and Expressions4 hours
Operators and precedence. Many mistakes in later chapters come from misreading an expression, so test precedence rules with small programs.
- 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
4Input and Output3 hours
Formatted and unformatted input and output with printf and scanf. Short, but used in every program after it.
- 4.1 Introduction to data I/O in C
- 4.2 Unformatted I/O
- 4.3 Formatted I/O
- Control string (Flags, field width, precision, and specifier)
- Formatted I/O (scanf(), printf())
5Control Structures8 hours
Control structures carry the most hours of the course, 8 of 45. Branching and loops are the core of programming; write many small programs that use them.
- 5.1 Introduction to simple and compound statement
- 5.2 Sequential statement
- 5.3 Branching statement
- Simple if statement
- if-else statement
- Nested if-else statement
- else-if ladder
- switch statement
- go to statement
- 5.4 Looping statement
- for loop
- while loop
- do while
- Nested loop
- 5.5 Loop interruption
6Array and Pointer7 hours
Arrays, strings and pointers, 7 hours. Pointers are the hardest idea in the course. Draw memory diagrams showing where each variable lives and what each pointer holds.
- 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
7User-defined Functions6 hours
Functions, scope, recursion and call by value versus reference. Rewrite earlier programs using functions to see why they help.
- 7.1 Introduction to function
- 7.2 Advantages of function
- 7.3 Elements of user-defined function
- Function definition
- Function prototype
- Function parameters
- 7.4 Storage class
- 7.5 Scope rules
- 7.6 Category of functions
- Functions with no arguments and no return values
- Functions with arguments and no return values
- Functions with arguments and return values
- 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
8Structures5 hours
Structures, including arrays of structures and structures inside structures. A good chapter to build a small record-keeping program.
- 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
9File Management4 hours
Reading and writing text and binary files, and handling errors when a file cannot be opened.
- 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
- Character I/O (fputc(), fgetc())
- String I/O (fgets(), fputs())
- Formatted I/O (fscanf(), fprintf())
- Record I/O (fwrite(), fread())
- 9.6 Overview of random file access
- 9.7 Error handling
10Recent Trends in Programming2 hours
A two-hour look at object oriented ideas, class, object and method, as a bridge to the next course.
- 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
The ENCT 101 practical
The laboratory is three hours a week, and the eleven sessions follow the chapters: input and output, branching, loops, arrays, strings, pointers, functions, structures and files, then a group project of at most four students. The project is the place to combine everything, so choose one small enough to finish.
- Introduction and demonstrations of projects written in C
- Formatted and unformatted Input/output in C
- Branching in control structure
- Looping in control structure
- Array in C
- String in C
- Pointers in C
- User defined functions in C
- Structure in C
- File handling in C
- Group project on C maximum 4 students in a group at the end of the course.
Before and after
How Computer Programming connects to other courses
Leads to
Object Oriented Programming in C++ follows in Semester 2 for Computer and BEI, and Data Structure and Algorithm in Semester 4 for Computer. All three programmes use programming again in Numerical Methods.
Reference books
Books IOE lists for ENCT 101
- Lafore, R. (1993). The Waite Group's C programming using Turbo C++ (1st ed.). SAMS Publishing.
- Balagurusamy, E. (2019). Programming in ANSI C (8th ed.). McGraw Hill Education.
- Gottfried, B. S. (2010). Programming with C (3rd ed.). McGraw Hill Education.
Quick answers
Computer Programming questions
Which language is taught in IOE Computer Programming?
C. ENCT 101 teaches programming in C, with a two-hour closing chapter introducing object oriented ideas.
Is there a project in Computer Programming?
Yes. The last laboratory item is a group project in C with at most four students per group, at the end of the course.
Do Civil students study Computer Programming?
Yes. ENCT 101 is taught to Civil, Computer and BEI students in Semester 1 with the same outline.
How many credits and marks is ENCT 101 Computer Programming?
3 credits and 150 marks: 40 internal and 60 in a 3-hour IOE final for theory, plus 50 marks of practical assessed internally. It is taught 3 lecture, 1 tutorial and 3 practical hours a week.
Source
Checked against IOE
The outline, references and marks are IOE's own, from the ENCT 101 syllabus PDF and IOE's curriculum structure. The study advice is ICE's. If IOE revises the course, its syllabus is what counts. IOE's BCE curriculum page.