Introduction to computational science - NSCI030
Title: Introduction to computational science
Guaranteed by: Institute of Physics of Charles University (32-FUUK)
Faculty: Faculty of Mathematics and Physics
Actual: from 2023
Semester: winter
E-Credits: 5
Hours per week, examination: winter s.:2/2, C+Ex [HT]
Capacity: unlimited
Min. number of students: unlimited
4EU+: no
Virtual mobility / capacity: no
State of the course: taught
Language: English
Teaching methods: full-time
Teaching methods: full-time
Guarantor: RNDr. Ondřej Maršálek, Ph.D.
Mgr. Emil Varga, Ph.D.
Opinion survey results   Examination dates   WS schedule   Noticeboard   
Annotation
The course Introduction to computational science provides a broad overview of the fundamentals of computational science and more broadly the use of computational tools in natural science. Concepts are introduced with the aim of providing a general understanding of the field and showing the range of available tools and options. Examples of specific software are provided with focus on open-source software. Practical hands-on exercises offer the opportunity to practice the concepts introduced in the course and to gain experience in the use of these tools.
Last update: Kopecký Vladimír, RNDr., Ph.D. (16.02.2022)
Course completion requirements

Class credit is given for completing practical exercises and homework. The final grade will be based on a midterm test (25 %), a final test (25 %), and oral examination (50 %).

Last update: Houfek Karel, doc. RNDr., Ph.D. (02.05.2023)
Literature
  • Nell Dale, John Lewis, Computer science illuminated, Jones & Bartlett Learning, 2020
  • Joakim Sundnes, Introduction to Scientific Programming with Python, Springer International Publishing, 2020
  • Lecture notes and other provided material

Last update: Kopecký Vladimír, RNDr., Ph.D. (16.02.2022)
Requirements to the exam

The requirements for the exam correspond to the course syllabus to the extent that was given in the lectures.

Last update: Houfek Karel, doc. RNDr., Ph.D. (02.05.2023)
Syllabus
  • Modern computer architecture, personal computers, workstations, supercomputers
  • Operating systems, history, currently available systems, user interface types, command line
  • Networking, the Internet, encrypted communication, using remote computers
  • Fundamentals of programming and software development, types of programming languages, programming paradigms, program flow control, data structures
  • Computer algebra systems and symbolic manipulation
  • Numerical computation
  • Interactive computing, notebook-style interface
  • Data processing and plotting
  • Sharing code and data, version control systems, repositories
  • Computer graphics, vector and raster images
  • Desktop publishing, preparing publication-quality documents, presentations, plots, and graphics
  • Tools for live online collaboration
  • Parallelization and high-performance computing
  • Machine learning, artificial intelligence

Last update: Maršálek Ondřej, RNDr., Ph.D. (03.10.2023)