Course title, code: Server Side Applications, GAINBAN-SZERVALK-1

Name and type of the study programme: Computer science engineering, BSc
Curriculum: 2021
Number of classes per week (lectures+seminars+labs): 2+0+2
Credits: 5
Theory: 50 %
Practice: 50 %
Recommended semester: 5
Study mode: full-time
Prerequisites: 100 cr
Evaluation type: term mark
Course category: required optional
Language: english
Responsible instructor: Dr. Bolla Kálmán Milán
Responsible department: Department of Information Technologies
Instructor(s): Dr. Bolla Kálmán Milán , Tóth László
Course objectives:
Introduction to the basics of Microsoft ASP.NET Core (MVC) application development, deepening existing C# language skills, creating Razor websites and REST APIs using ASP.NET.
Course content - lectures:

Introduction to the development environment (Visual Studio) and the ASP.NET SDK. MVC project architecture, middleware, project configuration. Introduction to MVC design pattern and its elements, Using Dependency Injection in ASP.NET Core. Defining Controllers and Action methods, filters. Using Razor, Creating Views. HTML helper methods, server and client side state management techniques. Model binding, model validation. Database management using Entity Framework Core.


Course content - labs:

Understand the ASP.NET Core MVC project template. Code First Entity Framework Core database creation by migration. Creating Razor pages, defining Controllers. Creating REST API using swagger. Middleware, Dependency Injection.

Acquired competences:
Knowledge:

- He/she knows the main programming paradigms, programming languages, development tools. His/her knowledge covers the modelling of IT systems, creation of database based systems, as well as the structure, operation and implementation of computer networks. His/her knowledge covers the characteristics of intelligent systems, the specificity of mobile application development, the management of state-of-the art general purpose operating systems, as well as the aspects of IT security. - He/she is familiar with the important software development methodologies, and the notation systems for IT designs and documentation. - He knows the vocabulary and special terms of the engineering profession in the Hungarian and English languages at least on the basic level.

Skills:

- He/she is able to develop applications, program client-server and WEB, mobile operating systems, develop multiplatform systems. He/she can apply his/her knowledge acquired during his/her study to acquire deeper knowledge in the field of information engineering and to process special literature and solve problems related to information technology. - He/she can communicate in Hungarian and in English about professional issues, he/she uses the terms of information technology in a creative way. - He/she constantly improves his/her knowledge and keeps up with the development of the computer engineering profession.

Attitude:

- He/she genuinely represents the professional principles of engineering and information technology fields. - He/she is open to acquire new methods, programming languages and develop skills to use them. - He/she makes an effort to work efficiently and to high standards.

Autonomy and responsibilities:

- He/she reveals the weaknesses of the technologies applied, risks of processes and initiates measures which reduce them. - He/she has a security-conscious attitude in posession of his/her professional knowledge, and is aware of potential threats and opportunities for attack, as well as is prepared to prevent them.

Additional professional competences:


Requirements, evaluation, grading:
Mid-term study requirements:
Attending classes, reviewing and supplementing what you have heard at home based on the literature recommended in class. Theoretical and practical tests.
Exam requirements:

Study aids, laboratory background:

Visual Studio: https://www.visualstudio.com/ .NET Core runtime, sdk: https://github.com/dotnet/core/blob/master/release-notes/download-archive.md

Compulsory readings:

[1] ASP.NET documentation: https://docs.microsoft.com/en-us/aspnet/core/

Recommended readings:

[1] Adam Freeman: Pro ASP.NET Core MVC 2, Seventh Edition, Apress, 2017 [2] eShopOnWeb, Architecting Modern Web Applications with ASP.NET Core and Microsot Azure https://github.com/dotnet-architecture/eShopOnWeb