Course details

The C# Programming Language

ICS Acad. year 2022/2023 Summer semester 4 credits

C# language syntax. Object-orientation. The object model, objects, classes. Visual Studio. Debugger and profiler. Design patterns. Graphic user interfaces, WPF. Asynchronous programming with processes, threads, tasks. Data querying LINQ, ADO.NET. ORM mapping with Entity Framework.

Guarantor

Course coordinator

Language of instruction

Czech, English

Completion

Classified Credit (written)

Time span

  • 26 hrs exercises
  • 13 hrs projects

Assessment points

  • 100 pts projects

Department

Instructor

Course Web Pages

Subject specific learning outcomes and competences

Students will learn how to apply modern programming approaches in .NET platform using C# language. After class completion, students will be ready to tackle real-world programming challenges with a new perspective based on object-oriented principles and to apply design patterns to architecture design. Working in a team simulates real work assignments, teaches students coordination and enforces the use of agile methodologies.  Main take offs are object-oriented workflows in C# and .NET platform, application of design patterns and utilization of persistence data providers.

Learning objectives

This class aims to teach students object-oriented programming and desktop application design principles in the C# language.

Why is the course taught

This course is intended for students interested in programming with modern high-abstract language to extend their value on the market. C# increases on its popularity rapidly thanks to its multiplatform runtime .NET Core. Language combines multiple programming paradigms like object orientation with components of functional programming. A student will try to cooperate with his teammates on a real-life project with agile management, source control, and design patterns application. After this course, the student is able to create a desktop application connected to a database that will not shame him.

Prerequisites

Prerequisite knowledge and skills

Basic knowledge of imperative programming (C language), algorithmization and source code versioning.

Technical equipment

  • Visual Studio Comunity / Rider / VS Code
  • [Resharper]

Study literature

  • MARTIN, R. C., & MARTIN, M. (2006). Agile principles, patterns, and practices in C. Pearson Education.
  • MARTIN, Robert C. Clean code: a handbook of agile software craftsmanship. Pearson Education, 2009.
  • GAMMA, Erich. Design patterns: elements of reusable object-oriented software. Pearson Education India, 1995.
  • BISHOP, J. (2007). C# 3.0 Design Patterns: Use the Power of C# 3.0 to Solve Real-World Problems. " O'Reilly Media, Inc.".
  • GAMMA, Erich. Design patterns: elements of reusable object-oriented software. Pearson Education India, 1995.
  • BISHOP, J. (2007). C# 3.0 Design Patterns: Use the Power of C# 3.0 to Solve Real-World Problems. " O'Reilly Media, Inc.".
  • ALBAHARI, Joseph; ALBAHARI, Ben.; C# 7.0 in a Nutshell: The Definitive Reference. O'Reilly Media, Inc., 2017.
  • ALBAHARI, Joseph; ALBAHARI, Ben.; C# 7.0 in a Nutshell: The Definitive Reference. O'Reilly Media, Inc., 2017.

Syllabus - others, projects and individual work of students

Progress assessment

  • Project evaluation is divided into three parts.
  • Each part will be evaluated separately and feedback given to students for further improvements in the following phases.
  • Phases are marked by 20, 30, 50 points.
  • Final project (the third phase) evaluation is an oral defence.

 

Controlled instruction

  • Team project 5 members in the Azure DevOps environment.
  • Implemented using CleanCode and S.O.L.I.D. principles.
  • The implementation consists of a fully functional desktop application heading OOP principles with database persisted storage.
  • In case of forewarned complications students can ask for an extension of the deadline for any part of the project.

Exam prerequisites

  • At least 1 point of each project evaluation part
  • Obtain at least 50% of a apoint from orverall project evaluation

How to contact the teacher

The official contact channel is an email sent from the faculty address, addressed to the teacher according to the course card.

Schedule

DayTypeWeeksRoomStartEndCapacityLect.grpGroupsInfo
Thu exercise lectures E104 E105 E112 12:0013:509999 2BIA 2BIB 3BIT xx Pluskal
Thu exercise 1., 2., 8., 9., 12. of lectures D0207 14:0015:509999 2BIA 2BIB 3BIT xx Pluskal

Course inclusion in study plans

  • Programme BIT, 2nd year of study, Compulsory-Elective group T
  • Programme BIT (in English), 2nd year of study, Compulsory-Elective group T
  • Programme IT-BC-3, field BIT, 2nd year of study, Compulsory-Elective group T
Back to top