### 2018　Computers and Fundamental Programming

Font size  SML

Undergraduate major in Civil and Environmental Engineering
Instructor(s)
Nakamura Takashi  Furukawa Akira  Nakanishi Wataru  Tamura Hiroshi  Seto Rie
Class Format
Lecture / Exercise
Media-enhanced courses
Day/Period(Room No.)
Tue1-2(学術国際情報センター3階第1演習室)
Group
-
Course number
CVE.M301
Credits
2
2018
Offered quarter
1-2Q
Syllabus updated
2018/3/20
Lecture notes updated
2018/7/24
Language used
Japanese
Access Index

### Course description and aims

Numerical analysis using computer is now important and essential skill for various fields. In this class, computer language Fortran 90/95, which is especially used in large-scale numerical computing, is used. By understanding basic grammar of the computer language and algorithms of major numerical-analysis methods, which are commonly used in research fields, basic programing skill will be acquired.
Through this course, students who don’t have any programming experience are expected to understand algorithms of major numerical-analysis methods and to be able to make basic program for numerical analysis.

### Student learning outcomes

By the end of this class, students will be able to:
(1) understand basic grammar of the computer language,
(2) understand algorithms of major numerical-analysis methods, which are commonly used in research fields,
(3) acquire basic skills for applying the numerical analysis techniques to their own problems in their fields.

### Keywords

numerical analysis, algorithm, Fortran, programming

### Competencies that will be developed

 ✔ Specialist skills Intercultural skills Communication skills Critical thinking skills Practical and/or problem-solving skills

### Class flow

Basics of programming and algorithms is trained through both lectures and exercises with using terminal of GSIC.

### Course schedule/Required learning

Course schedule Required learning
Class 1 Exercise: Guidance, introduction to numerical analysis, instruction on usage and programing environment Guidance of the class understanding about broad range application of numerical analysis explanations on the rule of practical room, configuration of programming environments, short exercise of Fortran programming
Class 2 Exercise: Basics of programming (1): Loop, conditional statement and visualization. Understanding loop and conditional statement, and learning how to visualize computed results.
Class 3 Exercise: Basics of programming (2): Data type, built-in functions, array Understanding data type, built-in functions and array, and usage of them through the exercise.
Class 4 Exercise: Basics of programming (3): Subroutine Usage of subroutine, and its applications.
Class 5 Exercise: Matrix operation How to express matrix using array, programming of basic matrix operation.
Class 6 Lecture: Gaussian elimination (1): Algorithm Understanding an algorithm of Gaussian elimination, and programming essential part.
Class 7 Exercise: Gaussian elimination (2): Programming Programming of Gaussian elimination including partial pivoting.
Class 8 Exercise: Newton's method Understanding an algorithm of Newton's method, and programming and demonstration of the application.
Class 9 Lecture: Least-square method, optimization Understanding and implementation for algorithms of linear and non-linear least-square method.
Class 10 Lecture: Numerical integration Understanding and implementation for algorithms of numerical integration method. e.g. rectangle rule, trapezoidal rule, Simpson's rule
Class 11 Lecture: Ordinary differential equation (1): Basics Understanding and implementation for algorithms of numerical solution techniques for ordinary differential equation. e.g. Euler's method, Runge-Kutta method
Class 12 Lecture: Ordinary differential equation (2): Applications Understanding some applications of numerical simulation by ordinary differential equations to actual physical phenomena
Class 13 Lecture: Partial differential equation Understanding and implementation for algorithms of numerical solution techniques for partial differential equation by finite difference method, and visualization of the results.
Class 14 Lecture: Pattern formation by reaction-diffusion equation Implementation for reaction-diffusion equation, and visualization of the computed spatio-temporal patterns.
Class 15 Exercise: Algebraic calculation by 'Mathematica' Understanding basic usage of 'Mathematica'.

Nothing

### Reference books, course materials, etc.

Handout will be distributed before beginning of class via OCW-i.
Following textbook is recommended but will not be used in the course:
Ushijima, Satoru. "Introduction to Fortran90/95 programming for numerical computation" Morikita Publishing, ISBN-13: 978-4-627-84721-7 (in Japanese, original title translated)

### Assessment criteria and methods

Learning achievement is evaluated by combining results from reports 60 %, and final exam 40 %. Please note that you will be disqualified from the final exam if your absences is more than 6 classes.

### Related courses

• CVE.M302 ： Computers and Applied Programming

Nothing