IKC-MH.55 Scientific Computing with Python
2022-2023 Spring
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 midterm and one final exam, will count 30% each and 40% of your grade, respectively.
Homeworks/Assignments (or Term Project): 30%.
Attendance is not compulsory (30%), but you are responsible for everything said in class.
You are allowed to work in groups of two students on the homework unless otherwise mentioned.
You can use ideas from the literature (with proper citation).
You can use anything from the textbook/notes.
Exams: 1 page of notes (double sides) is allowed.
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 using VirtualBox in Windows environment (kubuntu-22.04.1-desktop-amd64.iso & VboxGuestAdditions_6.1.38.iso) |
html |
NA |
||||
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 |
|||||
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 |
|
html |
NA |
||||
14 |
|
NA |
|||||
Exams |
|||||||
7 |
Take-home Midterm Examination |
|
|
||||
html |
|
||||||
15 |
Take-home Final Examination |
|
|||||
html |