K-INFO
HU
EN
Login

Basics of Programming 1.

A programozás alapjai 1.
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 1.
Basics of Programming 1.
Subject code BMEVIEEA100
Subject type
Training Level
Course types and hours (weekly/semester)
Course type lecture tutorial laboratory
hours (weekly) 2 2 0
type (linked/independent) derived course
Assessment type vizsga
Credits 5
Subject coordinator
Dr. Czirkos Zoltán
position: adjunktus
Responsible department
Elektronikus Eszközök Tanszéke
Faculty Villamosmérnöki és Informatikai Kar
Subject website
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
First week Lecture: Introduction. Concepts of Programming. Expressions and variables, the type concept. C Language Reference. Simple expressions in the program.

Practice: Everyday algorithms. Create a flowchart-like diagram of well known algorithms (e.g., written addition, subtraction, prime factorisation using pen and paper).

Second week

Lecture: Elements of the Source Code. Algorithm: definition and description. Cycle (loop), branching, sequence. Combination of these. Complex control structures, complex expressions. Computer hardware overview.

Practice: Exercise algorithms with a deck of cards as an example. Find a given card. Which is the lowest/highest? How can I sort?

Third week

Lecture: Pseudo code / C versions of simple algorithms. Theorems of Summation and Search of extremum. Simple types. Character and logical types. Arrays.

Practice: Algorithms in C language description. Examples from Number theory. Quadratic equation. Numerical methods, e.g. calculation of pi using loops. Several versions of 'is this a prime number'. Palindrome numbers.

4th week

Lecture: Built-in types in details. Finite numerical representation. Integer and floating-point representation of numbers, limits. Concept of functions and their use.

Practice: Exercise tasks that can be solved using arrays. Calendar, leap years. The sieve of Eratosthenes. ATM.

5th week

Lecture: Operators: precedence, evaluation, side effects. Structures.

Practice: Complex problems, decomposition. Functions, parameters and return values. Writing simple math-like functions. My toupper, Caesar encryption.

6th week

Lecture: Enumerated type. State machine. Pointers. Strings.

Practice: Structures. 3D vector structure. Operations and functions. More complex data types: array of structure, array in structure.

7th week

Lecture: Communication between the program and the outside world. Pre-processing. Program Segmentation. Writing maintainable programs. Role of const.

Practice: Using Arrays and functions, arrays as function parameters. String algorithms. Text reverser, palindrome. String as function parameter. Array size and the length of a string. Risk of indexing out of range.

8th week

Lecture: Array algorithms. Searches. Sorts.

Practice: State machine design examples, details of implementation. TH counter, comment filter.

9th week

Lecture: Dynamic memory management. Dynamic arrays. Dynamic encoding of a string. Systematic discussion of memory handling.

Practice: Sorting an array. Median search. N smallest items. Interval of identical elements. Sorting keys. Cards: array of structures, sorting by suit or by rank.

10th week

Lecture: Dynamic data structures: linked lists. List algorithms. Traversal, deletion, insertion. Application of list structures: LIFO, FIFO.

Practice: Coding a complete "class": Set. Work with Dynamic arrays. Storing the size, search, resize. Work with pointers to structures. 11th week

Lecture: Recursion and dynamic data structures. Trees, using binary trees. Search trees, decoding trees. Traversing trees.

Practice: Choosing a Data Structure. Lists; re-linking the elements.

12th week

Lecture: function pointers. Designing a function plotting program. Union, bit-field.

Practice: Recursive functions. Tree algorithms. Nodes, levels of a tree (depth), leaves. Analysis of symmetrical trees.

13th week

Lecture: More data structures. Design of large programs. Functional decomposition of a complex project.

Practice: function pointers. Numerical integration.

14th week

Spare lecture.

Practice: practice for the exam.

 

The main objective of the course is to provide students with appropriate skills in computerized problem-solving and basic use of tools that can be effectively applied during their further studies. A further goal of the course is to teach writing portable programs. Learning a high-level programming language the C language allows students to reach these goals in practice. The classroom practice follows the syllabus of lectures; helps better understand the topics of the lecture through detailed examination of the algorithms.  

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

There are two lectures and two classroom practices every week. This subject is strongly related to Software Laboratory 1.  

Tanulástámogató anyagok

Online források
[1]      B.W. Kernighan - D.M. Ritchie:            The C Programming Language.           Prentice Hall, 1988. 2nd edition; [2]      N.Wirth:           Algorithms + Data Structures = Programs;           Prentice Hall, 1976. 1st edition Further reading: any book dealing with algorithms and/or C programming can be useful.  

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)
-
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)
-
General rules
Requirements: It is compulsory to visit the lectures and practices. The presence is checked every time. The absence of a student at the lectures and at the classroom practices must be less than 30%. Reaching this limit in either of the lecture or practice results in denial of the signature. (see Code of Studies and Exams) a. During the semester: There are two lessons of lecture and two lessons of classroom practice each week. There is one mid-semester (major) test. Five times during the semester there are small tests on the classroom practice. Beside the prescribed presence rate, there are two requirements to obtain a signature at the end of the semester: First a successfully written major test (pass or better). The second requirement is that the sum of the scores of the three best small tests should exceed the 40% of the total score. Signatures obtained in this subject, which are not older than two years are accepted. Students with excellent major and small tests get offered an exam mark based on their mid-semester results. b. The exam period: The subject ends in a written examination. A signature is required to start the exam. c. Pre-exam: Students with sufficiently high major test score can participate in the pre-exam, which is held during the repeat period   Additional possibilities: There is a repetition of the mid-semester test, by the end of the semester. There is another repetition of the mid-semester test, by the end of the repeat period. There is no way for any further repeated test beyond the repeat period. There is no repeat possibility for the presence and for the small tests.  
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
-
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.