SubjectsSubjects(version: 902)
Course, academic year 2022/2023
   Login via CAS
Programming I - NPRM044
Title: Programování I
Guaranteed by: Department of Software and Computer Science Education (32-KSVI)
Faculty: Faculty of Mathematics and Physics
Actual: from 2016
Semester: winter
E-Credits: 5
Hours per week, examination: winter s.:2/2 [hours/week]
Capacity: unlimited
Min. number of students: unlimited
Virtual mobility / capacity: no
State of the course: cancelled
Language: Czech
Teaching methods: full-time
Guarantor: RNDr. Rudolf Kryl
RNDr. Martin Pergel, Ph.D.
Classification: Informatics > Programming
Mathematics > Mathematics, Algebra, Differential Equations, Potential Theory, Didactics of Mathematics, Discrete Mathematics, Math. Econ. and Econometrics, External Subjects, Financial and Insurance Math., Functional Analysis, Geometry, General Subjects, , Real and Complex Analysis, Mathematics General, Mathematical Modeling in Physics, Numerical Analysis, Optimization, Probability and Statistics, Topology and Category
Incompatibility : NDGE024, NPRG030
Interchangeability : NDGE024, NMIN101, NPRG030
Is co-requisite for: NPRM047
Is incompatible with: NPRX030, NMUE021, NMUE022
Is interchangeable with: NMUG103, NMUM163
Annotation -
Last update: T_KSVI (04.05.2005)
A basic course of programming for students of mathematics. Beside programming in Pascal on personal computer it covers the main problems of algorithm and program design.
Literature - Czech
Last update: RNDr. Rudolf Kryl (04.05.2005)
  • P.Töpfer: Algoritmy a programovací techniky, Prometheus Praha 1995
  • P.Satrapa: Pascal pro zelenáče, Neokortex Praha 2000
  • N.Wirth: Algorithms + Data Structures = Programs , Prentice Hall Englewood Cliffsů; New Jersey 1975
  • slovenský překlad N. Wirth: Algoritmy a štruktúry údajov, Alfa, Bratislava 1989

Syllabus -
Last update: G_I (04.06.2007)

1. Pascal language and Turbo Pascal

algorithm, correctness, input/output data, complexity

variable, constant

numeric data types, char, boolean, enumerated and interval types

hierarchical structure of statements, program, elementar and structured statements in Pascal language

data structures (array, record, set, string)

procedures and functions, parameters, locality, recursion

input and output, text files

data (typed) files, seek

complete vs. short evaluation of boolean expresions

modularity, units

procedural parameters, variables of procedural types

label, goto

typed constants

dynamicaly allocated variables, pointers

using a random number generator

2. Work on PC in Turbo Pascal

Turbo Pascal's IDE, debugging tools

3. Algorithms and programming

Euklid's algorithm

Sieve of Eratosthenes

Horner's schema

searching in array (binary, sentinel)

heap operation

in-memory sorting, lower estimation of complexity in the worst case

(insertsort, selectsort, bubblesort, heapsort, radixsort, mergesort, quicksort)

long numbers

matrix operations

recursion, backtracking

breadth-first search

estimating the complexity of specific algorithms and programs

methods of variable storing (stack, heap), Mark&Release

singly-linked list

minimax algorithm

Charles University | Information system of Charles University |