M2160 Introduction to Programming II

Faculty of Science
Spring 2024
Extent and Intensity
2/2/0. 4 credit(s) (příf plus uk k 1 zk 2 plus 1 > 4). Type of Completion: k (colloquium).
Teacher(s)
RNDr. Jaroslav Pelikán, Ph.D. (lecturer)
RNDr. Aleš Zlámal (seminar tutor)
Guaranteed by
RNDr. Jaroslav Pelikán, Ph.D.
Department of Computer Systems and Communications – Faculty of Informatics
Contact Person: RNDr. Jaroslav Pelikán, Ph.D.
Supplier department: Department of Computer Systems and Communications – Faculty of Informatics
Timetable
Mon 19. 2. to Sun 26. 5. Wed 12:00–13:50 C416
  • Timetable of Seminar Groups:
M2160/01: Mon 19. 2. to Sun 26. 5. Thu 14:00–15:50 A215, A. Zlámal
Prerequisites
!( FI:IB001 Intro to Prog. using C )
The course Introduction to Programming II requires an extent of knowledge that is adequate to the course M1160 Introduction to Programming I.
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 course Introduction to Programming II aims to introduce students to advanced techniques used in algorithm design and coding. This course is taught, similarly as the course Introduction to Programming I, with usage of the C programming language.
Learning outcomes
At the end of this course, students should:
know possibilities of using recursion and backtracking;
understand how to operate with strings;
understand how to operate with data stored in files;
be able to operate with dynamic data structures;
know basic principles of object oriented programming.
Syllabus
  • Recursion - types of recursion, problems effectively solvable by recursion.
  • Strings manipulation and processing.
  • Data type structure. Named data types. Data type union.
  • Files processing - text and binary files.
  • Dynamic variables.
  • Dynamic data structures - stack, queue, linear list, binary searching tree. Usage of dynamic data structures.
  • Complexity of algorithms, concept of asymptotic complexity of algorithms. Polynomial and exponential algorithms.
  • Introduction to object oriented programming, C# programming language - class, object. Encapsulation, inheritance, polymorphism.
  • Development of applications with graphical user interface.
Literature
  • HEROUT, Pavel. Učebnice jazyka C. 6. vyd. České Budějovice: Kopp, 2009, 271, viii. ISBN 9788072323838. info
  • KERNIGHAN, Brian W. Programovací jazyk C. Edited by Dennis M. Ritchie. 1. vyd. Brno: Computer Press, 2006, 286 s. ISBN 802510897X. info
  • SHARP, John. Microsoft Visual C# 2008 : krok za krokem. Translated by Lukáš Krejčí - Jaroslav Černý. Vyd. 1. Brno: Computer Press, 2008, 592 s. ISBN 9788025120279. info
Teaching methods
Theoretical lectures with examples - 2 hours per week (the attendance is optional), class exercises - 2 hours per week (class exercises take place in a computer classroom, the attendance is mandatory, and the students also must successfully pass intrasemestral tests and make homeworks).
Assessment methods
Colloquium takes place in computer classroom and students code a program solving a given problem. Afterwards, the solution of the given problem is discussed.
Language of instruction
Czech
Further comments (probably available only in Czech)
Study Materials
The course is taught annually.
Teacher's information
http://www.fi.muni.cz/usr/pelikan/Vyuka/Vyuk2.html
The course is also listed under the following terms Spring 2008 - for the purpose of the accreditation, Spring 2011 - only for the accreditation, Spring 2003, Spring 2004, Spring 2005, Spring 2006, Spring 2007, 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, Spring 2022, Spring 2023.
  • Enrolment Statistics (recent)
  • Permalink: https://is.muni.cz/course/sci/spring2024/M2160