IKC-MH.55 Scientific Computing with Python
2023-2024 Fall
TIME |
MONDAY |
TUESDAY |
WEDNESDAY |
THURSDAY |
FRIDAY |
Contents |
|
---|---|---|---|---|---|---|---|
8:30 |
|
|
|
|
|
||
9:30 |
|
|
|
|
|
||
10:30 |
|
|
|
|
|
||
11:30 |
|
|
|
|
|
||
12:30 |
|
|
|
|
|
||
13:30 |
|
|
|
|
|
||
14:00 |
|
|
|
|
IKC-MH.55 |
||
15:00 |
|
|
|
|
IKC-MH.55 |
|
|
16:30 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Instructor office: Faculty of Engineering and Architecture Department of Engineering Sciences, H1-33
|
TA Not Available office: |
Watch this space for the latest updates (If the characters do not show properly, please try viewing this page with Unicode (UTF-8) encoding). Last updated:
Python is a well-designed, modern programming language and widely used in computational science and engineering. It is a powerful tool since It includes a wide range of features tailored for scientific computing. This course is not either a numerical methods or a programming python course. However, this course is designed to use computer programming to implement numerical algorithms for solving physics/engineering problems. Consequently, Python (fundamentals of programming in Python, NumPy, SciPy, Matplotlib libraries) and some numerical techniques (practice at physics/engineering problems) will be learned implicitly. You may be expected to do significant programming and problem solving. An understanding of the concepts of elementary calculus, in particular solutions of differential equations and Newtonian/wave mechanics are required but not mandatory since they will be explained as needed. Important announcements will be posted to the Announcements section of this web page, so please check this page frequently. You are responsible for all such announcements, as well as announcements made in lecture.
IKC-MH.55 is intended to provide students a practical introduction for using the computer as a tool to solve physics and engineering problems. The fundamental advantage of using computers in science is the ability to treat systems that cannot be solved analytically. So that computing has become a major tool in science/engineering and it is called the third pillar along with experiments and theory. Numerical techniques such as: Interpolation & Model Fitting, Derivatives & Integrals, Basic Linear Algebra, Eigenvalue Problems, Differential equations, ODE and PDE solvers are used to solve problems from all areas of science and engineering. Python implementation of these algorithms will be covered only whenever necessary in the context of the course. Each class will be focused towards solving a particular physical/engineering problem. Problems will be drawn from diverse areas of real-life examples as much as possible. Theory or model, method of solution/algorithm, solution implementation (analytic, Python) and visualization/exploration will be outlined for the problem description.
Upon completion of this course the students will be able to understand/explain/apply;
Learn how to work in a scientific computing environment.
Get familiarized with Python as a programming language for numerical computation.
Learn how to solve physics/engineering problems using numerical techniques.
Can solve demanding tasks with Python.
Learn to analyze problems, select appropriate numerical algorithms to solve the problem, implement them using Python.
Possess the basic knowledge of numerical modeling, data analysis and visualizing large amount of data.
Lecture material will be based on them. It is strongly advised that student should read textbooks rather than only content with the lecture material supplied from the lecturer.
Required |
Recommended |
|||
|
Computational Physics: Problem Solving with Python by Rubin H. Landau, Manuel J. Páez, Cristian C. Bordeianu 3 rd Edition, 2015 |
Learning Scientific Programming with Python by Christian Hill 2nd Edition, 2020 |
Fortran ve Python ile Sayısal Fizik by Bekir Karaoğlu 2. baskı, 2013 |
Fizik ve Mühendislikte Python by R. Gökhan Türeci, Hamdi Dağıstanlı, İlkay Türk Çakır 2021 |
|
|
|
|
The following resources are available online. Please inform me about the usefullness of the materials. Check this place for updates.
Midterms & Final Exams: There will be one take-home midterm and one take-home final exam, will count 40% each and 60% of your grade, respectively.
Homeworks/Assignments (or Term Project): ??
Attendance is not compulsory (30%), but you are responsible for everything said in class.
You can use ideas from the literature (with proper citation).
You can use anything from the textbook/notes.
I encourage you to ask questions in class. You are supposed to ask questions. Don't guess, ask a question!
The following schedule is tentative; it may be updated later in the semester, so check back here frequently.
Week |
Topic |
Lecture Notes |
Quizes |
Homeworks |
|||
---|---|---|---|---|---|---|---|
Py |
|||||||
Grades |
Grades |
||||||
Lectures |
|||||||
1 |
First Meeting Lecture Information Installation of Linux system and required tools/programs under VirtualBox in Windows environment (VirtualBox 7.0.10 + Extension Pack & kubuntu 22.04.3) Installation of required tools/programs in Windows environment (Anaconda3 2023.09-0 & pycharm-community 2023.2.2 ) |
Video for Installation of Kubuntu & PyCharm under VirtualBox |
|||||
2 |
Introduction I Introduction to Python and Scientific Packages Programming in Python, Use of the NumPy/SciPy library, Plotting and Visualization with Matplot |
NA |
|||||
3 |
Introduction II Numerical Fundamentals: Numbers, Errors. |
NA |
|||||
4 |
Numerical Techniques: Root Searching Blackbody Radiation |
NA |
|||||
5 |
Numerical Techniques: Numerical Differentiation and Integration Variable Force in One Dimension, Simple Pendulum |
NA |
|||||
6 |
Numerical Techniques: Differential Equations - Initial Value Problems Projectile Motion with Air Resistance, Planetary Motion |
NA |
|||||
7 |
Take-home Midterm Examination (will be available at exam hour & see below for the pdf-file) |
||||||
8 |
Numerical Techniques: Differential Equations - Boundary Value Problems Laplace Equation in Electrostatics |
NA |
|||||
9 |
Numerical Techniques: Differential Equations - Eigenvalue Problems Wave Motion Along a Spring, Hydrogen Atom |
NA |
|||||
10 |
Numerical Techniques: Differential Equations - Legendre polynomials & Hermite Polynomials Quantum Harmonic Oscillator |
NA |
|||||
11 |
Numerical Techniques: Linear Algebra and Matrix Computing I Kirchhoff’s Rules |
NA |
|||||
12 |
Numerical Techniques: Linear Algebra and Matrix Computing II Normal Modes of Oscillations |
NA |
|||||
13 |
Data Analysis: Interpolation and Curve Fitting I Interpolating Polynomials |
NA |
|||||
14 |
Data Analysis: Interpolation and Curve Fitting II Millikan Oil Drop Experiment |
NA |
|||||
Exams |
|||||||
7 |
Take-home Midterm Examination |
|
|
||||
|
|||||||
15 |
Take-home Final Examination |
|
|||||
https://web.cecs.pdx.edu/~gerry/nmm/