Charles Explorer logo
🇬🇧

Programming 1

Class at Faculty of Mathematics and Physics |
NMIN101

Syllabus

* 1. Typical programming language elements and mechanisms, as exemplified in the Turbo Pascal language

- variables, constants, types, variable initializers

- primitive and compound data types (numbers, characters, booleans, enumerated types, arrays, lists, strings of symbols)

- simple and compound statements (assignment, if, while, repeat, for, case, with)

- text files (including formatted output)

- procedures and functions (local identifiers, parameter passing mechanisms, recursion)

- the goto statement

- basic compiler directives (memory limits, run-time checks)

- unit CRT

* 2. Basic algorithms, data structures and programming techniques

- algorithm, correctness, input/output data

- basic notions of algorithmic efficiency

- divisibility, Euclid's algorithm

- primality testing, the sieve of Eratosthenes

- Horner's rule

- dividing an integer into digits, positional notation for numbers

- array search algorithms (sequential, binary, sentinel)

- sorting data in an array (internal sorting)

- basic matrix operations

- implementing stacks and queues using an array

- higher-precision arithmetic ("long numbers")

- recursion, backtracking, divide and conquer

- depth-first search and breadth-first search

- the minimax algorithm

- factor sets

* 3. Creating programs

Working with an IDE (integrated development environment), creating and debugging programs - practically demonstrated using the Turbo Pascal or Free Pascal IDE (editor, compiler, debugging tools - tracing, examining variable values etc.)

Annotation

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.