The aim of this lecture is to learn basic programming techniques and create programs for numerical analysis using C ++, one of the most widely used programming languages. Elementary grammar of C ++ language to matters important for numerical analysis such as pointers and arrays are learned through programming exercises. Also learn basic algorithms for essential skills for science and engineering researchers and engineers such as solution of simultaneous linear equations, interpolation and extrapolation, integration of functions, Monte Carlo method, solution of nonlinear equations, etc. Experience programming in.
By the end of this class, students will be able to:
(1) utilize a computer language (C, C++),
(2) understand algorithms of major numerical analysis methods, which are commonly used in research fields,
(3) make basic programes for numerical analysis in their fields.
computer programming, numerical analysis, algorithm, object-oriented programming, Newton-Raphson method, Monte Carlo method
✔ Specialist skills | Intercultural skills | Communication skills | Critical thinking skills | ✔ Practical and/or problem-solving skills |
Learn about grammar and algorithms of programming languages in the first half of the lecture and practice programming in the second half.
Course schedule | Required learning | |
---|---|---|
Class 1 | keyboard input and screen output | You can understand the output to the screen and the input from the keyboard and create a program. |
Class 2 | data type | Understand the basic data types and create programs. |
Class 3 | array | Understand the array and create a program. |
Class 4 | conditional branch | Understand the branch of the program flow, you can create a program. |
Class 5 | iteration | Understand the iteration of the program flow, you can create a program. |
Class 6 | basic of user-defined function | Understand the basics of functions, and can write programs. |
Class 7 | pointer | You can understand pointers and create programs. |
Class 8 | string (literal) and pointer | You can understand strings and pointers and create programs. |
Class 9 | application of user-defined function | Understand application of functions, you can write programs. |
Class 10 | basic of class for object-oriented programming | Understand the basics of classes, and can write programs. |
Class 11 | solving method for simultaneous linear equations | Understand basic algorithms as solving simultaneous linear equations, and can create programs. |
Class 12 | interpolation and extrapolation | Understand basic algorithms for interpolation and extrapolation, and can create programs. |
Class 13 | integral method of function | Understand basic algorithms for integration of functions, you can create programs. |
Class 14 | random number, Monte Carlo method | Understand the basic algorithm of generation of random numbers and Monte Carlo integration, and can create a program. |
Class 15 | solving method for nonlinear equation | Understand basic algorithms as solving nonlinear equations, and cancreate programs. |
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.
Introduction to C++ Programming and Graphics / Constantine Pozrikidis, Springer eBooks Computer Science, ISBN:
9780387689920 [0387689923], https://link.springer.com/10.1007/978-0-387-68993-7
Numerical recipes in C++ : the art of scientific computing / William H. Press ... [et al.], ISBN:
9780521750332 [0521750334]
Computational Physics - Problem Solving with Computers / Rubin H. Landau, Cristian C. Bordeianu, Manuel José Páez Mejía
Wiley Online Library Online Books ISBN: 9783527406265 [3527406263] 9783527618835 [352761883X], https://onlinelibrary.wiley.com/book/10.1002/9783527618835
You can acquire the basic method of programming and program by using basic algorithm of numerical analysis.
Grading will be conducted by exercises (70%) and final exams (30%).
nothing in particular
Hiroshi SAGARA, sagara[at]lane.iir.titech.ac.jp
Hiroaki TSUTSUI, htsutsui[at]lane.iir.titech.ac.jp
Shuo CHENG, cheng[at]tse.ens.titech.ac.jp
prior consultation by e-mail is required.