K-INFO
HU
EN
Login

Development of Software Applications

Alkalmazásfejlesztés
A tantárgyleírás hatályossága
Hatályosság kezdete:
2026. March 21.
Hatályosság vége:
Subject name (Hungarian, English)
Alkalmazásfejlesztés
Development of Software Applications
Subject code BMEVIAUMA09
Subject type
Training Level
Course types and hours (weekly/semester)
Course type lecture tutorial laboratory
hours (weekly) 2 1 0
type (linked/independent) derived course
Assessment type vizsga
Credits 4
Subject coordinator
DR. Csorba Kristóf
position: egyetemi docens
Responsible department
Automatizálási és Alkalmazott Informatikai Tanszék
Faculty Villamosmérnöki és Informatikai Kar
Subject website https://www.aut.bme.hu/Course/VIAUMA09
Primary curriculum type
Direct prerequisites – Strong prerequisite none
Direct prerequisites – Weak prerequisite none
Direct prerequisites – Parallel prerequisite none
Direct prerequisites – Milestone prerequisite none
Direct prerequisites – Exclusion none

Objectives

Programme

Introduction, version control

 

  • Introduction, discussion of the requirements, short demos about the material of the course. Localizing the material in the area of electrical engineering.

  • Version control: primarily GIT

C#, .NET and UWP basics

  • Serialization, Containers, IEnumerable, Generics, Linq

  • Network communication (http)

  • Universal Windows Platform (UWP)

  • MVVM architecture

  • Data binding

  • Multi-threading

Testing and documentation

  • Unit testing in C#

Software design principles

  • Object oriented design, KISS approach (Keep It Simple and Stupid).

  • SOLID principles

  • Design patterns: their goals, how to recognize them and some implementation options in C++. Anti patterns.

(Practical activities are embedded into the lectures, they are not separated into dedicated practical classes.) 

The goal of the course is to introduce those software development tools and practices which are essential for larger scale development projects. This includes the higher level class libraries, automatic testing and continuous integration tools, version control and documentation tools. These skills are applied via the C# language, .NET Core and the Universal Windows Platform (UWP).

Learning outcomes

Ez a tantárgy a KKK rendeletben meghatározott, következő kompetenciák fejlesztését szolgálja:

Knowledge

No learning outcomes recorded.

Skills

No learning outcomes recorded.

Attitudes

No learning outcomes recorded.

Autonomy and responsibility

No learning outcomes recorded.

Oktatási módszertan

Lecture, practice Lexical material is taught in the first part of the term. After that, the remaining contact hours are used for consultation and the discussion of the optional code reviews of the homeworks. 

Tanulástámogató anyagok

Online források
Materials published via the website of the course.; Scott Chacon: Pro Git, Apress, 2009, http://git-scm.com/bookRobert C. Martin: Clean Code: A Handbook of Agile Software Craftsmanship, Prentice Hall, 2008Steve McConnell: Code Complete: A Practical Handbook of Software Construction, Second Edition, Microsoft Press, 2004Buschmann et al.: A System of Patterns, Willey, 1996

Recommended preliminary knowledge for completing the subject

Knowledge type competencies
(azon előzetes ismeretek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
Basic knowledge of the C# language, .NET features (as covered by Embedded Operating Systems and Client Applications), the basics object oriented software development and their application in practice.Basic usage of the Linux bash shell and the Windows Command Prompt (cmd.exe).
Skill type competencies
(azon előzetes képességek és készségek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
nincs
Recommended (non-compulsory) preliminary competencies
(azon ajánlott (nem kötelező) előzetesen megszerzendő kompetenciák összessége, amelyek jelentősen hozzájárulnak a tantárgy eredményes teljesítéséhez)
Basic knowledge of the C# language, .NET features (as covered by Embedded Operating Systems and Client Applications), the basics object oriented software development and their application in practice.Basic usage of the Linux bash shell and the Windows Command Prompt (cmd.exe).
General rules
Requirements: During the semester: Practicing the material is deepened by a homework which has to be submitted during the 14th week with timing specified during the semester.Conditions of the signature: submission of the homework on time with sufficiently high quality.In the exam period: written exam. Conditions of the grading of the semester: signature and successful exam The grading takes the homework with 50% and the exam with 50% weight into account. The homework may be extended with bonus tasks. Solving these with high quality may result in bonus points for the exam or may offer an automatic grade.   Additional possibilities: The homework has to be submitted by the end of the 14th week with the previously specified timing. Extension is possible during the extension week.
Assessment methods
In-term assessments

No detailed assessments provided.

Weight of in-term assessments

No weights provided.

Exam-period assessments

No detailed assessments provided.

Weight of exam elements

No weights provided.

Grade calculation

No grade thresholds provided.

Attendance requirements

No attendance requirements provided.

Rules for retake and resubmission

Not provided.

Short description

Not provided.

Detailed description

Not provided.

Recommended courses
Embedded Operating Systems and Client Applications (VIAUAC07)
Workload to complete the subject

No workload breakdown provided.

Validity of subject requirements
Requirements valid from:
Requirements valid until:
Curriculum placement

No curriculum placements recorded for this subject version.