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ó    

    Data-driven Systems

    A tantárgy neve magyarul / Name of the subject in Hungarian: Adatvezérelt rendszerek

    Last updated: 2024. január 17.

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

    BSc degree program in Engineering Information Technology 

    Software Engineering 

    Course ID Semester Assessment Credit Tantárgyfélév
    VIAUAC01 5 2/1/0/v 4  
    3. Course coordinator and department Hideg Attila,
    Web page of the course https://www.aut.bme.hu/Course/VIAUAC01
    4. Instructors

    Név:

    Beosztás:

    Tanszék, Int.:

    Albert István

    mérnöktanár

    Automatizálási és Alkalmazott Informatikai Tanszék

    5. Required knowledge

    C# and SQL knowledge is required

    6. Pre-requisites
    Kötelező:
    ((Szakirany("AMINszoftfejlAUT", _) VAGY
    Szakirany("AMINszoftfejlIIT", _) VAGY
    Szakirany("AMINszoftfejlMIT", _) VAGY
    Szakirany("AMIrendszfejl", _) VAGY
    Szakirany("AMIrendszterv", _) VAGY
    Szakirany("AMIszoft", _) VAGY
    Szakirany("VIABI-SOFTWE", _) )




    VAGY EgyenCsoportTagja("Szoftverfejlesztés MIT") )

    ÉS NEM ( TárgyEredmény( "BMEVIAUA369" , "jegy" , _ ) >= 2
    VAGY
    TárgyEredmény("BMEVIAUA369", "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:
    Recommended preliminary subjects: Software techniques, Databases
    7. Objectives, learning outcomes and obtained knowledge

    The goal of this course if to teach students the most commonly used techniques in developing data-driven and backend systems. Students will learn various methods for implementing systems built on data bases, typical solutions and techniques in the data access and business logic layers. The course presents the usage of various data base management systems in complex software development scenarios, and details the processes and solutions used by modern data managing (backend) applications.

    Obtainable knowledge:
    By completing the course, students are familiarized with the most commonly used data base engines (Microsoft SQL Server and MongoDB), their structure and operation, writing efficient SQL queries, optimizing them, handling transactions, locks, the proper usage of isolation levels, and server side programming techniques (stored procedures, triggers). Various data access libraries are presented (including ADO.NET), as well as commonly used ORM frameworks (such as Entity Framework and JPA).   The course presents serialization techniques of server-side objects (XML, JSON), and protocols for accessing such objects remotely (Web Service, REST), including the software environments (like ASP.NET Core Web API).

    8. Synopsis

    Week

    Lecture content

    1

    Introduction, data-driven systems architektúrái (three-tier architecture).

    2

    Transactions in data base management systems; the Microsoft SQL Server platform.

    3

    Advanced SQL language, data base server-side programming (Microsoft SQL Server platform, T-SQL language, stored procedures and triggers).

    4

    Advanced SQL language, data base server-side programming (Microsoft SQL Server platform, T-SQL language, stored procedures and triggers).

    5

    NoSQL data bases, document storage in NoSQL data bases; MongoDB platform, simple operations in MongoDB.

    6

    Queries and their efficiency in Microsoft SQL Server SQL Server. Execution plans and query optimization.

    7

    Data dictionaries. Semi-structured data (XML, JSON) storage and handling.

    8

    Data access layer, object-relational mapping, design patterns in the data access layer (repository).

    9

    Object relational mapping frameworksin .NET, ADO.NET, Entity Framework and Linq to Entity Framework.

    10

    Object relation frameworks in Java: JPA and QueryDSL

    11

    Business logic in Java: JavaEE, Spring, SpringData 

    12

    Business logic in .NET: ASP.NET Core platform, middleware services, Web API.

    13

    Business logic in .NET: ASP.NET Core platform, middleware services, Web API.

    14

    Implementing a modern web application: summary of the semester through an example.

     

    During the seminars, held in computer laboratories, students will solve tasks in connection to the lectures:

    Seminar

    Seminar content

    1

    Transaction properties, platform specific behaviors in Microsoft SQL Server

    2

    Advanced SQL language and data base server-side programming of Microsoft SQL Server

    3

    Introduction to MongoDB: collections and basic queries.

    4

    Object-relational mapping: JPA, SpringData

    5

    Object-relational mapping: Entity Framework

    6

    Implementing three-tiered application backend using REST API

    7

    Implementing three-tiered application backend using REST API

    9. Method of instruction

    Lectures and seminars. The lectures may build upon material to process and learn at home.

    10. Assessment

    During the semester

    1.   One midterm exam

    2.   The seminars provide the opportunity to put the gained knowledge into practice. Students must be present at the seminars and work with the instructor.

     

    During the semester there are opportunities to complete optional homework assignments.  By completing these optional homeworks extra points can be earned, that are added to the exam results.

     

    In order to receive signature for the course, students must:

    o    must pass the midterm exam, and

    o    the student must be present at the seminars as required by the Code of Study and Exams.

     

     In the exam period:

    Written exam.

     

    Final grade is calculated by summing the exam points and the extra points obtained during the semester. The final grade is: 0-40p fail, 41-55p pass, 56-70p satisfactory, 71-85p good, 86-100p very good.

    11. Recaps

    The mid-term test can be repeated once during the semester.

    There are no repeated seminars. However, absense from seminars is allowed with proof of a good reason, such as illness (with official record of it presented).

    Homeworks cannot be repeated.

    Exams may be repeated as the Code of Studies allows it.

    12. Consultations

    Arranged on demand by the lecturer or instructor.

    13. References, textbooks and resources

    ·         Leonard Lobel and Andrew Brust: Programming Microsoft SQL Server 2012, Microsoft Press, ISBN: 978-0735658226

    ·         Grant Fritchey: SQL Server Execution Plans, Simple Talk Publishing, 2012. Ebook: https://www.red-gate.com/products/dba/sql-monitor/entrypage/execution-plans

    ·         Leonard Lobel and Andrew Brust: Programming Microsoft SQL Server 2012, Microsoft Press, ISBN: 978-0735658226

    ·         Kristina Chodorow: MongoDB: The Definitive Guide: Powerful and Scalable Data Storage, O'Reilly Media, Second Edition. ISBN 978-1449344689.

    ·         Mark J. Price: C# 7 and .NET Core: Modern Cross-Platform Development: Create powerful cross-platform applications using C# 7, .NET Core, and Visual Studio 2017 or Visual Studio Code. Packt Publishing, 2nd Edition. ISBN: 978-1787129559.

    ·         Dino Esposito: Programming ASP.NET Core, Microsoft Press. ISBN 978-1509304417.

    ·         Mark Pollack, Oliver Gierke, Thomas Risberg, Jon Brisbin, Michael Hunger: Spring Data: Modern Data Access for Enterprise Java. O'Reilly Media, 1st Edition. ISBN-13: 978-1449323950.

    ·         Subbu Allamaraju: RESTful Web Services Cookbook: Solutions for Improving Scalability and Simplicity. Yahoo Press, 1st Edition. ISBN: 978-0596801687.

    14. Required learning hours and assignment

    Contact class

    40

    Preparing for lectures

    6

    Preparing homework

    20

    Preparing for mid-term test

    12

    Processing additional materials at home

    10

    Preparing for the final exam

    32

    Sum

    120

    15. Syllabus prepared by

    Name:

    Position:

    Department:

    Dr. Ákos DUDÁS

    associate professor

    Dept. of Automation and Applied Informatics

    Ferenc KOVÁCS

    assistant lecturer

    Dept. of Automation and Applied Informatics

    Zolán BENEDEK

    assistant lecturer

    Dept. of Automation and Applied Informatics

    Gábor IMRE

    assistant lecturer

    Dept. of Automation and Applied Informatics

    Dr. László LENGYEL

    associate professor

    Dept. of Automation and Applied Informatics