MNXB01
Introduction to programming and computing for scientists
Introduktion till programmering och datoranvändning för naturvetare
Basic level course, 7.5 ECTS credits, 1st half of Fall Term
Introductory meeting for the H16 term: 30 August 2016, at 13:15, room K262.
Textbook: "Problem solving with C++", W. Savitch (any edition)
Related links and downloads:
- Adobe Connect room for tutorial slides
- Download the course Virtual Machine
- Lunarc Training Portal
- Course SVN repository
- Subversion Quick Reference
- C++ Quick Reference
- NEW! H16 project instructions and datasets
Course contents (H16)
Date and time | Type | Place | Topic | |
2016-08-31 15:00 | Lecture 1 | K262 | 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 |
2016-09-01 13:00 | Tutorial 1a | H321 | Installation and customisation of a Linux operating system as a virtual machine, extending it with necessary additional packages | FP |
2016-09-02 13:00 | Tutorial 1b | H321 | Working in Linux shell, essential command line tools, operating on files and directories, using advanced text editors | BK |
2016-09-07 15:00 | Lecture 2 | K262 | Essentials of developing code in a collaborative environment: code repositories, software versioning, development frameworks, documentation | OS |
2016-09-08 13:00 | Tutorial 2a | H321 | Writing a multi-section report in LaTeX, containing tables, formulae, images and bibliography | OS |
2016-09-09 13:00 | Tutorial 2b | H321 | Working with a SVN repository: checking code out, committing changes, resolving conflicts, applying patches | FP |
2016-09-14 15:00 | Lecture 3 | K262 | 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 |
2016-09-15 13:00 | Tutorial 3a | H321 | First steps in programming: simple C++ programs, constants and variables, operators, functions, input/output, compilation and execution | BK |
2016-09-16 13:00 | Tutorial 3b | H321 | Practical examples of more complex programming: implementation of algorithms, work with data sets, usage of bash (homework solutions) | FP |
2016-09-21 15:00 | Lecture 4 | K262 | Specifics of distributed computing: basic concepts, methods for distributed data access, authentication and authorisation, information systems and resource discovery, Grids and Clouds | OS |
2016-09-22 13:00 | Tutorial 4a | H321 | Usage of computing clusters: secure logging into remote systems, examples of usage of parallel calculations, assessment of speed-up | BK |
2016-09-23 13:00 | Tutorial 4b | H321 | Grid computing: obtain a personal certificate, formalise job description, submit job on Grid and obtain the results | OS |
2016-09-28 15:00 | Lecture 5 | K262 | Programming in C++, next steps: control structures, functions, pointers, arrays, data structures | VV |
2016-09-29 13:00 | Tutorial 5a | H321 | Exercises on implications of finite discrete representation of numbers, machine precision and accuracy | VV |
2016-09-30 13:00 | Tutorial 5b | H321 | Usage of compound data types, choice of optimal strategies | VV |
2016-10-05 15:00 | Lecture 6 | K262 | Object oriented programming in C++: classes, inheritance, polymorphism | VV |
2016-10-06 13:00 | Tutorial 6a | H321 | Filestream, usage of standart containers | VV |
2016-10-07 13:00 | Tutorial 6b | H321 | C++ classes; usage of Makefile | VV |
2016-10-12 15:00 | Homework consultations | K262 | Questions and answers regarding homework, with an emphasis on C++ exercises | BK |
2016-10-13 13:00 | Homework consultations | H321 | Hands-on homework questions and answers, with an emphasis on C++ exercises | BK |
2016-10-14 13:00 | Homework consultations | H321 | Hands-on homework questions and answers, with an emphasis on C++ exercises< | BK |
2016-10-19 15:00 | Lecture 7 | K262 | Data analysis methods and frameworks: data storage formats, accessing necessary information, statistical analysis and representation of results | OS |
2016-10-20 13:00 | Tutorial 7a | H321 | Simulation of a physics process using random number generators, recording data in a given format | PC |
2016-10-21 13:00 | Tutorial 7b | H321 | Reading data files, running statistical analysis, assessing uncertainties | PC |
2016-11-14 13:00 - 18:00 | Project presentations | K262 | 25+10 min presentations by each group | All |
Lecturers:
- OS - Oxana Smirnova
- FP - Florido Paganelli
- BK - Balazs Konya
- VV - Vytautas Vislavicius
- PC - Peter Christiansen
Previous terms:
- Official syllabus (in Swedish)
Contact: Oxana Smirnova, tel. 046-222 7699, Fysikum A418