Bi3011 Algorithmization and programming

Faculty of Science
Spring 2022
Extent and Intensity
2/2/0. 4 credit(s) (plus extra credits for completion). Type of Completion: k (colloquium).
Teacher(s)
RNDr. Miroslav Kubásek, Ph.D. (lecturer)
doc. Ing. Daniel Schwarz, Ph.D. (lecturer)
Mgr. Vojtěch Žák (assistant)
Guaranteed by
doc. Ing. Daniel Schwarz, Ph.D.
RECETOX – Faculty of Science
Contact Person: RNDr. Miroslav Kubásek, Ph.D.
Supplier department: RECETOX – Faculty of Science
Timetable
Mon 12:00–14:50 F01B1/709
Prerequisites
Basic orientation in logic and formal languages.
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
Course objectives
The aim of the course is to provide students with basic concepts of programming and algorithmization using diagrams and examples in the chosen programming language (Java, Python).
Learning outcomes
After completion of the course, student will be able:
- to define basic data types and more complex data structures;
- to define appropriate data type to store a specific value;
- to design an algorithm to solve the assigned task and to document it using flow diagrams;
- to decompose a more complex algorithm into subprograms;
- to code the algorithm in a selected programming language and debug the program.
Syllabus
  • 1. Introduction, history, definition of basic terms - algorithm, program, complexity.
  • 2. Flow diagrams: definition, sequences, branching, cycles.
  • 3. Addition, volume calculation, triangle, minimum search, quadratic equation, simple calculator.
  • 4. Mean grade, prime numbers, factorial, sum of numerical series.
  • 5. Cycles and examples, the number of characters in a file.
  • 6. Subprograms: definition, parameters, return value, algorithm decomposition, basic sorting algorithms: selection sort, bubble sort.
  • 7. Data types: ordinal, irregular, arrays, examples: reverse listing.
  • 8. Recursion: definition, Fibonacci series - recursive vs. non-recursive solution, binary search - recursive vs. iterative.
Literature
  • Buchalcevová, A.: Algoritmizace a programování. Praha: VŠE, 1994.
  • Topfer, P.: Algoritmy a programovací techniky. Praha: Prometheus, 1995.
  • Virius, M.: Základy algoritmizace. Praha: ČVUT, 1997.
Teaching methods
lectures, programming projects, homeworks
Assessment methods
4 tasks in the course of the semester, final written test.
Language of instruction
Czech
Further Comments
Study Materials
The course is taught annually.
The course is also listed under the following terms Spring 2008 - for the purpose of the accreditation, Spring 2011 - only for the accreditation, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, spring 2012 - acreditation, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, spring 2018, Spring 2019, Spring 2020, Spring 2021.
  • Enrolment Statistics (recent)
  • Permalink: https://is.muni.cz/course/sci/spring2022/Bi3011