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. február 28.

    Budapest University of Technology and Economics
    Faculty of Electrical Engineering and Informatics
    Course ID Semester Assessment Credit Tantárgyfélév
    VIAUAC15 5 2/2/0/v 5  
    3. Course coordinator and department Dr. Kovács Tibor,
    Web page of the course https://www.aut.bme.hu/Course/adatvezerelt
    4. Instructors

    Name:

    Postition:

    Department:

    István ALBERT

    assistant lecturer

    Dept. of Automation and Applied Informatics

    5. Required knowledge C# and SQL knowledge is required
    6. Pre-requisites
    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 architecture (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

     

    Work at home:
     

    Week

    Home work

    1

    Microsoft SQL Server database programming
    2 XML data in databases
    3Using ADO.NET
    4Implementing repository pattern and aggregation in MongoDB
    5 Code-first based Entity Framework
    6ASP.NET WebAPI, no CRUD operations

     

     

    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 mandatory homework assignments.  

     

    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

    56

    Preparing for lectures

    20

    Preparing homework

    15

    Preparing for mid-term test

    15

    Processing additional materials at home

    4

    Preparing for the final exam

    40

    Sum

    150

    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

    István ALBERT

     

    associate lecturer

    Dept. of Automation and Applied Informatics