Informatics 2 (ENVIAUAC10)

Tárgy hivatalos adatlapja: https://portal.vik.bme.hu/kepzes/targyak/VIAUAC10/en

General Information

Prerequisites
Good knowledge of the C / C ++ programming language.

Required/suggested previous courses
The course can be attended by students who have completed the course in Basics of Programming II.

Synopsis and Objectives
This course is a basic BSc course based on previous terms. The main goal is to provide 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 to help students in their research activities as electrical engineers. As a result, students become able to detect,  analyze, and manage problems that arise in network systems, database engines,  and simple human-computer and computer-to-computer interfaces.

The curriculum of laboratories continuously follows the lectures.


Detailed Syllabus of the Course

1. Database Management

  • General concepts and components of a database system. Data independence, architectural layers. 
  • An entity, relational descriptions, binary and many-valued relationships. Data storage, representation. 
  • Database operations (insert, delete, update). Relation, domain, attribute, key concepts. Integrity rules, operations on relations. Relational database. 
  • The concept of functional dependency. 0, 1, 2, 3, Boyce-Codd normal forms, many-valued dependencies. 
  • 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.


2. Computer Networks 

  • Classification of computer networks; network topologies, structures, architectures.
  • Basic concepts. The OSI model and TCP/IP model layers.
  • Communication channel. Ideal and real transmission line.
  • Error detection and correction. Error detecting and error-correcting code. The CRC code. 
  • Wired and wireless communication. Point-to-point connections.
  • Channel coding. Some well-known codes (e.g., Manchester). Fundamental digital modulation methods.
  • Addressing modes. Connection lifecycle. Connection-oriented and connectionless communication.
  • Virtual networks (VPN). Forwarding nodes, routing, congestion problem.
  • Media protocols. CSMA/CD, IEEE 802.3 Ethernet, Token Bus, Token Ring, etc.
  • Analog and digital communications. Modems. 
  • TCP/IP protocols stack. Addressing. Basic concepts of routing. Static and dynamic routing algorithms.

 

3. Formal Languages and State Machines

  • Basic concepts of formal languages. BNF. Languages generated by the grammar. Classes, Chomsky classes.
  • Finite state machine (FSM) and linear language acceptor. FSM and regular languages. FSM transformations.
  • Context-free grammars. Derivation. The concept of LL(k) languages, LL(k) parser.
  • General concepts and functions of a compiler. Lexical and syntactic parsers. High-level language elements (case study).

 

Laboratories and dates in 2024:

  • Sep. 11: Database design: entity-relationship diagrams
  • Sep. 25: SQL language: DDL and DML, CT1
  • Oct. 09: SQL language: advanced queries to multiple tables
  • Oct. 30: Transaction management, problems of concurrent access, CT2
  • Nov. 13: Introduction to Wireshark and network monitoring. 
  • Nov. 27: Practical approach to formal languages. Regular expressions, CT3
  • Dec. 04: Midterm Test
  • Dec. 11: Retake of the Midterm Test (IL207, 10:15-12:00)

Place and time: IL207 (bldg. I, 2nd floor), 10:15-12:00 a.m. on Wednesdays


Education methods of the course
Lectures, laboratory exercises.

Requirements

In lecture term:

  • Placement Tests assess the preparedness for laboratory exercises, which is a pass/fail check. If a student fails the Placement Test, they cannot take part in the computer laboratory (in other words the attendance is null).
  • Three Control Tests assess the continuity of learning at labs. There is no Placement Test on the day of a Control Test.
  • 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 on the course webpage. The student must always follow the directions of the Laboratory Instructor (if any), or their Report will not be accepted. Please note that Laboratory Reports may not be submitted by e-mail or after the deadline for any reason!
  • The quality of learning is assessed by a Midterm Test that will take place at the end of the semester.
  • There is no Final Exam in this course.


The course is finished successfully, if

  • The student is a regular attendant at the lectures and laboratories; the absence cannot exceed 30% as defined in the Code of Studies and Exams (CSE), Article 14, Point 3. Absence at lectures and laboratories is taken separately.
  • The student has completed any 5 out of 6 laboratory exercises, and all corresponding Reports were accepted by the laboratory instructor.
  • The two best Control Tests should score at least 40% each.
  • The Midterm Test grade is at least a "pass" (at least 50% of the total score).

All of the above conditions must be fulfilled; otherwise, the term grade is unsatisfactory.

If all these conditions are fulfilled, the grade is calculated as follows:

  • The final score is a weighted average of a Midterm Test score (0.6), two best Control Tests average score (0.3), lab reports quality score (0.1). Conversion of [%] scores to the Final Grade is done according to the following rules:
  • 85%       - excellent (5)
  • 71-84%  - good (4)
  • 58-70%  - satisfactory (3)
  • 45-57%  - pass (2)
  • 0-44%    - failed (1)

The final score can be modified by the lecturer by +-10%. The lecturer can make this decision based on a student's performance in the lectures and in the labs based on the feedback of the lab instructor. Rounding grades to the nearest integer number will be done using the usual algebraic rules.

Honor Code

  • It is the responsibility of each student to complete all assignments according to the requirements set by the Instructor and to submit only work that is his or her own. Submitting others' assignments is a considerable academic sin; by doing that you are committing fraud. All assignments will be automatically and manually compared against each other.
  • All parties involved in plagiarism and cheating will be prosecuted no matter who copied from whom. You have to keep your code secure. An incident of this kind will be reported to the respective academic authority for measures to be taken.
  • The attendance register is circulated regularly at classes, and it is your responsibility to ensure that you sign it. You can sign a register in the first 5 minutes after the start of classes. It is an offense to sign a register on behalf of someone else, and anyone found doing so may be investigated for fraud.
  • A student who is unsure whether an action constitutes an offense, or who needs help in learning how to avoid offenses (e.g., plagiarism, cheating) or about rules for group work/collaboration should seek guidance from the course instructor or academic advisor.
  • The Code of Studies and Exams of BME can be found here.

In this course, we want to encourage collaboration and the free interchange of ideas among students, and in particular the discussion of laboratory exercises, assignments, etc. 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. Following 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. 

Missed Assignments Information

Laboratory classes cannot be retaken because only 5 out of 6 are required. The failed Midterm Test can be retaken once. There is no Final Exam in this course.

Textbooks and Weblinks

  • Andrew S. Tanenbaum "Computer Networks".
  • Jeff D. Ullman, Jennifer Widom "A first course in Database Systems".
  • Hector Garcia-Molina, Jeff Ullman, Jennifer Widom "Database Systems: The Complete Book".
  • Web: SQL for Nerds by Philip Greenspun, link.
  • Alfred V. Aho, Ravi Sethi, et. al. "Compilers: principles, techniques, and tools", Chapters 1-4.
  • The Visual Automata Simulator is a tool for simulating various automata. It also makes nice drawings of them. The JFLAP applet is a similar kind of tool with more sophisticated capabilities.
  • Introduction to Theory of Computation by Michael Sipser. This textbook covers automata theory, computability theory, and complexity theory. It also contains exercises, problems, and solutions.

Hírek   A tárgy híreinek olvasása RSS-en keresztül

Nincsenek aktuális hírek a tárgyhoz. Ha a később megjelenő hírekről azonnal értesülni szeretne, iratkozzon fel az RSS csatornánkra.

Régebbi hírek »

Jegyzetek

A tárgyhoz nincs feltöltve jegyzet, vagy az csak belépett illetve a tárgyat felvett hallgatók számára érhető el.