Basics of Programming 1.
A tantárgyleírás hatályossága
| 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) |
|
||||||||||||
| Assessment type | vizsga | ||||||||||||
| Credits | 5 | ||||||||||||
| Subject coordinator |
Dr. Czirkos Zoltán
position: adjunktus
contact:
czirkos-EZT-TOROLD-KI@eet.bme.hu
|
||||||||||||
| 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
Practice: Everyday algorithms. Create a flowchart-like diagram of well known algorithms (e.g., written addition, subtraction, prime factorisation using pen and paper).
Second weekLecture: 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 weekLecture: 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 weekLecture: 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 weekLecture: 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 weekLecture: 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 weekLecture: 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 weekLecture: 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.
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
Tanulástámogató anyagok
Online források
Recommended preliminary knowledge for completing the subject
General rules
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
Curriculum placement
No curriculum placements recorded for this subject version.