CN101: Introduction to Computer Programming


Course Information

Description: Computer concepts, computer components: hardware and software interaction, current programming language: programming practices .

Course staff and contact information:

Instructor: Dr. Songyot Nakariyakul
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%, Homework 10%, Midterm 35%, Final 45%


Software: Python (download).

Textbooks & Materials:

  1. Tony Gaddis, “Starting Out with Python,” 4th edition, Pearson, 2019.
Reference Website:


  Topic Lecture Notes Problem Set Solution
  Course outline pdf
1 Introduction to Computers and Programming slides    
2 Input, Processing, and Output slides PS1 Sol1
3 Decision Structures amd Boolean Logic slides PS2 Sol2
4 Repetition Structures slides PS3 Sol3
5 Functions slides PS4 Sol4
6 Lists and Tuples slides PS5 Sol5
7 More About Strings slides PS6 Sol6
  Turtle Graphic slides    
  Numpy Module slides    
  Matplotlib Module slides    


Sample Codes
Operator & ASCII Table