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

    címtáras azonosítással

    vissza a tantárgylistához   nyomtatható verzió    

    Informatics 2

    A tantárgy neve magyarul / Name of the subject in Hungarian: Informatika 2

    Last updated: 2018. március 22.

    Budapest University of Technology and Economics
    Faculty of Electrical Engineering and Informatics
    Course ID Semester Assessment Credit Tantárgyfélév
    VIAUAB01 4 3/0/1/v 5  
    3. Course coordinator and department Dr. Csorba Kristóf,
    4. Instructors


    Dr. Dmitriy Dunaev, AUT 

    5. Required knowledge

    Good knowledge of the C++ programming language and object-oriented programming techniques (Basics of Programming 2)

    6. Pre-requisites
    (TargyEredmeny( "BMEVIAUAA01" , "jegy" , _ ) >= 2
    VAGY TargyEredmeny( "BMEVIAUAA00" , "jegy" , _ ) >= 2
    VAGY TargyEredmeny( "BMEVIAUA116" , "jegy" , _ ) >= 2
    ((TárgyEredmény("BMEVIAUAA00", "FELVETEL", AktualisFelev()) > 0
    VAGY TárgyEredmény("BMEVIAUAA01", "FELVETEL", AktualisFelev()) > 0 )
    ÉS (StudentTraining.Startingdate < Datum(2014, 8, 20)
    VAGY EgyenCsoportTagja("VILL régi tanterv")) ) )

    ÉS NEM ( TárgyEredmény( "BMEVIAUA203" , "jegy" , _ ) >= 2
    TárgyEredmény("BMEVIAUA203", "FELVETEL", AktualisFelev()) > 0)

    ÉS (Training.Code=("5N-A7") VAGY Training.Code=("5N-A7H") VAGY Training.Code=("5NAA7"))

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

    7. Objectives, learning outcomes and obtained knowledge

    This course is a basic BSc course based on the previous terms. The main goal is providing a comprehensive approach to the following areas: computer networking, database management, data processing, programming theory, and formal languages.


    Both theoretical and practical approaches are presented in order to help students in their research activities as electrical engineers. As a result, students bacome able to detect, analyze and manage problems that arise in network systems, database engines, and simple human-computer and computer-to-computer interfaces.

    8. Synopsis

    Database Management

    • General concepts and components of a database system. Data independence, architectural layers.
    • Entity, relational descriptions, binary and many-valued relations. Data storages, representation.
    • Relation, domain, attribute, key concepts. Integrity rules, operations on relations. Relational database.
    • Entity-Relationship diagrams. Enhanced ER-diagrams.
    • Database operations (insert, delete, update). Introduction to relational algebra. Relational database design by ER-to-Relational mapping
    • Introduction to SQL. Creating a table, and inserting, modifying, deleting data. Database search. Static and dynamic SQL. Data types, null. Queries in SQL; filters, expressions, operators. Grouping, sorting. Complex queries, embedded queries (join). DML and DDL statements.
    • Transactions and basics of transaction management. Data consistency.


    Computer Networks

    • General approach: protocol, network edge, network core. Access networks (DSL, cable, wireless, etc.) and physical media (coaxial, fiber, radio). Network topologies.
    • Packet switching vs. circuit switching. Delay, loss, throughput concepts. Internet and OSI protocol stack.
    • Application layer. Network applications: client-server and peer-to-peer. Web caching.
    • HTTP protocol overview: request/response messages, persistent/non-persistent, cookies, get/post. FTP protocol overview: connections, sample commands.
    • Electronic mail: SMTP, POP, IMAP protocols.
    • Domain naming system (DNS): root name servers, TLD servers, local DNS servers.
    • Transport layer: key functions. Multiplexing and demultiplexing. Main principles of reliable data transfer. UDP vs. TCP. Main principles of congestion control.
    • Network layer: key functions. Virtual circuits. Internet Protocol (IP): datagram format, MTU, fragmentation. IP addressing: subnets, DHCP, address spaces (class A-E). Network Address Translation (NAT). Internet Control Message Protocol (ICMP), IPv4 and IPv6.
    • Datalink layer: key functions and services. Error detection and correction: parity check, CRC. Multiple access protocol classes: channel partitioning, random access, taking turns. MAC address and ARP protocol.
    • Physical layer encodings: Manchester, Differential Manchester, NRZ, NRZ-I


    Formal Languages and State Machines


    • Introduction to automata theory. Basic concepts of formal languages.
    • Deterministic finite automaton (DFA). DFA minimization.
    • Non-deterministic finite automaton (NFA). NFA to DFA conversion.
    • Finite state machine (FSM) and regular languages. FSM transformations.
    • Non-regular languages.
    • General concepts and functions of a compiler. Lexical and syntactic parsers. High-level language elements (case study).
    9. Method of instruction

    Lectures and computer laboratories.

    10. Assessment

    In lecture term:

    • The continuity of learning is checked by placement tests at laboratories, which is a pass/fail check (10 minute written test). If a student fails the placement test, his attendance at the laboratory is null. The placement test cannot be retaken.
    • In one week after each laboratory exercise, the student should submit a laboratory report that requires the documentation of tasks and exercises, including system and algorithm designs, test cases, and theoretical background if needed. It should be submitted electronically at the course webpage. The student must always follow the directions of Laboratory Instructor (if any), or else his report will not be accepted.
    • The quality of learning is checked by a Midterm Test that will take place during the semester.


    The signature is given, if

    1)     The student is a regular attendant at the lectures and laboratories; the absence cannot exceed 30% as it is defined in the Code of Studies and Exams (CSE), Article 14, Point 3. Absence at lectures and laboratories is taken separately.

    2)     The student has completed 6 laboratory exercises out of 7, and all corresponding laboratory reports are accepted by the laboratory instructor.

    3)     The Midterm Test grade is at least "pass".


    The course is finished successfully (the credits are given), if

    1)     The signature is obtained.

    2)     The exam grade is at least “pass”.

    In this course, we want to encourage collaboration and the free interchange of ideas among students, and in particular the discussion of laboratory exercises. However, we do not allow plagiarism, which, as commonly defined, consists of passing off as one's own ideas, words, writings, etc., which belong to another. In accordance with this definition, you are committing plagiarism if you copy the work of another person and turn it in as your own, even if you should have the permission of that person. Therefore, a student who is unsure whether an action constitutes an offence, or who needs help in learning how to avoid offences (e.g., plagiarism, cheating) or about rules for group work/collaboration should seek guidance from the course instructor or academic advisor.

    11. Recaps

    Throughout the semester, there are computer laboratories; one of them can be retaken at the end of the lecture term. The unsatisfactory Midterm Test and Final Exam can be retaken in accordance with CSE (TVSZ).

    13. References, textbooks and resources

    Computer Networks:

    • Andrew S. Tanenbaum "Computer Networks", 2010.
    • James Kurose, Keith Ross „Computer Networking: A Top-Down Approach”, 2017

    Database Systems:

    • Jeff D. Ullman, Jennifer Widom "A first course in Database Systems", 2007
    • Hector Garcia-Molina, Jeff Ullman, Jennifer Widom "Database Systems: The Complete Book", 2014.
    • SQL for Nerds by Philip Greenspun, link:

    Formal Languages:


    • Alfred V. Aho, Ravi Sethi, et. al. "Compilers: principles, techniques, and tools", 2006, Chapters 1-4.
    • The Visual Automata Simulator is a tool for simulating various automata. Link:  
    • Michael Sipser "Introduction to the theory of computation", 2012. This textbook covers automata theory, computability theory, and complexity theory. It also contains exercises, problems and solutions.
    14. Required learning hours and assignment
    Kontakt óra56
    Félévközi készülés órákra24
    Felkészülés zárthelyire20
    Házi feladat elkészítése
    Kijelölt írásos tananyag elsajátítása
    15. Syllabus prepared by



    Academic rank


    Dr. István Vajk



    Dr. Márk Asztalos

    associate professor


    Dr. Dmitriy Dunaev

    senior lecturer