Course title, code: Basic programming skills, GAJABAN-PROGRAMA-1

Name and type of the study programme: Computer science engineering, BSc
Curriculum: 2023
Number of classes per week (lectures+seminars+labs): 2+0+2
Credits: 4
Theory: 50 %
Practice: 50 %
Recommended semester: 2
Study mode: full-time
Prerequisites: Informatics for Engineers
Evaluation type: term mark
Course category: compulsory
Language: english
Responsible instructor: - nincs
Responsible department: Department of Information Technologies
Instructor(s): Dr. Rajkó Árpád Róbert
Course objectives:
This 13-week course provides a foundational understanding of programming concepts and their implementation using the Python language. Students will learn fundamental programming constructs, data structures, and problem-solving techniques. The course emphasizes hands-on practice and developing practical programming skills.
Course content - lectures:

Week 1-2: Introduction to Programming & Python Fundamentals • What is programming? • Why Python? • Setting up the programming environment (installing Python and an IDE). • Basic syntax: variables, data types (integers, floats, strings, booleans), operators. • Input/Output: getting user input and displaying output. Week 3-4: Control Flow • Conditional statements: if, elif, else. • Loops: for and while loops, break and continue statements. • Nested loops. • Practical examples: simple games, number guessing. Week 5-6: Functions • Defining and calling functions. • Function arguments and parameters. • Return values. • Scope and local/global variables. • Recursion (optional). Week 7-8: Data Structures • Lists: creating, accessing, modifying, manipulating lists (append, insert, remove, slicing). • Tuples: immutability, unpacking. • Dictionaries: key-value pairs, accessing and modifying dictionary elements. Week 9-10: Working with Strings • String manipulation: slicing, concatenation, methods (split, join, find, replace). • String formatting. • Regular expressions (basic introduction). Week 11-12: Introduction to Object-Oriented Programming (OOP) • Classes and objects: defining classes, creating objects (instances). • Attributes and methods. • Basic OOP concepts: encapsulation, inheritance, polymorphism (brief overview). Week 13: Project/Review • Final project: students work on a small programming project that integrates concepts learned throughout the course. • Course review and Q&A session.


Course content - labs:

• Understand basic programming concepts: variables, data types, operators, control flow (if-else, loops), functions. • Learn to work with fundamental data structures: lists, tuples, dictionaries. • Gain proficiency in writing, debugging, and testing Python code. • Develop problem-solving and algorithmic thinking skills. • Apply Python to solve simple real-world problems. • Understand the importance of code readability, maintainability, and best practices.

Acquired competences:
Knowledge:


Skills:


Attitude:


Autonomy and responsibilities:


Additional professional competences:


Requirements, evaluation, grading:
Mid-term study requirements:
Evaluation: 1,if%∈[0,30); 2,if%∈[30,50); 3,if%∈[50,65); 4,if%∈[65,80); 5,if%∈[80,100] • Homework: 25% • Final project: 25% • Participation in practices and tests: 30% • Participation and activity in lectures: 20%
Exam requirements:

Study aids, laboratory background:

The recommended literature, the programs written in the exercises, the help file of the development environment. During the exercises, each student is provided with separate, modern computer access. Internet resources are available in the computer service room reserved for students.

Compulsory readings:

[1] Python documentation: https://docs.python.org/ [2] Eric Matthes: Python Crash Course: A Hands-On, Project-Based Introduction to Programming, 3rd Edition, No Starch Press (2023) ISBN-10: 1718502702, ISBN-13: 978-1718502703 [3] Al Sweigart: Automate the Boring Stuff with Python, 3rd Edition, No Starch Press (2025) ISBN-10: 1718503407, ISBN-13: 978-1718503403

Recommended readings:

[4] Ramses van Zon: Introduction to Programming (SCMP142), (2024) All lecture slides: https://education.scinet.utoronto.ca/mod/resource/view.php?id=3486 [5] Marty Stepp, Moshe Goldstein: Introduction to Programming with Python (2016) Slides: https://sites.cs.ucsb.edu/~tyang/class/240a16w/slides/pythonQuick.pdf