Logo ČVUT
CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2023/2024

GNU Programming

Login to KOS for course enrollment Display time-table
Code Completion Credits Range
11GNU KZ 4 2P+2C
Garant předmětu:
Martin Dráb
Lecturer:
Martin Dráb
Tutor:
Martin Dráb
Supervisor:
Department of Solid State Engineering
Synopsis:

The aim of the course is to introduce students into the Linux system environment and therein used GNU utilities and programming tools to such a level, that they would be able to use these tools for creating scripts and programs for processing acquired or simulated data for their experiments in physics with the use of the faculty’s Hyperion cluster (however the learned skills could of course be applied to any Linux system).

Requirements:
Syllabus of lectures:

1Linux, system, principles, structure, basic commands and utilities

2GNU Bourne-Again Shell, introduction to scripting language, commands

3GNU Compiler Collection and GNU C Compiler

4Language C and its GNU implementation, complete introduction to language

5Principles and use of C in GNU environment, structure of translation

6Preprocessor and assembler, user viewpoint

7Linker, manual translation procedures, use of libraries

8Working with GNU Make, Main Features

9GNU Autotools, Autoconf, Automake, Libtool, M4

10Version Control Software - Subversion, GIT

11Hyperion cluster, introduction, topology and architecture (HW + SW)

12Task management system, shell modules, parallel environment

13Examples of using the cluster to data processing.

Syllabus of tutorials:

1Linux, system, principles, structure, basic commands and utilities

2GNU Bourne-Again Shell, introduction to scripting language, commands

3GNU Compiler Collection and GNU C Compiler

4Language C and its GNU implementation, complete introduction to language

5Principles and use of C in GNU environment, structure of translation

6Preprocessor and assembler, user viewpoint

7Linker, manual translation procedures, use of libraries

8Working with GNU Make, Main Features

9GNU Autotools, Autoconf, Automake, Libtool, M4

10Version Control Software - Subversion, GIT

11Hyperion cluster, introduction, topology and architecture (HW + SW)

12Task management system, shell modules, parallel environment

13Examples of using the cluster to data processing.

Study Objective:
Study materials:

Key references:

[1] C. Alvin: Computer Programming: Learn Any Programming Language in 2 Hours. CreateSpace Independent Publishing Platform, 2018. ISBN: 1985644916, 9781985644915

[2] T. Roughgarden: Algorithms Illuminated. Soundlikeyourself Publishing, LLC 2019, ISBN-13: 978-0999282946.

Other references:

[3] M. Barr, A. Massa: Programming Embedded Systems: With C and GNU Development Tools. 2nd ed., O’Reilly Media, Sebastopol CA USA 2007, ISBN-13: 978-0596009830

Note:
Time-table for winter semester 2023/2024:
Time-table is not available yet
Time-table for summer semester 2023/2024:
Time-table is not available yet
The course is a part of the following study plans:
Data valid to 2024-04-23
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/en/predmet6371006.html