Budapest University of Technology and Economics, Faculty of Electrical Engineering and Informatics

    Belépés
    címtáras azonosítással

    vissza a tantárgylistához   nyomtatható verzió    

    Development of Software Applications

    A tantárgy neve magyarul / Name of the subject in Hungarian: Alkalmazásfejlesztés

    Last updated: 2021. július 15.

    Budapest University of Technology and Economics
    Faculty of Electrical Engineering and Informatics
    Development of software applications
    Course ID Semester Assessment Credit Tantárgyfélév
    VIAUMA09 2 2/1/0/v 4  
    3. Course coordinator and department Dr. Csorba Kristóf,
    Web page of the course https://www.aut.bme.hu/Course/VIAUMA09
    4. Instructors Dr. Kristóf Csorba, associate professor, Department of Automation and Applied Informatics
    5. Required knowledge
    • 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).
    6. Pre-requisites
    Kötelező:
    NEM
    (TárgyEredmény( "BMEVIAUMB07", "jegy" , _ ) >= 2
    VAGY
    TárgyEredmény("BMEVIAUMB07", "FELVETEL", AktualisFelev()) > 0)

    A fenti forma a Neptun sajátja, ezen technikai okokból nem változtattunk.

    A kötelező előtanulmányi rend az adott szak honlapján és képzési programjában található.

    Ajánlott:
    Embedded Operating Systems and Client Applications (VIAUAC07)
    7. Objectives, learning outcomes and obtained knowledge 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).
    8. Synopsis

    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.) 

    9. Method of instruction

    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. 

    10. Assessment

    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.

     

    11. Recaps 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.
    12. Consultations On demand and synchronized with the lecturer.
    13. References, textbooks and resources

    Materials published via the website of the course.

    • Scott Chacon: Pro Git, Apress, 2009, http://git-scm.com/book
    • Robert C. Martin: Clean Code: A Handbook of Agile Software Craftsmanship, Prentice Hall, 2008
    • Steve McConnell: Code Complete: A Practical Handbook of Software Construction, Second Edition, Microsoft Press, 2004
    • Buschmann et al.: A System of Patterns, Willey, 1996
    14. Required learning hours and assignment
    Contact hours 42
    Materials assigned for individual study at home16
    Preparation for the exam26
    Preparation for homework
    36
    Total
     120
    15. Syllabus prepared by Dr. Kristóf Csorba, Department of Automation and Applied Informatics