Teaching Interests Cem
¨
Ozdo˘gan January 17, 2017
I am enthusiastic about teaching as well as research. I thought a broad set of courses from
Computer Science field to General Physics. As a member o f Computer Engineering Depart-
ment, I prepared many computer science/engineering courses (namely; Operating Systems,
Numerical Computations, Statistical Computations, Parallel Computing, Graduate Parallel
Computing, Computer Programming I, Introduction to Programming, Advanced Program-
ming, Systems Programming) until my transfer to Materials Science and Engineering De-
partment. Since then I orga nized, coor dina ted and offered general physics courses. All the
content, prepared lecture notes and tutorials, of offered courses are published at their corre-
sponding web pages. My goals are to present the concepts in a clear way with well-prepared
and well-connected notes and visual items.
Beside planning to teach physics courses such as Condensed Matter Physics, Numerical Meth-
ods, Computational Chemistry, Computational Materials Science, Nanoscience and Nan-
otechnology, Quantum Mechanics for Engineers, General Physics, I also hope to achieve to
provide a series of courses on the field of Computational Science with the aspects of high
performance computations. I intend to develop and offer the following new undergraduate
and gr aduate courses:
Undergraduate I This series would begin with an introduction to scientific compu-
tation course as introducing/reviewing the numerical programming/analysis concepts,
describing Linux systems pro gramming topics and some programming experience as an
introduction into the basics o f parallel programming for distributed memory paradigm
(Message Passing Interface, MPI).
Undergraduate II Following course is planned as complementary to distributed mem-
ory parallel computing with advanced t opics and then introducing the shared memory
paradigms such as threads and directives (Open Multi-Processing, OpenMP). The fo-
cus is on the programming models MPI and OpenMP which are known as de-facto
standard approaches at the present for distributed and shared memory programming,
respectively. The content of the course will continue with an introduction t o the pro-
gramming language CUDA which is for NVIDIA graphics processor units (GPUs).
Graduate Parallel programming concepts, distributed/shared/GPU computing mod-
els will be reviewed at first. Hybrid programming techniques will be intro duced. The
strengths and weaknesses of several parallel programming models on clusters will be an-
alyzed. Partit ioned Global Address Space (PGAS) is a new model for parallel program-
ming. Unified Parallel C (UPC) and Co- array Fortran (CAF) ar e PGAS extensions
to C and Fortran. The basic constructs of PGAS languages will be given. OpenACC,
another programming standard for parallel computing which is designed to simplify
parallel programming of heterogeneous CPU/GPU systems will also be introduced.
Although the proposed content has a large spectrum, the point of view will not be the
computer science. These courses will be planned and be offered in practical manners. It is
ultimately aimed to present the insights of scientific/high performance pr ogramming to the
students to develop their codes fo r solving their overlapped scientific problems in an efficient
and sometimes being the only way. I have also o pinio n that the contents of these courses
would be a considerable plus on professional life of the students.
http://boron.physics.metu.edu.tr/ozdogan 1/1