General information
- Subject code
- İF-40173y
- Credits
- 6
- Student workload
- 180
- Semester
- Autumn semester
- Academic year
- 2025-2026
- Subject type
- Mandatory
- Form of education
- Full-time
- Language of instruction
- Azerbaijani
- In-class hours
- a) 30 saat - mühazirə b) 30 saat - laboratoriya
- Out-of-class hours
- a) 72 saat - laboratoriya işi b) 48 saat - hazırlıq
About the subject
Fundamentals of programming – 2 subjects teach the theoretical and practical foundations of object-oriented programming. within the subject, the python programming language, principles of object-oriented programming, development of graphical user interfaces using pyqt5, management of widgets and events, design of databases, application of mysql and SQL queries, client-server technologies, integration with databases, as well as development of python applications in the form of an executable program (exe) are taught. the subject helps students to develop professional skills in developing modern software, designing and programming desktop applications that work with databases.
Teaching methods
- lecture
- laboratory work
- interactive discussion
- presentations
- project-based learning
Course learning outcomes (CLO)
CLO 1: He should know the subject of informatics science, its components and operations on numbers in various number systems.
CLO 2: He should know the basic working principles of computers and characteristics of data representation in memory.
CLO 3: The main elements of algorithmization; should know programming tools for linear, branching and cyclic algorithms.
CLO 4: Must be able to design linear programs, branch and loop processes.
CLO 5: He should know the features of working with static and dynamic arrays and the organization of working with files.
CLO 6: He should know how to solve various problems using auxiliary functions, standard libraries, dynamic variables and should be able to solve problems related to queues, stacks, decks, lists.
Topic plan
- 1.Modern programming languages and their brief comparative analysisLecture
The main features of modern programming languages, areas of use and development principles are studied in the subject. the syntax, productivity and applicability of python, java, c++, c#, javascript and other widely used languages are compared. factors affecting the selection of a suitable programming language for a specific project are also investigated.
- 2.Yeni nəsil OTN şəbəkələrinin perspektivləri və inkişaf istiqamətiavtonom və özünü i̇darə edən optik şəbəkələr (zero-touch / autonomous otn) və generativ ai/llm tətbiqləriLecture
Yeni nəsil OTN şəbəkələrinin inkişaf istiqamətləri, avtonom və özünüidarə edən optik şəbəkələr (zero-touch/autonomous otn), generativ si̇, böyük dil modelləri (llm) və intellektual şəbəkə idarəetməsi araşdırılır.
- 3.Pyqt5 designer. downloading and basic modulesLecture
The topic describes how to set up, install, and use the pyqt5 designer. basic window, button, text field, menu and other interface elements are explained for creating graphical user interface in pyqt5 environment. also, the main modules of pyqt5 and their application areas are examined.
- 4.Using forms created in pyqt5-designer in pythonLecture
In the topic, the use of interface forms created in the pyqt5 designer in the python program is studied.
- 5.Basic widgets of pyqt5. signals and slotsLecture
The main widgets used in the pyqt5 library, their functions and areas of application are studied in the topic. it explains how to create and manage buttons, labels, text fields, lists, tables, and other interface elements. also, the programming of events that respond to user operations through the mechanism of signals and slots is investigated.
- 6.Basic principles of object-oriented programmingLecture
Encapsulation, inheritance, polymorphism and abstraction, which are the main principles of object-oriented programming, are studied in the subject. the impact of these principles on building software code into a more structured, readable, and reusable form is explained.
- 7.The main widgets of pyqt5. their methods and functionsLecture
In this section, the main widgets widely used in the pyqt5 library and their role in interface construction are studied. it also explores changing the properties of widgets, reading data, and managing them according to user actions.
- 8.Pyqt5. qtablewidgetLecture
The topic explores the structure and purpose of the qtablewidget widget for presenting tabular data in pyqt5. it explains how to create rows and columns, fill cells, give titles, and manage table elements. it also explores adding, editing, and processing data according to user operations through qtablewidget.
- 9.Pyqt5. qtablewidgetLecture
The topic explores the structure and purpose of the qtablewidget widget for presenting tabular data in pyqt5. it explains how to create rows and columns, fill cells, give titles, and manage table elements. it also explores adding, editing, and processing data according to user operations through qtablewidget.
- 10.Azərbaycanda müstəqil dövlətçilik ənənələrinin bərpa edilməsi (ix-xii əsrin əvvəli)Seminar
Azərbaycanda müstəqil dövlətçilik ənənələrinin bərpa edilməsi mövzusu ix–xi əsrlərdə hakimiyyətə gələn yerli sülalələrin siyasi fəaliyyətini və dövlət quruculuğu prosesini əhatə edir. bu dövrdə yerli hökmdarların xarici işğalçılara qarşı apardıqları mübarizə və ölkənin müstəqilliyinin qorunması istiqamətində gördükləri tədbirlər araşdırılır. mövzuda dövlət idarəçiliyinin inkişafı, inzibati quruluşun möhkəmlənməsi və hakimiyyətin təşkili məsələləri təhlil edilir. eyni zamanda, dövrün sosial, iqtisadi, siyasi və mədəni həyatı, eləcə də dövlətçiliyin inkişafına təsir göstərən amillər öyrənilir. bu mövzunun mənimsənilməsi azərbaycanın orta əsrlərdə müstəqil dövlətçilik ənənələrinin bərpası və inkişaf xüsusiyyətlərini anlamaq baxımından mühüm əhəmiyyət daşıyır.
- • ftn2: azərbaycan tarixi üzrə bəzi mübahisəli məsələlərə aydınlıq gətirilir.
- • ftn3: tələbələrin bu və ya digər məsələlərlə bağlı obyektiv mövqeyini formalaşmasına nail olunur.
- • ftn4: tələbələrin ən azından minimum məlumat əldə etməsi, mövzular ətrafında öz fikrinin formalaşmasının səviyyəsi yoxlanılır.
- • ftn5: tələbələrə qədim tariximizin müasir dövrlə uzlaşdırılması vərdişləri aşılanır.
- • ftn1: azərbaycan tarixinin dövrlərinin əsas mahiyyəti izah edilir.
- 11.Basic commands of the SQL query languageLecture
In the subject, the basic commands of the SQL query language for working with the database are studied. the purpose and usage of select, insert, update, delete, create, alter, and DROP commands are explained
- 12.Aggregate functions in SQLLecture
Aggregate functions used for summarizing data in SQL are studied in the topic. explains the definition and application of count, sum, avg, min, and MAX functions in queries. it also examines the use of aggregate functions in conjunction with the GROUP BY and HAVING operators.
- 13.Client-server technology. connecting to the server and executing SQL queriesLecture
In the subject, the basic principles of client-server technology and the mechanism of connecting programs to the database server are studied. connection settings, user information and secure connection rules for connecting to the server are explained. it also examines the sending and execution of SQL queries after the connection is established, and the processing of the results in the application
- 14.Gui programming in python. tkinter moduleLecture
In the topic, the principles of creating a graphical user interface in python are studied. basic window, button, label, text field and other interface elements of tkinter module are explained. also, simple event programming that responds to user operations is explored.
- 15.Creating an exe-file from python programsLecture
In the topic, the methods of converting programs developed in python into independent executable exe-file are studied. explains how to package software files and include additional libraries and resources using pyinstaller and similar tools. also, the rules for checking, running and presenting the created exe-file to the user are examined.
Reading list
No reading list has been added.
Assessment
| Form | Description | Score | Related CLO |
|---|---|---|---|
| Cari qiymətləndirmə | Cari qiymətləndirmə - fənn üzrə tələbənin semestr müddətində fəaliyyətinin qiymətləndirilməsi olmaqla, mühazirə və məşğələ (laboratoriya) dərs materiallarının mənimsənilmə səviyyəsini qiymətləndirilir. | 30 bal | FTN 1-6 |
| Davamiyyət | Tələbə fənn üzrə dərslərin 25%-dən çoxunda iştirak etmədiyi halda imtahana buraxılmır. | 10 bal | - |
| Tələbənin sərbəst işi | Tələbəyə fənn üzrə semestr ərzində 1 sərbəst işin (zəruri hallarda sərbəst işlərin sayı artırıla bilər) yerinə yetirilməsi tapşırığı verilir. | 10 bal | FTN-- |
| İmtahan | İmtahan şifahi, yazılı, yazılı-elektron, test üsulu ilə keçirilir | 50 bal | FTN 1-6 |