Course Unit Code | 460-2057/01 |
---|
Number of ECTS Credits Allocated | 4 ECTS credits |
---|
Type of Course Unit * | Choice-compulsory type A |
---|
Level of Course Unit * | First Cycle |
---|
Year of Study * | Second 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-2055 | Object Oriented Programming |
Name of Lecturer(s) | Personal ID | Name |
---|
| GAJ03 | doc. Ing. Petr Gajdoš, Ph.D. |
Summary |
---|
Students will deepen the knowledge of object-oriented programming with respect to the use of C# language, which belongs to the most used languages. The course builds on the "Introduction to Programming" and "Object-Oriented Programming" courses and requires that the students have already successfully passed these courses. |
Learning Outcomes of the Course Unit |
---|
The aim of the subject is to familiarize students with C# language such that they can understand all basic constructions of the selected language and a run-time environment. The students will be able to create desktop applications in C#.
Knowledge and Skills:
- selected development environment with emphasis on Microsoft Visual Studio, program debugging
- understanding .NET Framework and .NET Core platforms
- Understanding Common Language Runtime (CLR), Ahead-of-Time (AoT) vs. Just-in-Time (JIT) compilation
- key elements of the language and language structures, grammar, memory management
- type system and difference between primitive and object types
- principles of object oriented programming (OOP) projected into C #
- iterators, execution control, exception system
- type conversions, generic types, collections
- events, lambda expressions
- working with files, LINQ
- console application creation
After completing the course, the student should be able to design and implement a problem-solving application with the knowledge of object-oriented programming using the latest features of C# language.
|
Course Contents |
---|
Lecture notes will include at least the following topics:
1. Description of the .NET CORE architecture
2. Data types and program constructs of C# language
3. Basic input / output
4. Class definitions, inheritance, overloading methods
5. Program interface design - definition, utilization, implementation
6. Generic data types
7. Collections and their usage, iterators, LINQ
8. Simple lambda expressions, exception system
9. Strings and regular expressions
10. File system and advanced work with input / output
11. Delegates and events
12. Attributes and metadata
13. Threads and synchronization
Practical exercises on computer labs will correspond to lecture notes:
1. An example of code compilation, assembly
2. Exercise on data types and basic program constructs of C# language
3. Working with a standard input/output
4. Class definitions, inheritance, overloading methods
5. Program interface design - definition, utilization, implementation
6. Creating of a generic class and its usage
7. Collections and their usage, iterators, LINQ
8. Simple lambda expressions, exception system
9. String processing with the use of regular expressions
10. File system and advanced work with input/output, XML, JSON, etc.
11. Delegates and events
12. Attributes and metadata
13. Threads and synchronization
|
Recommended or Required Reading |
---|
Required Reading: |
---|
[1] Albahari, Joseph, and Ben Albahari. C# 7.0 in a nutshell : the definitive reference. Sebastopol, CA: O'Reilly, 2018. Print. ISBN: 1491987650
[2] Price, Mark J. C# 7 and .NET Core modern cross-platform development : create powerful cross-platform applications using C# 7, .NET Core, and Visual Studio 2017 or Visual Studio Code. Birmingham, UK: Packt Publishing, 2017. Print. ISBN: 1787129551 |
[1] Albahari, Joseph, and Ben Albahari. C# 7.0 in a nutshell : the definitive reference. Sebastopol, CA: O'Reilly, 2018. Print. ISBN: 1491987650
[2] Price, Mark J. C# 7 and .NET Core modern cross-platform development : create powerful cross-platform applications using C# 7, .NET Core, and Visual Studio 2017 or Visual Studio Code. Birmingham, UK: Packt Publishing, 2017. Print. ISBN: 1787129551 |
Recommended Reading: |
---|
[1] Troelsen, Andrew, and Philip Japikse. Pro C# 7 With .net and .net Core. City: Apress, 2018. Print. ISBN: 1484230175 |
[1] Troelsen, Andrew, and Philip Japikse. Pro C# 7 With .net and .net Core. City: Apress, 2018. Print. ISBN: 1484230175 |
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 |
Aktivita | Other task type | 50 | 26 |
Písemka 1 | Written test | 20 | 10 |
Písemka 2 | Written test | 30 | 15 |