# VSFS:B_UPg Introduction to Programming - Course Information

## B_UPg Introduction to Programming

**University of Finance and Administration**

Winter 2023

**Extent and Intensity**- 2/2/0. 6 credit(s). Type of Completion: zk (examination).
**Teacher(s)**- Ing. Renata Janošcová, Ph.D. (seminar tutor)

doc. RNDr. Jan Lánský, Ph.D. (seminar tutor) **Guaranteed by**- doc. RNDr. Jan Lánský, Ph.D.

Department of Computer Science and Mathematics - Departments - University of Finance and Administration

Contact Person: Ivana Plačková **Timetable of Seminar Groups**- B_UPg/cAPH: Mon 15:45–16:29 E306, Mon 16:30–17:15 E306,
*J. Lánský*

B_UPg/pAPH: Mon 14:00–14:44 E306, Mon 14:45–15:30 E306,*J. Lánský*

B_UPg/vAPH: Fri 29. 9. 17:30–19:00 E307, 19:15–20:45 E307, Fri 13. 10. 14:00–15:30 E307, 15:45–17:15 E307, Fri 3. 11. 17:30–19:00 E303PC, 19:15–20:45 E303PC, Fri 8. 12. 17:30–19:00 E303PC, 19:15–20:45 E303PC,*R. Janošcová* **Prerequisites**- There are no prerequisites for this course.
**Course Enrolment Limitations**- The course is offered to students of any study field.
**Course objectives**- This is a basic programming course for first year students of Applied Informatics.
At the end of the course students should be able to:

- solve simple algorithmic problems

- use basic constructs of programming languages

- develop and debug computer programs in an integrated devolopmental environment. **Learning outcomes**- Upon completion of this course the student will be able to:

- learn to solve simple algorithmic problems

- correctly use and implement common terms in relation to programming (variables, logical operators, data types, selected cycles, branching, etc.) - see the outline

- get to know the basic constructions of programming languages

- practically master the creation and debugging of programs in a development environment **Syllabus**- 1. Problem, algorithm. Variable, assignment, arithmetic operators, conditional statement.
- 2. Composed statement, logic operators, while and for loop. Sum of digits, Euclid's algorithm, prime factorization, primality test. Time complexity of algorithms.
- 3. Functions, data types, priority and associativity of operators, random numbers, enumerated types, multiple branching, structures. Mathematical functions. Testing the correctness of programs.
- 4. Passing function parameters by reference. Array, finding the value and number of occurrences, the longest sequence. Eratosthenes sieve. Debugging.
- 5. Sorting algorithms, selection sort, insertion sort, bubble sort, counting sort, binary search in sorted array. Global variables. Measuring the number of operations and run-time.
- 6. Characters, strings. Lexicographical order, concatenation, substring, searching the occurrence of a character or substring. Delete, insert and replace a character or strings.
- 7. Horner scheme, converting between positional numeral systems. Long integer numbers, the sum, difference, product, quotient. Long real numbers, fractions. Constants.
- 8. Text and binary files, reading and writing. Managing filesystem.
- 9. Two-dimensional array, array of arrays. Matrix, multiplication of a matrix row by a constant, swapping two rows of a matrix, sum of matrices, product of matrices. ASCII Art.
- 10. Recursion, factorial, convert from decimal to binary, Fibonacci numbers (+ version with dynamic programming). Binary search. Towers of Hanoi. Koch's snowflake.
- 11. Stack, queue (cyclic, with shift, priority queue). Backtracking: N-digit number, arithmetic operators adding.
- 12. Backtracking: chess queens problem, magic squares, knight's tour, pruning, heuristics. Wool: the shortest route of a knight across the chessboard.

**Literature**- MAREŠ, Martin, VALLA, Tomáš. Průvodce labyrintem algoritmů, e-book, 2. vyd. Praha: CZ.NIC, z.s.p.o. 2022. dostupné z https://knihy.nic.cz/. ISBN 978-80-88168-66-9 (ve formátu PDF).
- LÁNSKÝ, Jan. Úvod do programování. Slajdy k předmětu, dostupné z informačního systému, Praha: VŠFS, 2022.
- VIRIUS, Miroslav. Programování v C#: od základů k profesionálnímu použití. Praha: Grada Publishing, 2021. ISBN 978-80-271-1216-6.

*required literature*- Töpfer, Pavel. Úvod do programování. Studijní text k předmětu, dostupné z ISu, Praha: VŠFS, 2014.

*recommended literature***Teaching methods**- Lectures and seminars in full-time study, tutorials in part-time study. Minimal required participation is 75% on seminars in full-time study and 50% on tutorials in part-time study.
**Assessment methods**- The course is completed with a credit and written exam. Several homeworks (design and debugging of small programs) are required to award the credit. Tasks description and instructions are included in the file IS -> studijní materiály -> cviceni.doc

In the written exam students should write programs or functions to solve given tasks. The correctness, efficiency and the choice of appropriate programming language tools are judged. **Language of instruction**- Czech
**Follow-Up Courses****Further comments (probably available only in Czech)**- The course can also be completed outside the examination period.

The course is taught annually.

Information on the extent and intensity of the course: 16 hodin KS/semestr. **Teacher's information**- https://is.vsfs.cz/go/x8aen4

The subject website presents a LINK to the team (subject) in MS Teams (then select your teacher's channel).

Study materials (lectures, video recordings, ...) of the subject can be found in IS VŠFS: https://is.vsfs.cz/auth/el/vsfs/zima2023/B_UPg

CONTACTS for teachers: guarantor doc. RNDr. Jan Lánský, Ph.D. - lansky@mail.vsfs.cz; Ing. Renata Janošcová, Ph.D - 37037@mail.vsfs.cz.

CONSULTATION: information can be found on the personal pages of teachers in IS VŠFS (Teaching).**ISP and REPEATING students: Contact your teacher at the beginning of the semester (first - second week) and agree on the specific conditions of attendance and evaluation.**

**WE RECOMMEND submitting an application for inclusion in a schedule (seminar) group to a specific teacher**according to the instructions from the study department.

- Enrolment Statistics (recent)

- Permalink: https://is.vsfs.cz/course/vsfs/winter2023/B_UPg