PV179 System Development in C#/.NET

Faculty of Informatics
Autumn 2024
Extent and Intensity
2/2/0. 3 credit(s) (plus extra credits for completion). Type of Completion: k (colloquium).
In-person direct teaching
Teacher(s)
RNDr. Martin Macák, Ph.D. (lecturer)
Ing. Dominik Lašo (seminar tutor)
Bc. Jakub Košvanec (seminar tutor)
Mgr. Ondřej Pavlica (seminar tutor)
Erik Matuška (seminar tutor)
Adam Mydla (seminar tutor)
Ing. Patrik Navrátil (seminar tutor)
Mgr. Matej Klement (seminar tutor)
Bc. David Maixner (seminar tutor)
Guaranteed by
RNDr. Martin Macák, Ph.D.
Department of Computer Systems and Communications – Faculty of Informatics
Supplier department: Department of Computer Systems and Communications – Faculty of Informatics
Timetable
Thu 26. 9. to Thu 19. 12. Thu 14:00–15:50 A217
  • Timetable of Seminar Groups:
PV179/Heroic: No timetable has been entered into IS. J. Košvanec, D. Lašo, E. Matuška, A. Mydla
PV179/01: Wed 25. 9. to Wed 18. 12. Wed 16:00–17:50 B311, D. Lašo, A. Mydla
PV179/02: Tue 24. 9. to Tue 17. 12. Tue 12:00–13:50 A215, M. Klement, D. Maixner
PV179/03: Tue 24. 9. to Tue 17. 12. Tue 18:00–19:50 B311, J. Košvanec, E. Matuška
PV179/04: Tue 24. 9. to Tue 17. 12. Tue 16:00–17:50 A215, P. Navrátil, O. Pavlica
Prerequisites
Basic knowledge of the C# language (best on the level of PV178), basic knowledge of HTML, and knowledge at the level of PB154 and PB007.
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
The capacity limit for the course is 50 student(s).
Current registration and enrolment status: enrolled: 112/50, only registered: 20/50, only registered with preference (fields directly associated with the programme): 14/50
fields of study / plans the course is directly associated with
Course objectives
The course will extend the knowledge gained in PV178 Introduction to Development in C#/.NET through practical work on a specific project. The students will learn to create a non-trivial web application in ASP.NET Core, create REST interface, work with the ORM framework, and understand the practical usage of enterprise design patterns and other good practices. Some of the chosen lectures also introduce to students the development of various kinds of applications with the focus on the techniques and technologies supporting this task.
Learning outcomes
At the end of the course the students will know typical applications of the .NET framework and be able to:
- describe some of the essential technologies used in the .NET environment;
- understand and apply the principles of the multi-tier architecture;
- write applications using persistence and ORM;
- apply the enterprise design patterns;
- use good practices (for example Dependency Injection, mapping, common design patterns);
- design the application independently from the chosen ORM framework and choose the right persistent technology for the given project;
- test the individual parts of the application in isolation;
- create the non-trivial web application on ASP.NET Core platform;
- integrate the authentication and secure the application against the most common attacks;
- create REST interface for the web application.
Syllabus
  • Data layer (Entity Framework Core, querying)
  • Business logic layer (structure and related design patterns)
  • Presentation layer (ASP.NET Core MVC, ASP.NET Core Web API)
Literature
    recommended literature
  • LERMAN, Julia. Programming entity framework. 2nd ed. Beijing: O´Reilly, 2010, xxxvi, 875. ISBN 9780596807269. info
  • FOWLER, Martin. Patterns of enterprise application architecture. Boston: Addison-Wesley, 2003, xxiv, 533. ISBN 0321127420. info
  • FREEMAN, Adam. Pro ASP.NET Core MVC 2. Seventh edition. London: Apress, 2017, xxix, 1017. ISBN 9781484231494. info
  • NAGEL, Christian. Professional C# 7 and .NET Core 2.0. Indianapolis: John Wiley & Sons, 2018, lxviii, 13. ISBN 9781119449270. info
Teaching methods
Lectures (some of them will be given by selected experts in the field), practical labs, group project, final project presentation.
Assessment methods
The assessment consists of these parts:
1. Continuous submission of the project (55 points)
2. Bonus points for the activity in lectures and peer reviews
3. Presentation and submission of a complete project

To get the colloquium, you need to get 40 points and successfully present and submit the project.
Language of instruction
Czech
Further Comments
Study Materials
The course is taught annually.
Listed among pre-requisites of other courses
Teacher's information
http://is.muni.cz/el/1433/podzim2024/PV179/index.qwarp
The course is also listed under the following terms Spring 2006, Spring 2007, Spring 2010, Autumn 2011, Autumn 2012, Autumn 2013, Autumn 2014, Autumn 2015, Autumn 2016, Autumn 2017, Autumn 2018, Autumn 2019, Autumn 2020, Autumn 2021, Autumn 2022, Autumn 2023.
  • Enrolment Statistics (recent)
  • Permalink: https://is.muni.cz/course/fi/autumn2024/PV179