Application development using C# programming language

Course Description

The goal of this course is to introduce students to the world of modern software development using C# programming language. Students will familiarize themselves with the development of server applications using the ASP.NET Core platform, with special attention given to patterns, methods and technologies inevitable in practice. The second part of the course will deal with client applications and the consumption of the server and its functionality. The focus will be on web clients (HTML, CSS, JavaScript), but students will be introduced to the technologies used for the development of native mobile clients (Xamarin, Windows 10, XAML) as well. Through the semester, students will have the opportunity to use the Microsoft Azure platform to accommodate their final project in the cloud.

Learning Outcomes

  1. apply C# programming language and related technologies in designing simple programs
  2. apply C# programming language and related technologies in designing server-side applications
  3. apply C# programming language and related technologies in designing client applications
  4. apply C# programming language and related technologies in designing web services
  5. apply C# programming language and related technologies in designing cloud applications
  6. prepare applications for deployment

Forms of Teaching

Lectures

Lectures

Programming Exercises

Project implementation

Week by Week Schedule

  1. Introduction to .NET platform
  2. Introduction to C# programming language
  3. Advanced C# topics (LINQ, TPL, async await, generics, lambda functions…)
  4. Introduction to ASP.NET Core
  5. ASP.NET Core and Entity Framework
  6. ASP.NET Core infrastructure topics - Identity, DI, logging, configurations...
  7. ASP.NET Core - Cache, Session, Razor revisited, Web API
  8. Midterm
  9. Midterm
  10. Web client development (HTML, JS, CSS)
  11. Microsoft Azure
  12. Introduction to Windows 10
  13. Introduction to Xamarin.Forms
  14. Empty (project)
  15. Empty (project)

Study Programmes

University undergraduate
Computer Engineering (module)
Skills (5. semester)
Computer Science (module)
Skills (5. semester)
Computing (study)
Skills (3. semester)
Control Engineering and Automation (module)
Skills (5. semester)
Electrical Engineering and Information Technology (study)
Skills (3. semester)
Electrical Power Engineering (module)
Skills (5. semester)
Electronic and Computer Engineering (module)
Skills (5. semester)
Electronics (module)
Skills (5. semester)
Information Processing (module)
Skills (5. semester)
Software Engineering and Information Systems (module)
Skills (5. semester)
Telecommunication and Informatics (module)
Skills (5. semester)
Wireless Technologies (module)
Skills (5. semester)

Literature

John Sharp (2014.), Microsoft Visual C# 2013 Step by Step, Microsoft Press
Andrew Troelsen (2012.), Pro C# 5.0 and the .NET 4.5 Framework, APress

General

ID 132841
  Winter semester
4 ECTS
L0 English Level
L1 e-Learning
30 Lectures
15 Exercises
0 Laboratory exercises
0 Project laboratory

Grading System

Excellent
Very Good
Good
Acceptable