---
title: 'CSE 109 -  Computer Programming'
url: 'https://eee.buet.ac.bd/academics/undergraduate/courses/cse109'
markdown: 'https://eee.buet.ac.bd/academics/undergraduate/courses/cse109.md'
date: '2026-04-28'
description: 'CSE 109 - Computer Programming Section A: General Information Course Title: Computer Programming Type of Course: Compulsory, Theory, Non-departmental Offered to: EEE Pre-requisite Course(s): None Section B: Course Details Course Content (As approved by the Academic Council) Introduction …'
taxonomy:
  archives_month:
    - apr_2026
  archives_year:
    - '2026'
---

# CSE 109 - Computer Programming

## Section A: General Information

- **Course Title:** Computer Programming
- **Type of Course:** Compulsory, Theory, Non-departmental
- **Offered to:** EEE
- **Pre-requisite Course(s):** None

## Section B: Course Details

### Course Content (As approved by the Academic Council)

Introduction to digital computers. Programming languages, algorithms and flow charts. Structured Programming using C: Variables and constants, operators, expressions, control statements, functions, arrays, pointers, structure unions, user defined data types, input-output and files. Object-oriented Programming (OOP) using C++: introduction, classes and objects; polymorphism; function and operator overloading; inheritance;

### Course Objectives

The students are expected to:

Know and comprehend the concepts of structural programming language and object oriented programming language.

Interpret, analyse and evaluate code written in C/C++.

Design and construct suitable C/C++ programs, within the boundaries of the ethical and societal obligations of engineers, to solve practical problems.

### Knowledge required

> **Technical**

Introductory knowledge on Computers is required. Knowledge on any high-level programming language such as python may be an added advantage for the learners.

> **Analytical**

Problem formulation and solving

### Course Outcomes

| **CO No.** | **CO Statement**  After undergoing this course, students should be able to: | **Corresponding PO(s)\*** | **Domains and Taxonomy level(s)\*\*** | **Delivery Method(s) and Activity(-ies)** | **Assessment Tool(s)** |
|---|---|---|---|---|---|
| 1 | **Know** and **comprehend** the concepts of structural programming language and object-oriented programming language. | - | C2 | Lecture, Demonstration, and hands-on | Class Tests and Assignments, Assignments in CSE 110, and Final Exam |
| 2 | **Interpret**, **analyse** and **evaluate** code written in C/C++. | - | C5, A5 | Lecture, Demonstration, and hands-on | Class Tests and Assignments, Assignments in CSE 110, and Final Exam |
| 3 | **Design** and **construct** suitable C/C++ programs, within the boundaries of the **ethical and societal obligations of engineers**, to **solve** practical problems | - | C6, A5 | Lecture, Demonstration, and hands-on | Class Tests and Assignments, Assignments in CSE 110, and Final Exam |

Cognitive Domain Taxonomy Levels: **C1** – Knowledge, **C2** – Comprehension, **C3** – Application, **C4** – Analysis, **C5** – Synthesis, **C6** – Evaluation, **Affective Domain Taxonomy Levels**: **A1**: Receive; **A2:** Respond; **A3:** Value (demonstrate); **A4:** Organize; **A5:** Characterize; **Psychomotor Domain Taxonomy Levels:** **P1:** Perception; **P2**: Set; **P3:** Guided Response; **P4:** Mechanism; **P5:** Complex Overt Response; **P6:** Adaptation; **P7:** Organization

Program Outcomes (PO): **PO(a)** Engineering Knowledge, **PO(b)** Problem Analysis, **PO(c)** Design/development Solution, **PO(d)** Investigation,
**PO(e)** Modern tool usage, **PO(f)** The Engineer and Society, **PO(g)** Environment and sustainability, **PO(h)** Ethics, **PO(i)** Individual work and team work,
**PO(j)**. Communication, **PO(k)** Project management and finance, PO**(l)** Life-long Learning

\* For details of program outcome (PO) statements, please see the departmental website or course curriculum

### Mapping of Knowledge Profile, Complex Engineering Problem Solving and Complex Engineering Activities

| **COs** | **K1** | **K2** | **K3** | **K4** | **K5** | **K6** | **K7** | **K8** | **P1** | **P2** | **P3** | **P4** | **P5** | **P6** | **P7** | **A1** | **A2** | **A3** | **A4** | **A5** |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CO1 |  | √ |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| CO2 |  | √ | √ |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  | √ |
| CO3 |  | √ | √ | √ | √ | √ | √ | √ |  |  | **√** | **√** | **√** |  | **√** |  |  |  |  | **√** |

### Lecture Plan

| **Week** | **Topic** |
|---|---|
| 1 | Introductory discussion, Motivation behind Programming, hands on demonstration of a very simple Program |
| 2 | Data type, variables, operators, expressions, type-casting, Control structure: if-else, switch-case, ternary operator |
| 3 | while/do-while/for loops, nested control structure, break and continue; |
| 4 | Function: parameter passing, return type; |
| 5 | One-dimensional array: searching and sorting with one-dimensional arrays; |
| 6 | Character and String: basic string operations, string related library functions; |
| 7 | Multi-dimensional array: matrix operations with multi-dimensional arrays; Recursion; |
| 8 | Bitwise operations; User-defined data types: structure, union, bitfield, enumeration; |
| 9 | Pointers: pointer to string, array, structure, and function |
| 10 | Dynamic memory allocation |
| 11 | Input/Output I/O): Console I/O, Formatted I/O, File I/O |
| 12 | Introduction to OOP, classes and objects, reference |
| 13 | Polymorphism, function and operator overloading, static functions |
| 14 | Inheritance Continued): function overriding, abstract class |

### Assessment Strategy

Class Attendance: Class attendance will be recorded in every class.

Class Tests/Assignments/Projects: There will be a minimum of 4 four) Class Tests/Assignments/Projects, out of which the best 3 three) will be considered in final evaluation.

Final exam: A comprehensive Final exam will be held at the end of the semester as per the institutional ordinance.

### Distribution of Marks

- Class Participation 10%
- Continuous Assessment 20%
- Final Examination 70%
- Total 100%

### Textbook/References

C/C++ Structured C/C++ Programming by M A H Newton, M. Kaykobad and Md Mostofa Akbar, Voyeger Publications

Teach yourself C, Herbert Shildt 3rd Edition)

Teach yourself C++, Herbert Shildt 3rd Edition)

Programming With C, Schaums Outline Series

---

## Navigation

- Parent: [Courses](https://eee.buet.ac.bd/academics/undergraduate/courses.md)
- Previous: [CHEM 114 -  Inorganic Quantitative Analysis](https://eee.buet.ac.bd/academics/undergraduate/courses/chem114.md)
- Next: [CSE 110 -  Computer Programming Sessional](https://eee.buet.ac.bd/academics/undergraduate/courses/cse110.md)
