B_UPg Introduction to Programming

University of Finance and Administration
Winter 2024
Extent and Intensity
2/2/0. 6 credit(s). Type of Completion: zk (examination).
Teacher(s)
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: Tue 12:15–12:59 E230, Tue 13:00–13:45 E230, J. Lánský
B_UPg/pAPH: Tue 10:30–11:14 E230, Tue 11:15–12:00 E230, J. Lánský
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
    required 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.
    recommended literature
  • Töpfer, Pavel. Úvod do programování. Studijní text k předmětu, dostupné z ISu, Praha: VŠFS, 2014.
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 teacheraccording to the instructions from the study department.

The course is also listed under the following terms Winter 2007, Summer 2008, Winter 2008, Summer 2009, Winter 2009, Summer 2010, Winter 2010, Summer 2011, Winter 2011, summer 2012, Winter 2012, Winter 2013, Winter 2014, Winter 2015, Winter 2016, Winter 2017, Winter 2018, Winter 2019, Winter 2020, Winter 2021, Winter 2022, Winter 2023.
  • Enrolment Statistics (recent)
  • Permalink: https://is.vsfs.cz/course/vsfs/winter2024/B_UPg