Course title
M20770001
Introduction to Computer Programming (Python, R, C, Java)

sripian peeraya

laohakangvalvit tipporn
Course description
*** Due to the prevention of the spread of COVID-19 pandemic, we will conduct online teaching for this course in Fall 2020.***

Programming is an essential step for engineers to implement novel ideas, analyze data, or performs tests and experiments. Therefore, this course aims at introducing the fundamentals principles of computer programming. To this end, students will learn how to write computer programs and to develop algorithms to solve complex problems for engineers. This class will teach pre-requisites for learning programming skills. It will first focus on the data structures commonly used in programming and the manipulation of data with computers. This class will rely on up to date programming language widely used in the industry and R&D departments such as Python, R, C, or Java. Practical Tutorials and exercises with computers will also be provided during this class.
Purpose of class
This course aims to introduce the fundamentals principles of computer programming so that students will learn how to write computer programs and develop algorithms to solve complex problems for engineers.
Goals and objectives

Goals and objectives Course Outcomes
1. The students can understand basic data structures commonly used in programming
A-1
2. The students can understand and describe programming basic commands.
A-1
3. The students can write a small program to solve a given problem using the designated programming language.
A-1
Language
English
Class schedule

Class schedule HW assignments (Including preparation and review of the class.) Amount of Time Required
1. Introduction, Computer Literacy (hardware, basics of OS) Preparation and review 100分
2. UNIX1 Data management, File management, Execute a program, Task management, Directory Preparation and review 100分
UNIX exercise1
3. UNIX2 Emacs, Traversing in directory, Command for files, Permission, Encoding Preparation and review 100分
UNIX exercise2 100分
4. C Programming basics, how to compile and run a program, my first program, printf, scanf Preparation and review 100分
Programming exercise (Hello world) 100分
5. Type, Operator and Expressions Preparation and review 100分
Programming exercise (arithmetic operator) 100分
6. Control Flow1 Preparation and review 100分
Programming exercise (control flow1) 100分
7. Control Flow2 Preparation and review 100分
Programming exercise (control flow2) 100分
Preparation for midterm exam 190分
8. Midterm exam Preparation and review 100分
9. Pointers and Array1 Preparation and review 100分
Programming exercise (Pointers and Array) 100分
10. Pointers and Array 2 Structures Preparation and review 100分
Programming exercise (Structure) 100分
11. Function and program structure 1 Preparation and review 100分
Programming exercise (Function) 100分
12. Function and program structure 2 Preparation and review 100分
Programming exercise (Function) 100分
13. File Input and Output Preparation and review 100分
Programming exercise(File input and output) 100分
14. Review for final exam Preparation for final exam 160分
Total. - - 2650分
Relationship between 'Goals and Objectives' and 'Course Outcomes'

Assignment Midterm exam Final exam Total.
1. 10% 10% 5% 25%
2. 10% 10% 10% 30%
3. 20% 10% 15% 45%
Total. 40% 30% 30% -
Evaluation method and criteria
"Assignment (40%), Midterm exam (30%) and Final exam (30%) are the criteria of the grade. More than 60% of the total score is needed for getting the course credit.
<Note>
Students are marked absent from the class if they are late regardless of the delay time.
If students are absent from more than one-third of the total number of classes, the credit of this course cannot be given to them.
Even though students are absent from the class whatever the reason, e.g. sickness, delay of public transportation systems, forgetting to bring the student ID card, it is counted as an absence.
Textbooks and reference materials
The C Programming Language Second Edition by Brian W. Kernighan • Dennis M. Ritchie, Pearson Education
Prerequisites
None
Office hours and How to contact professors for questions
  • Weekdays: From 10:00 - 16:30 by email or individual discussion via Zoom (appointment only)
Regionally-oriented
Non-regionally-oriented course
Development of social and professional independence
  • Course that cultivates an ability for utilizing knowledge
Active-learning course
Most classes are interactive
Course by professor with work experience
Work experience Work experience and relevance to the course content if applicatable
N/A N/A
Education related SDGs:the Sustainable Development Goals
    Last modified : Mon Oct 05 04:02:45 JST 2020