Course Unit Code | 460-2001/02 |
---|
Number of ECTS Credits Allocated | 5 ECTS credits |
---|
Type of Course Unit * | Compulsory |
---|
Level of Course Unit * | First Cycle |
---|
Year of Study * | First Year |
---|
Semester when the Course Unit is delivered | Winter Semester |
---|
Mode of Delivery | Face-to-face |
---|
Language of Instruction | Czech |
---|
Prerequisites and Co-Requisites | |
---|
| Prerequisities | Course Unit Code | Course Unit Title |
---|
| 460-2052 | Introduction to Programming |
| 460-2054 | Functional Programming |
Name of Lecturer(s) | Personal ID | Name |
---|
| DVO26 | doc. Mgr. Jiří Dvorský, Ph.D. |
Summary |
---|
This course is one of the introductory programming courses. The course aims to introduce students to problem solving techniques, strategies, using algorithms. The algorithms and data structures discussed will be demonstrated in C++. Students are encouraged to analyze algorithmic problems and to synthesize solutions from smaller units. |
Learning Outcomes of the Course Unit |
---|
To introduce students to problem solving techniques using algorithms. Upon completion of the course, the student will be able to:
define and describe selected problem solving algortihmic techniques using,
demonstrate these techniques on sample problems
use these techniques to solve other problems,
work with combinations of several techniques together. |
Course Contents |
---|
Lectures
Introductory lecture, organizational matters
The first program in C++, algorithm, program compilation, processor, process
Variables, constants, data types
Control of language structure (sequence, branching, loop)
Structured Programming in C++, functions and their parameters, function calls
Array
Array search algorithms (linear, binary)
Recursion, definition, examples, a simple backtracking
Sorting, problem definition, address sorting
Basic sorting algorithms(insertion sort, selection, bubble)
Advanced sorting algorithms (quicksort, heapsort, mergesort)
The content of computer training
Getting to know the development environment, Visual Studio 2015 planned
Implementation and debugging trivial programs - Hello World
Implementation and debugging programs with basic structures such as calculating the greatest common divisor
Work with functions, called value parameters, reference, constant parameters
Working with the array
Implementation of array search algorithms
Recursive functions
Backtracking
Basic sorting algorithms
Advanced sorting algorithms
Project content
The project specification will be directed to use the sorting and searching algorithms, array based algorithms etc. |
Recommended or Required Reading |
---|
Required Reading: |
---|
LEVITIN, Anany. Introduction to the design. 3rd ed. Boston: Pearson, 2012. ISBN 978-0-13-231681-1.
CORMEN, Thomas H. Introduction to algorithms. 2nd ed. Cambridge, Mass.: MIT Press, 2001. ISBN 02-620-3293-7.
SEDGEWICK, Robert. Algorithms in C. 3rd ed. Reading, Mass: Addison-Wesley, 1998. ISBN 978-020-1350-883.
|
LEVITIN, Anany. Introduction to the Design and Analysis of Algorithms. 3rd ed. Boston: Pearson, 2012. ISBN 978-0-13-231681-1.
CORMEN, Thomas H. Introduction to algorithms. 2nd ed. Cambridge, Mass.: MIT Press, 2001. ISBN 02-620-3293-7.
SEDGEWICK, Robert. Algoritmy v C. Praha: SoftPress, 2003. ISBN 80-864-9756-9.
WRÓBLEWSKI, Piotr. Algoritmy. Brno: Computer Press, 2015. ISBN 978-80-251-4126-7.
WIRTH, N. Algoritmy a štruktúry údajov, Alfa, Bratislava 1989.
Studijní opora (skripta), dostupné na stránkách garanta předmětu, www.cs.vsb.cz/dvorsky
|
Recommended Reading: |
---|
STROUSTRUP, Bjarne. The C++ programming language. Fourth edition. Upper Saddle River, NJ: Addison-Wesley, 2013. ISBN 978-0321563842.
SCHILDT, Herbert. Teach yourself C++. 3rd ed. Berkeley: Osborne McGraw-Hill, 1998. ISBN 978-0078823923.
|
STROUSTRUP, Bjarne. C++ programovací jazyk. Praha: Softwarové Aplikace a Systémy, 1997. ISBN 80-901-5072-1.
VIRIUS, Miroslav. Pasti a propasti jazyka C++. 2., aktualiz. a rozš. vyd. Brno: CP Books, 2005. ISBN 80-251-0509-1.
SCHILDT, Herbert. Nauč se sám C++: [poznej, vyzkoušej, používej]. Praha: SoftPress, 2001. ISBN 80-864-9713-5.
ECKEL, Bruce. Myslíme v jazyku C++. Praha: Grada, 2000. Knihovna programátora (Grada). ISBN 80-247-9009-2.
|
Planned learning activities and teaching methods |
---|
Lectures, Tutorials |
Assesment methods and criteria |
---|
Task Title | Task Type | Maximum Number of Points (Act. for Subtasks) | Minimum Number of Points for Task Passing |
---|
Graded credit | Graded credit | 100 (100) | 51 |
Ongoing Activity | Other task type | 20 | 10 |
Programming test | Other task type | 30 | 15 |
Written test | Written test | 50 | 26 |