SubjectsSubjects(version: 804)
Course, academic year 2017/2018
   Login via CAS
Programming I - NPRG030
Czech title: Programování I
Guaranteed by: Department of Software and Computer Science Education (32-KSVI)
Faculty: Faculty of Mathematics and Physics
Actual: from 2014
Semester: winter
E-Credits: 6
Hours per week, examination: winter s.:3/2 C [hours/week]
Capacity: unlimited
Min. number of students: unlimited
State of the course: taught
Language: Czech, English
Teaching methods: full-time
Guarantor: RNDr. Tomáš Holan, Ph.D.
doc. RNDr. Pavel Töpfer, CSc.
RNDr. Martin Pergel, Ph.D.
Class: Informatika Bc.
Classification: Informatics > Programming
Incompatibility : NMIN101, NMIN102, NPRM044, NPRM045
Is incompatible with: NMUG103, NMUG104
Is pre-requisite for: NPGR033
Annotation -
Last update: G_I (04.05.2010)

Basic course of programming for students in the 1st year of study in study programs "Computer Science" and "Computer Science Education". The course includes basic algorithms and data structures, programming language, design of programs and practical programming.
Literature - Czech
Last update: TOPFER/MFF.CUNI.CZ (10.09.2008)

P. Töpfer: Algoritmy a programovací techniky, Prometheus 1995, 2. vyd. 2007

J. Drózd, R. Kryl: Začínáme s programováním, Grada 1992

N. Wirth: Algoritmy a štruktúry údajov, Alfa 1987

Syllabus -
Last update: TOPFER/MFF.CUNI.CZ (17.09.2010)

1. Algorithms and data structures

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

minimax algorithm

breadth-first search

estimating the complexity of specific algorithms and programs

methods of variable storing (stack, heap)

singly-linked list

binary tree, balanced tree (AVL-tree)

multiway tree (B-tree)

external sorting

2. Programming language (Pascal and Turbo Pascal)

variable, constant, type, typed constants

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

hierarchical structure of statements, program, elementar and structured statements

data structures (array, record, string)

procedures and functions, parameters, locality, recursion

input and output, text files

complete vs. short evaluation of boolean expresions

label, goto

dynamicaly allocated variables, pointers

2. Work on PC in Turbo Pascal

Turbo Pascal's IDE, debugging tools

Charles University | Information system of Charles University |