Formerly Janakpur Engineering College (JEC)Affiliated to Tribhuvan University
Civil engineering students gathered around survey equipment during a field briefing

IOE syllabus 2080

ENCT 101 Computer Programming

BCE Semester 1, BCT Semester 1 and BEI Semester 1 · Tribhuvan University, Institute of Engineering

Computer Programming (ENCT 101) is the Semester 1 programming course for Civil, Computer and BEI students, taught in the C language with 10 chapters and 11 laboratory sessions ending in a group project.

  • 3 credits
  • 45 lecture hours
  • 10 chapters
  • 150 marks

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
    • Character I/O
    • String 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
    • break
    • continue

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.

  1. Introduction and demonstrations of projects written in C
  2. Formatted and unformatted Input/output in C
  3. Branching in control structure
  4. Looping in control structure
  5. Array in C
  6. String in C
  7. Pointers in C
  8. User defined functions in C
  9. Structure in C
  10. File handling in C
  11. Group project on C maximum 4 students in a group at the end of the course.

Reference books

Books IOE lists for ENCT 101

  1. Lafore, R. (1993). The Waite Group's C programming using Turbo C++ (1st ed.). SAMS Publishing.
  2. Balagurusamy, E. (2019). Programming in ANSI C (8th ed.). McGraw Hill Education.
  3. 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.

Last reviewed by Imperial College of Engineering. Outline and marks checked against IOE's syllabus PDF; study advice written by ICE.