TU156: Introduction to Computers and Programming


Course Information

Description: Basic concepts of computer systems, electronic data processing and concepts, system and application software, algorithms, flowcharts, data representation, program design and development methodology, problem solving using high-level language programming.

Course staff and contact information:

Instructor: Dr. Songyot Nakariyakul
E-mail: nsongyot@engr.tu.ac.th
Office: Room 420-2 Research Building
Office Hours: By appointment

Pre-requisites: None.

Problem sets: You are encouraged to do problem sets to reinforce what you learn in lecture, but they will not be graded.


Class attendance 10%
Lab test 10%
Midterm 35%
Final 45%


Software: We will use Code:Blocks (download) to write C programs.

Textbooks & Materials:

  1. คู่มือการเขียนโปรแกรมภาษา C ฉบับสมบูรณ์ โดย รศ. ธีรวัฒน์ ประกอบผล
  2. การเขียนโปรแกรมด้วยภาษา C โดย อ. โอภาส เอี่ยมสิริวงศ์
  3. H. M. Deitel and P. J. Deitel, “C How to Program” 5th edition, Prentice Hall, 2007


  Topic Lecture Notes Problem Set Solution
  Course outline pdf
1 Computer overview, hardware & software slides    
2 Number systems slides    
3 Data representation slides    
4 Programming development environment slides    
5 Introduction to C programming slides    
6 C Data types and operators slides    
7 C Formatted I/O slides PS1 Sol1
8 Structured program development in C, algorithm, pseudocode, flowchart slides    
9 C Program control – condition slides PS2 Sol2
10 C Program control – repetition slides PS3 Sol3
11 C Functions slides PS4 Sol4
12 C Arrays part_1
PS5 Sol5
13 C Characters and strings slides