2023 Faculty Courses School of Environment and Society Undergraduate major in Civil and Environmental Engineering
Computers and Fundamental Programming
- Academic unit or major
- Undergraduate major in Civil and Environmental Engineering
- Instructor(s)
- Hitoshi Morikawa / Ayako Akutsu / Haruka Tomobe
- Class Format
- Lecture/Exercise (Face-to-face)
- Media-enhanced courses
- -
- Day of week/Period
(Classrooms) - 1-2 Tue (学術国際情報センター3階第1演習室)
- Class
- -
- Course Code
- CVE.M301
- Number of credits
- 110
- Course offered
- 2023
- Offered quarter
- 1-2Q
- Syllabus updated
- Jul 8, 2025
- Language
- Japanese
Syllabus
Course overview and goals
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.
Course description and aims
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
- 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/Objectives
Course schedule | Objectives | |
---|---|---|
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): data type, loop, conditional statement, built-in functions | Understanding loop and conditional statement, and learning how to visualize computed results. |
Class 3 | Exercise: Basics of programming (2): user defined type, array, subroutine | Understanding data type, built-in functions and array, and usage of them through the exercise. Usage of subroutine, and its applications. |
Class 4 | Exercise: matrix operation & Tayler's expansion | How to express matrix using array, programming of basic matrix operation. |
Class 5 | Lecture & Exercise: Gaussian elimination | Understanding an algorithm of Gaussian elimination, and programming essential part. |
Class 6 | Lecture & Exercise: Fourier transform | Programming of Fourier transform using discrete Fourier transform (DFT) |
Class 7 | Lecture & Exercise: numerical integration using trapezoidal rule and Gauss-Legendre rule | Understanding and implementation for algorithms of numerical integration method. e.g. rapezoidal rule and Gauss-Legendre rule |
Class 8 | Lecture & Exercise: optimization using grid search & PSO | Understanding and implementation for algorithms of numerical optimization |
Class 9 | Lecture: Newton's method | Understanding an algorithm of Newton's method |
Class 10 | Exercise: Newton's method | Implementation of Newton's method |
Class 11 | Lecture: 1- & 2-degree-of-freedom system without damping | Theory of dynamic response of 1&2DOF system |
Class 12 | Exercise: 1- & 2-degree-of-freedom system without damping | numerical analysis for dynamic response of 1&2DOF system |
Class 13 | Lecture: Theory of 1D wave equation | Theory of 1D wave equation |
Class 14 | Exercise: 1D wave equation | numerical analysis for 1D wave equation |
Class 15 | project and Q&A | Q&A etc. |
Study advice (preparation and review)
To enhance effective learning, students are encouraged to spend approximately 100 minutes preparing for class and another 100 minutes reviewing class content afterwards (including assignments) for each class.
They should do so by referring to textbooks and other course material.
Textbook(s)
Nothing
Reference books, course materials, etc.
Handout will be distributed before beginning of class via T2SCHOLA.
Following textbook is recommended but will not be used in the course:
MAtsumoto, T. and Tokoroyama, T.: Fortran for everyone, Nagoya univ. press, 2022, ISBN978-8158-1087-0 (in Japanese, original title translated)
Ushijima, S.: Introduction to Fortran90/95 programming for numerical computation, 2nd ed., Morikita Publishing, 2020, ISBN978-4-627-84722-74 (in Japanese, original title translated)
Metcalf, M., Reid, J., and Chen, M.: Modern Fortran explained -- Incorporating Fortran 2018, Oxford university press, 2018, ISBN978-0-19-881188-6
Evaluation methods and criteria
Learning achievement is evaluated by combining results from reports.
Related courses
- CVE.M302 : Computers and Applied Programming
- CVE.A210 : Structural Dynamics in Civil Engineering
Prerequisites
Nothing