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

SRIPIAN PEERAYA

LAOHAKANGVALVIT TIPPORN
Course description
Programming is an essential step for engineers to implement novel ideas, analyze data, or perform tests and experiments. Therefore, this course aims at introducing the fundamental 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 languages 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.

****************************************************************************************************
The programming language used in this class is C language only.
****************************************************************************************************
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
Relationship between 'Goals and Objectives' and 'Course Outcomes'

Assignment Midterm exam Final exam Small Quiz and In class activities Total.
1. 10% 10% 5% 10% 35%
2. 10% 5% 10% 5% 30%
3. 5% 5% 15% 10% 35%
4. 0%
Total. 25% 20% 30% 25% -
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 the slides in advance 25分
Practice touch typing 20分
Set up connection to university server using SSH 15分
2. UNIX1 Data management, File management, Execute a program, Task management, Directory Practice touch typing 20分
Preparation and review the slides in advance 25分
3. UNIX2 Emacs, Traversing in directory, Command for files, Permission, Encoding Practice touch typing 20分
Preparation and review the slides in advance 25分
4. C Programming basics, how to compile and run a program, my first program, printf, scanf Homework on basic C programming 200分
Preparation and review the slides in advance 25分
Practice touch typing 20分
5. Type, Operator and Expressions Homework on basic C programming 200分
Preparation and review the slides in advance 25分
Practice touch typing 20分
6. Control Flow1 Homework on basic C programming 200分
Preparation and review the slides in advance 25分
Practice touch typing 20分
7. Control Flow2 Homework on basic C programming 200分
Preparation for midterm exam 170分
Practice touch typing 20分
8. Midterm exam Preparation and review the slides in advance 25分
9. Array1, discussion on midterm exam solutions Homework on array 1 200分
Practice touch typing 20分
Preparation and review the slides in advance 25分
10. Multidimensional Array, File Input and Output Homework on array 2 200分
Practice touch typing 20分
Preparation and review the slides in advance 25分
11. Function and program structure 1 Homework on program function 200分
Practice touch typing 20分
Preparation and review the slides in advance 25分
12. Function and program structure 2 Homework on program function 200分
Practice touch typing 20分
Preparation and review the slides in advance 20分
13. Pointers
Review for final exam
Homework on pointers 200分
Preparation for final exam 170分
14. Final exam and discussion on the solutions Review solutions 5分
Total. - - 2650分
Goals and objectives (Other Courses)
A:Fundamental Mechanical Engineering B:Advanced Mechanical Engineering C:Environment and Materials Engineering D:Chemistry and Biotechnology E:Electrical Engineering and Robotics G:Advanced Electronic Engineering F:Information and Communications Engineering L:Computer Science and Engineering H:Urban Infrastructure and Environment
Language
English
Evaluation method and criteria
"Assignment (25%), Midterm exam (20%), Final exam (30%), and Small Quiz and In-class activities (25%) 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.
Feedback on exams, assignments, etc.
ways of feedback specific contents about "Other"
Feedback in outside of the class (ScombZ, mail, etc.)
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
  • Office hours: Friday 1PM-4PM
    Prior Appointment by email only (peeraya@shibaura-it.ac.jp)
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 applicable
N/A N/A
Education related SDGs:the Sustainable Development Goals
    Last modified : Wed Mar 13 04:08:33 JST 2024