IKC-MH.55 Scientific Computing with Python

2022-2023 Spring


Most recent announcement: June 20

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

Cem Özdoğan

office: Faculty of Engineering and Architecture

Department of Engineering Sciences, H1-33
office hours: Schedule or appointment by email, or drop by anytime
office phone: 329 3535 / 3803
email address: cozdogan11@gmail.com

cem.ozdogan@ikc.edu.tr

TA

Not Available

office:
office hours:
office phone:
email address:


Announcements

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:

Tue, June 20, 2023 Final Examination grades are available, see Course Schedule section

Thu, June 1, 2023 Final Examination will be as take-home work, see Course Schedule section

Thu, June 1, 2023 Midtem Examination grades are available, see Course Schedule section

Mon, May 22, 2023 Lecture notes for week12 is published, see Course Schedule section

Mon, May 22, 2023 Lecture notes for week11 is published, see Course Schedule section

Wed, May 3, 2023 Lecture notes for week10 is published, see Course Schedule section

Mon, April 17, 2023 Lecture notes for week9 is published, see Course Schedule section

Mon, April 17, 2023 Lecture notes for week8 is published, see Course Schedule section

Mon, April 17, 2023 No lecture at week7. Midtem Examination will be as take-home work, see Course Schedule section

Mon, April 3, 2023 Lecture notes for week6 is published, see Course Schedule section

Thu, March 23, 2023 Lecture notes for week5 is published, see Course Schedule section

Thu, March 16, 2023 Lecture notes for week4 is published, see Course Schedule section

Wed, March 8, 2023 Lecture notes for week3 is published, see Course Schedule section

Thu, March 2, 2023 Lecture notes for week2 is published, see Course Schedule section

Thu, February 23, 2023 In the first lecture, there will be first meeting. The lecture notes will be published soon, see Course Schedule section.

Back to top

Lecture Information

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.


Back to top

Course Overview

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;

Back to top

Text Book

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

Wiley

Learning Scientific Programming with Python by Christian Hill

2nd Edition, 2020

Cambridge University Press

Fortran ve Python ile Sayısal Fizik

by Bekir Karaoğlu

2. baskı, 2013

Seçkin Yayıncılık

Fizik ve Mühendislikte Python

by R. Gökhan Türeci, Hamdi Dağıstanlı, İlkay Türk Çakır

2021

Gazi Kitabevi







Back to top

Online Resourcess

The following resources are available online. Please inform me about the usefullness of the materials. Check this place for updates.

Back to top

Grading Criteria


Back to top

Policies


Back to top

Tentative Course Outline

Back to top

Tentative Course Schedule & Lecture Notes

The following schedule is tentative; it may be updated later in the semester, so check back here frequently.


Week

Topic

Lecture Notes

Quizes

Homeworks

Pdf

Py

Pdf

Pdf

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)

pdf

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

pdf

Hands-On

NA

3

Introduction II

Numerical Fundamentals: Numbers, Errors.

NA

pdf

Hands-On

4

Numerical Techniques: Root Searching

Blackbody Radiation

pdf

Hands-On

NA

5

    Numerical Techniques: Numerical Differentiation and Integration

Variable Force in One Dimension, Simple Pendulum

pdf

Hands-On

NA

6

Numerical Techniques: Differential Equations - Initial Value Problems

Projectile Motion with Air Resistance, Planetary Motion

pdf

Hands-On

NA

8

Numerical Techniques: Differential Equations - Boundary Value Problems

Laplace Equation in Electrostatics

pdf

Hands-On

NA

9

Numerical Techniques: Differential Equations - Eigenvalue Problems

Wave Motion Along a Spring, Hydrogen Atom

pdf

Hands-On

NA

10

Numerical Techniques: Differential Equations - Legendre polynomials & Hermite Polynomials

Quantum Harmonic Oscillator

pdf

Hands-On

NA

11

Numerical Techniques: Linear Algebra and Matrix Computing I

Kirchhoff’s Rules

pdf

Hands-On

NA

12

Numerical Techniques: Linear Algebra and Matrix Computing II

Normal Modes of Oscillations

pdf

Hands-On

NA

13

Data Analysis: Series Expansion, Interpolation and Data Fitting

Millikan Oil Drop Experiment

pdf

html

NA

14



Numerical Techniques: Differential Equations

Lagrange Dynamics in Mass-Spring System

Numerical Techniques: Differential Equations

RLC & RC Circuits

NA

Exams

7

Take-home Midterm Examination

Solutions:

pdf

pdf

html

html

15

Take-home Final Examination

June 20, 2023 01:26 AM Grades

pdf

html


Back to top

References (other than text books)

Back to top