Course Unit Code | 450-2080/01 |
---|
Number of ECTS Credits Allocated | 4 ECTS credits |
---|
Type of Course Unit * | Choice-compulsory type B |
---|
Level of Course Unit * | First Cycle |
---|
Year of Study * | Second Year |
---|
Semester when the Course Unit is delivered | Summer Semester |
---|
Mode of Delivery | Face-to-face |
---|
Language of Instruction | Czech |
---|
Prerequisites and Co-Requisites | |
---|
| Prerequisities | Course Unit Code | Course Unit Title |
---|
| 450-2079 | Basics of Algorithms and Programming |
Name of Lecturer(s) | Personal ID | Name |
---|
| KON430 | doc. Ing. Jaromír Konečný, Ph.D. |
Summary |
---|
The subject is aimed at extending the knowledge in the field of implementation and programming. It introduces the necessary implementation tools and techniques and provides the basis for designing and implementing the software system in particular application areas. When applying knowledge, emphasis is placed on autonomy and word assignment.
Exercises are geared to advanced techniques of implementation and programming using modern ways of designing and implementing software. In the exercises the students will become acquainted with the tools of software creation, which enable today's modern programming languages. |
Learning Outcomes of the Course Unit |
---|
Subject Implementation of Technical Tasks directly follows the subject of Algorithmization and Programming Basics. Learning outcomes of the course is to deepen students' knowledge in the field of technical problems in different application levels. After completing the course, students will be able to know the general implementation techniques and learn the basics of software design. Emphasis is placed on the ability to create a program based on a word assignment. |
Course Contents |
---|
1. Introduction to the implementation of technical tasks, motivation
2. Program paradigms, basic approaches to program design
3. Composite data types, classes, instances, and properties
4. Dynamic fields, creation of new data types with general data type - generics,
5. Inheritance, overloading methods, polymorphism
6. Virtual methods, abstract methods, abstract classes and interfaces
7. Exceptions, exception properties, propagation of exceptions, exception handling, exception throwing.
8. Principle of interruption, thread and process
9. Parallel programming, cooperative and preemptive multitaksing, scheduler
10. Synchronization tools and synchronization tasks (mutex, semaphore, signal, barrier, readers writers, critical section, producer consumer)
11. Data repositories and access to them
12. Tools for designing specification and documentation of program systems
13. Methods of Design of Program Systems
Laboratory Exercises will take place in these areas
• Sample compound data types, classes, instances, and properties
• Programmatic demonstrations of dynamic fields, creation of new data types with general data type - generics,
• Sample role inheritance, overloading methods, polymorphism
• Sample role of virtual method, abstract methods, abstract classes and interfaces
• Sample program, exception properties, exception propagation, exception handling, exception exception.
• Sample application of parallel programming
• Creating basic synchronization tasks
• A sample with a data repository |
Recommended or Required Reading |
---|
Required Reading: |
---|
[1] WEISFELD, Matt A. [i]The object-oriented thought process[/i]. Fourth edition. Upper Saddle River, NJ: Addison-Wesley, 2013. ISBN 9780321861276.
[2] [i]C# 6.0 and the .NET 4.6 Framework.[/i] Seventh Edition. New York: apress, 2015. ISBN 9781484213339. |
[1] WEISFELD, Matt A. [i]The object-oriented thought process[/i]. Fourth edition. Upper Saddle River, NJ: Addison-Wesley, 2013. ISBN 9780321861276.
[2] [i]C# 6.0 and the .NET 4.6 Framework.[/i] Seventh Edition. New York: apress, 2015. ISBN 9781484213339.
[3] BORY, Pavel. [i]C# bez předchozích znalostí[/i]. Brno: Computer Press, 2016. ISBN 9788025146866. |
Recommended Reading: |
---|
[1] MEYER, Bertrand. [i]Object-oriented software construction[/i]. 2nd ed. Upper Saddle River, N.J.: Prentice Hall PTR, c1997. ISBN 978-0136291558.
[2] YEAGER, Dorian P. [i]Object-oriented programming languages and event-driven programming[/i]. Dulles, Virginia: Mercury Learning and Information, 2014. ISBN 9781936420377. |
[1] MEYER, Bertrand. [i]Object-oriented software construction[/i]. 2nd ed. Upper Saddle River, N.J.: Prentice Hall PTR, c1997. ISBN 978-0136291558.
[2] YEAGER, Dorian P. [i]Object-oriented programming languages and event-driven programming[/i]. Dulles, Virginia: Mercury Learning and Information, 2014. ISBN 9781936420377.
[3]VYSTAVĚL, Radek. [i]Moderní programování: učebnice pro pokročilé.[/i] Ondřejov: moderníProgramování, 2011. ISBN 978-80-903951-7-6. |
Planned learning activities and teaching methods |
---|
Lectures, Individual consultations, Experimental work in labs, Teaching by an expert (lecture or tutorial) |
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 |
Project | Semestral project | 50 | 15 |
Final test | Written test | 50 | 15 |