Subject » BMEVIAUAA01
Basics of Programming 2
A programozás alapjai 2
A tantárgyleírás hatályossága
Hatályosság kezdete:
2026. March 21.
Hatályosság vége:
—
| Subject name (Hungarian, English) |
A programozás alapjai 2
Basics of Programming 2
|
||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Subject code | BMEVIAUAA01 | ||||||||||||
| Subject type | — | ||||||||||||
| Training Level | — | ||||||||||||
| Course types and hours (weekly/semester) |
|
||||||||||||
| Assessment type | félévközi érdemjegy | ||||||||||||
| Credits | 6 | ||||||||||||
| Subject coordinator |
DR. Forstner Bertalan
position: egyetemi docens
contact:
forstner.bertalan@vik.bme.hu
|
||||||||||||
| Responsible department |
Automatizálási és Alkalmazott Informatikai Tanszék
|
||||||||||||
| Faculty | Villamosmérnöki és Informatikai Kar | ||||||||||||
| Subject website | https://www.aut.bme.hu/Course/bop2 | ||||||||||||
| Primary curriculum type | — | ||||||||||||
| Direct prerequisites – Strong prerequisite | none | ||||||||||||
| Direct prerequisites – Weak prerequisite | none | ||||||||||||
| Direct prerequisites – Parallel prerequisite | none | ||||||||||||
| Direct prerequisites – Milestone prerequisite | none | ||||||||||||
| Direct prerequisites – Exclusion | none |
Objectives
Programme
1. C++ as a Revised Version of C
- Recapitulation of curriculum provided in the previous term. Reference type.
- Function name overload. Default function parameters. Inline functions instead of macros. Constants and constant parameters.
2. Fundamentals of the Object-Oriented Programming in C++
- Principles of object-oriented programming, the concept of the object. Concepts of class, encapsulation, visibility, and information hiding.
- Constructors and destructors. Dynamic memory management: new, new[], delete, delete[]. Maintaining dynamic attributes.
- Attribute initialization. Constants and static members. Mitigation of visibility: friend mechanism. Namespaces. Introduction into C++ I/O.
- Concept of operator overloading. Realizing operator overloading with local operations and global operations. Restrictions.
- The role of the inheritance in object-oriented programming. Inheritance, derived class, base class. Influence of inheritance on visibility. Constructors and inheritance.
- Replacement possibilities. Virtual functions, abstract classes. Restricting inheritance. Virtual destructors.
- Multiple inheritance, virtual base classes. Automatic tasks of constructors and destructors.
- Type conversion. C++ conversion operators. Casting.
- Exception handling.
- The role of the generic data structures. Function and class templates.
- Standard Template Library (STL): containers and algorithms. Complexity considerations.
This course, as a basic BSc course based on the previous term, continues the exposition of methods and tools of computational problems. The main goal is an introduction of object-oriented programming. Based on the C programming language skills, the object-oriented techniques are introduced with the help of C++ programming language. The curriculum of computer laboratories continuously follows the lectures
Learning outcomes
Ez a tantárgy a KKK rendeletben meghatározott, következő kompetenciák fejlesztését szolgálja:
Knowledge
No learning outcomes recorded.
Skills
No learning outcomes recorded.
Attitudes
No learning outcomes recorded.
Autonomy and responsibility
No learning outcomes recorded.
Oktatási módszertan
Lectures, computer laboratories.
Tanulástámogató anyagok
Online források
Texbooks and Weblinks; Стивен Прата "Язык программирования С++. Лекции и упражнения", 6 издание, 2015.Bjarne Stroustrup "The C++ Programming Language", Addison-Wesley, 1997 (3rd edition), 2013 (4th edition). Available in many languages.Scott Meyers "Effective C++", Addison-Wesley, 1998 (2nd edition), 2005 (3rd edition). In English.Nicolai M. Josuttis "The C++ Standard Library - A Tutorial and Reference", Addison-Wesley, 1999. The book is available in the following languages: English, русский, 조선말, čeština, 日本の, polski, 中文.Tóth Bertalan "Programozzunk C++ nyelven", ComputerBooks, 2003. In Hungarian.Programming problems with solutions: http://www.aut.bme.hu/cpppeldatar. In Hungarian.C and C++ programming resources: http://www.cprogramming.com/. In English.
Recommended preliminary knowledge for completing the subject
Knowledge type competencies
(azon előzetes ismeretek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
C programming language
Skill type competencies
(azon előzetes képességek és készségek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
nincs
Recommended (non-compulsory) preliminary competencies
(azon ajánlott (nem kötelező) előzetesen megszerzendő kompetenciák összessége, amelyek jelentősen hozzájárulnak a tantárgy eredményes teljesítéséhez)
C programming language
General rules
Requirements:
In lecture term:
The continuity of learning is checked by Entrance Tests at computer laboratories, which is a pass/fail check. If a student fails the Entrance Test, he cannot take part in the computer laboratory (in other words his attendance is null).The quality of learning is checked by 5 Control Tests (max. 10 points each) at seminars. There is no Entrance Test on the first computer laboratory.Two in-class Midterm Tests will take place during the semester.The student should submit a Project Assignment that requires the application of system and algorithm design, testing, and documentation skills. It should be submitted electronically at the course webpage. The student must always follow the directions of computer lab Instructor and use the file names, formats, etc. specified in the assignment (if any), or else his/her submission will not be accepted. Please note that Project Assignment may not be submitted by e-mail for any reason! The course is finished successfully, if
the student is a regular attendant at the lectures, and computer 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 computer laboratories is taken separately.the three best Control Tests should score at least 40% each; the average sum of two Midterm Test percental results should be at least 50% the Project Assignment is prepared based on the specification, and it is personally accepted by computer lab instructor. Furthermore,the full documentation is prepared, andthe software is approved by computer lab Instructor at personal defense.
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 average of the Control Tests is the average of the three best Control Tests. If anybody has less than three Control Tests, then the not written tests are considered with 0 points.The final grade is the weighted average of the Control Tests and the Midterm Test. The Midterm Test has doubled weight.
The grade, calculated based on these rules, can be modified by a computer lab instructor with +/-0.5. An instructor can make this decision based on a student's performance at the laboratories and the quality of the submitted Final Project. Rounding grade to the nearest integer number will be done using usual algebraic rules.
Additional possibilities:
The unsatisfactory Midterm Test can be substituted only one occasion. Throughout the semester there are 5 Control Tests and 13 Entrance Tests (some of them can be cancelled), none of these tests can be retaken. The Project Assignment can be substituted till the end of the replacement week (12.00 a.m. on the lecture day of the replacement week). In this case the student must pay extra processing fee to the University. Please note that only such Projects can be resubmitted, which were not accepted because of the operational failure or documentation shortcomings.
Assessment methods
In-term assessments
No detailed assessments provided.
Weight of in-term assessments
No weights provided.
Exam-period assessments
No detailed assessments provided.
Weight of exam elements
No weights provided.
Grade calculation
No grade thresholds provided.
Attendance requirements
No attendance requirements provided.
Rules for retake and resubmission
Not provided.
Short description
Not provided.
Detailed description
Not provided.
Recommended courses
vihia106 Basics of Programming 1.
Workload to complete the subject
No workload breakdown provided.
Validity of subject requirements
Requirements valid from:
—
Requirements valid until:
—
Curriculum placement
No curriculum placements recorded for this subject version.