MNXB01 / NAFY018
Introduction to programming and computing for scientists
Introduktion till programmering och datoranvändning för naturvetare


7.5 ECTS credits, 1st half of Fall Term

Introduction and first lecture for the H18 term: 5 September 2018, at 13:00, room K404.

Textbook: "Problem solving with C++", W. Savitch (any edition)

Related links and downloads:

Course contents (H18)

See Timeedit for the overall schedule; detailed content is shown below.
Date and time Type Place Topic Teacher
2018-09-05 13:00  Introduction and 
Lecture 1
Sal F (K404) Introduction to the role of programming in science, overview of usage of programming in: scientific devices, calibration procedures, pattern recognition, raw data pre-processing, modeling and simulation, distributed computing and data handling, data analysis and data presentation OS
2018-09-06 15:00 Tutorial 1 Sal Curie (K204)  Installation and customisation of a Linux operating system as a virtual machine, extending it with necessary additional packages FP
2018-09-07 15:00 Lecture 2 Sal Curie (K204) Essentials of developing code in a collaborative environment: code repositories, software versioning, development frameworks, documentation OS
2018-09-12 13:00 Lecture 3 Sal F (K404) Overview of commonly used programming languages: C, C++, Python, bash. Areas of applicability of these languages, benefits and drawbacks of each (see also examples) FP
2018-09-13 15:00 Tutorial 2 Sal Curie (K204) Working in Linux shell, essential command line tools, operating on files and directories, using advanced text editors BK
2018-09-14 15:00 Tutorial 3 Sal Curie (K204) Practical examples of more complex programming: implementation of algorithms, work with data sets, usage of bash (see also examples) FP
2018-09-19 13:00 Lecture 4 Sal F (K404) Specifics of distributed computing: basic concepts, methods for distributed data access, authentication and authorisation, information systems and resource discovery, Grids and Clouds OS
2018-09-20 16:00 Tutorial 4 Sal Curie (K204) Working with a Git repository: checking code out, committing changes, resolving conflicts, applying patches. Additional material: Git-it tutorial, Git cheat-sheet, Github cheat-sheet BK
2018-09-21 16:00 Tutorial 5 Sal Curie (K204) Usage of computing clusters: secure logging into remote systems, examples of usage of parallel calculations, assessment of speed-up (exercises) FP
2018-09-26 13:00 Tutorial 6 Sal Curie (K204) First steps in programming: simple C++ programs, constants and variables, operators (see also: excercises and a broken code assignment) BK
2018-09-27 15:00 Tutorial 6 (part 2) and 7 Sal Curie (K204) First steps in programming: C++ functions, input/output, compilation and execution (see also exercises) BK
2018-09-28 15:00 Lecture 5 Sal Curie (K204) Programming in C++, next steps: control structures, functions, pointers, arrays, data structures KM
2018-10-03 13:00 Lecture 6 Sal F (K404) Object oriented programming in C++: classes, inheritance, polymorphism (see also home assignment) KM
2018-10-04 10:00 Tutorial 8 Sal Curie (K204) Loops, pointers and vectors KM
2018-10-05 10:00 Tutorial 9 Sal Curie (K204) Usage of compound data types, choice of optimal strategies. Filestream, usage of standard containers. KM
2018-10-10 10:00 Tutorial 10 Sal Curie (K204)  C++ classes KM
2018-10-11 10:00 Tutorial 10 part 2 Sal Curie (K204) C++ classes KM
2018-10-12 16:00 Tutorial 11 Sal Curie (K204) Usage of Makefile KM
2018-10-17 13:00 Lecture 7 Sal F (K404) ROOT as a data storage framework: introduction and architecture overview, usage of ROOT to store and represent data PC
2018-10-18 15:00 Tutorial 13 Sal Curie (K204) Simulation of a physics process using random number generators, recording data in a given format PC
2018-10-19 15:00 Tutorial 14 Sal Curie (K204) Reading data files, plotting data and functions PC
2018-10-24 13:00 Lecture 8 Sal F (K404) ROOT as a data analysis framework: ntuples, accessing information, statistical analysis PC
2018-10-25 15:00 Tutorial 15 Sal Curie (K204) Running statistical analysis, assessing uncertainties PC
2018-10-26 15:00 Tutorial 16 Sal Curie (K204) Advanced data analysis with ROOT PC
2018-10-31 13:00   Sal F (K404) Project consultations  
2018-11-01 15:00   Sal Curie (K204) Project consultations  
2018-11-02 15:00   Sal Curie (K204) Project consultations  

Lecturers:


Previous terms:



Contact: Oxana Smirnova, tel. 046-222 7699, Fysikum A418