Εκτύπωση     Κλείσιμο

Course Details

Course Department: Department of Physics
Course Code: PHY 347
Course Title: Computational Physics
Number of ECTS: 6
Level of Course: 1st Cycle (Bachelor's Degree) 
Year of Study (if applicable): 3rd or 4th year  
Semester/Trimester when the Course Unit is Delivered: Fall Semester 
Name of Lecturer(s): Halil Saka 
Lectures/Week: 1 (2 hours per lecture) 
Laboratories/week: 1 (3 hours per lecture) 
Tutorials/Week: -- 
Course Purpose and Objectives:
The course aims to expose students to the power and applicability of various computational methods in solving physics problems that are otherwise difficult/impossible to be analytically tackled, through the use of modern programming techniques and relevant free and open-source scientific packages.   The course samples from the undergraduate physics syllabus, including theoretical and experimental courses, as well as modern tools used in physics research to provide examples students are fundamentally familiar with, and expands the discussion beyond the standard analytical solutions, giving students hands-on opportunity to perform numerical calculations. These exercises aim to supplement the theoretical component from relevant dedicated courses, as well as data analysis techniques needed for the laboratory courses.
 
Learning Outcomes:

The students acquire the following skills during the course of the semester:

• Use of Python programming language and relevant free and open-source scientific packages to perform calculations, data manipulations, and create visualizations. 

• A good knowledge of a variety of computational methods and algorithms.

• Mastery of use and application of computational methods to obtain numerical solutions to a variety of scientific problems from different physics disciplines.

• Skills needed to model and analyze large data volumes and to extract results and conclusions with the use of appropriate graphics packages.

• Development of critical and analytical reasoning to interpret the obtained results and to present and explain them in a scientific manner.

• Realization and appreciation of the importance and versatility of computational methods to their future scientific or working career.

 
Prerequisites: Not Applicable 
Co-requisites: Not Applicable 
Course Content:
Methods for solving ordinary and partial differential equations, methods for handling chaotic and stochastic systems, use of Markov chains, use of Monte Carlo simulations with applications in physics, random number sampling methods and numerical integration techniques, Metropolis algorithm and applications in physics problems, random walks and Brownian Motion, use of statistical methods and fitting techniques, basics of multivariate analysis techniques and machine learning, and big data analysis.

 
Teaching Methodology:
This is a hands-on computer lab course combined with weekly lectures. Students are expected to participate in the in-class discussions and exercises under the supervision of the instructor and the teaching assistants, and are presented with pedagogical and real-life problems in order to develop skills needed to work with the Python programming language and gain experience in the use of computational methods to address a variety of problems.
 
Bibliography:
• Computational Physics [M. Newman]
• Essential Python for the Physicist [G. Moruzzi]
• Computational Physics With Python [E. Ayars]
• Computational Physics - Problem Solving with Computers [R. H. Landau, M. J.Paez, C. C. Bordeianu]
• A First Course in Computational Physics [P. L. DeVries, J. E. Hasbun]
• Numerical Recipes: The Art of Scientific Computing [W. H. Press, S. A. Teukolsky, W. T. Vetterling, B. P. Flannery]
• An Introduction to Computer Simulation Methods: Applications To Physical Systems [H. Gould, J. Tobochnik, W. Christian]
 
Assessment:
The grade is based on weekly assigned laboratory reports (10%), weekly assigned homework assignments (15%), a  midterm exam (35%) and a final exam (40%).

 
Language of Instruction: English
Delivery Mode: Face-To-Face 
Work Placement(s): Not Applicable