Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
External Data Management - Graphical User Interface
Rating: 5.0 out of 5(1 rating)
423 students

External Data Management - Graphical User Interface

Programming in Practice - External Data Management - Graphical Data
Created byMariusz Postol
Last updated 5/2026
English

What you'll learn

  • You will review applied environment related to C#, Visual Studio, and GitHub
  • You will be familiar with inter-layer communication, addressing data context, and binding concepts
  • You will understand an interactive and reactive user interface
  • You will review XAML and its role in User Interface (UI) design
  • You will explore data entry and user interoperability topics
  • You will understand the Model View and ViewModel (MVVM) design pattern
  • You will reanalyze a program bootstrap topic
  • You will take another look at a reflection

Course content

2 sections5 lectures1h 54m total length
  • Introduction21:43

    This lesson contains a preface to the course. It focuses on explaining the title, detailing the course scope, and outlining the prerequisites for students.


    1. Title Explanation: explains the title of the course as the management of data originating outside of the process that hosts a computer application.

    2. Course Scope: encompasses a preface of external data sources, data integration techniques, and external data governance.

    3. Prerequisites: emphasize that to succeed in this course, students should possess:

      1. A fundamental understanding of Information Technology concepts.

      2. Basic familiarity with C# programming.

      3. Experience using Visual Studio for development.

      4. Basic knowledge of GitHub for version control and collaboration.

  • Intangible Assets14:33

    As usual, after the lesson introduction, we try to ask the most important questions to be answered during the Intangible Assets lesson. In this lesson, students will learn why C\# has been selected to prepare all examples supporting the content of this course. They will also be introduced to Visual Studio, a powerful and versatile integrated development environment. Additionally, the lesson will cover the basics of GitHub, enabling students to manage and share the examples effectively. This lesson covers the following topics:


    1. Lesson Introduction

    2. What is our problem?

    3. Programming Language Selection

      1. Why CSharp

      2. Language familiarity

    1. - Visual Studio

      1.  Visual Studio introduction

      2.  Opening a solution

      3.  Unit Tests

      4.  How to get help

      5.  How to go to the definition

    2. - GitHub

      1.   Executive summary

      2.   GitHub how to find

      3.   Readme and reference documents

      4.   GitHub how to clone and open in VS

      5.   Cloning versus copying

Requirements

  • You should clone the mpostol/TP GitHub repository on your computer and make sure you can open, build, and test the ExDataManagement solution
  • It is not necessary but should be helpful to pass the course Programming in Practice - Executive Summary
  • You should be familiar with programming fundamentals and understand the following terms: partials, reflection, bootstrap, value type, reference types, class, interface, etc
  • No programming experience is needed but some skills related to object-oriented programming fundamentals are helpful

Description

This course explores the principles and practices behind building modern, responsive, and maintainable user interfaces. Participants will gain a deep understanding of how information and data flow through interactive and reactive user interfaces, emphasizing the importance of data binding, external data integration, and event handling.


The course introduces the Model-View-ViewModel (MVVM) design pattern as a foundation for layered design and separation of concerns, enabling scalable and testable presentation layer implementation of a computer program. Attendees will learn how to shape user interface behavior and appearance through effective rendering strategies, while mastering techniques for exposing and entering data seamlessly.


Key topics include:


  1. Structuring the user interface with layered design patterns

  2. Implementation of the Model-View-ViewModel (MVVM) design pattern

  3. Implementing inter-layer communication

  4. Designing for reactivity and data-driven rendering

  5. Managing UI events and user interactions

  6. Best practices for data exposure and input handling

Structuring a user interface with layered design patterns means organizing the program text of a user interface into distinct, logical layers, each as a set of custom types. Each layer has a well-defined role and communicates only with adjacent layers. This approach improves the separation of concerns,  maintainability, testability, and scalability of the application. In user interface development, this often aligns with patterns like MVVM (Model-View-ViewModel).

Implementation of the Model-View-ViewModel (MVVM) design pattern refers to applying a structured approach to building a program presentation layer by separating concerns into three distinct layers: Model, View, and ViewModel. This pattern is especially popular in modern libraries.

By the end of the course, developers will be equipped to build a robust, maintainable user interface that responds fluidly to both user input and dynamic data sources. All topic examinations are backed by examples gathered in a GitHub public repository.

Who this course is for:

  • Junior and middle-level software developers curious about improving their programming skills
  • Entry-level software architect looking for knowledge and skills required to carry out the architectural design of programs
  • Teachers who are serious about the improvement of the software development skills education methodology
  • Students who have completed classes covering Software Development Fundamentals or equivalent
  • Software development project leaders, who are responsible for teamwork management, documentation preparation, debugging, code optimization, and so forth