Individual course details
Study programme Theoretical and experimental physics
Chosen research area (module)  
Nature and level of studies Undergraduate Studies
Name of the course Computer programming for physicists
Professor (lectures) Prof Zoran Nikolić
Professor/associate (examples/practical)  
Professor/associate (additional)  
ECTS 2 Status (required/elective) Required
Access requirements  
Aims of the course Getting acquainted with basic numerical algorithms. Learning the C ++ programming language and graphic display of results
Learning outcomes Solving numerical problems in physics. Creating graphical tools for automatic processing of measurement results
Contents of the course
Lectures 1. Basics of the C ++ programming language; 2. Operations with input and output data streams; 3. Create and control graphic templates for windows and user dialogues. System dialogues and their use and control; 4. Elements of object-oriented programming. Creating classes for numerical calculations in physics; 5. Systems of linear algebraic equations; 6. Iterative procedures and zero functions; 7. Flows in the program - threads; 8. Numerical Differentiation, Integration and Differential Equations; 9. Data processing basics - smooth, interpolation and approximation; 10. Monte Carlo methods in physics; 11. Elements of computer graphics in the Windows environment; 12. GDI programming - graphical presentation of measurement results; 13. Algorithms for solving basic equations in physics; 14. Processes. Data exchange between programs. Automation of work in packages Euler, GnuPlot and Tex; 15. Libraries with run-time access. Developing applications in physics using GSL, FFTW, SymbolicC ++, and OpenCV libraries.
Examples/ practical classes Computational exercises follow the lectures.
Recommended books
1 S. B. Lippman, J. Lajoie, C++ Primer, Addison-Wesley, (2000) – Prevod: C++ Izvornik, CET Computer Equipment and Trade, Beograd, (2000).
2 W. H. Press, S.l A. Teukolsky, W. T. Vetterling, B. P. Flannery, Numerical Recipes in C, The Art of Scientific Computing, Second Edition, Cambridge University Press, (1992);
3 C. Petzold, Programming Windows, Microsoft Press, (1998).
4
5
Number of classes (weekly)
Lectures Examples&practicals   Student project Additional
2        
Teaching and learning methods Lectures and exercises, consultations, homeworks.
Assessment (maximal 100)
assesed coursework mark examination mark
coursework 10 written examination 20
practicals   oral examination 40
papers      
presentations 30