Software Engineering

6.121.00.00 Software Engineering
Qualification awarded: Bachelor in Software Engineering
Entry year: 2021
Mode of study: full
Program duration: 4 years
Institute: Institute of Computer Science and Information Technologies
Number of credits: 240 ECTS credits
Level of qualification according to the National Qualification Framework and the European Qualifications Framework: NQF Level 6 (First cycle of QF-EHEA / EQF Level 6)
Field(s) of study: Information technology
Specific admission requirements: None
Specific arrangements for recognition of prior learning: If previous level was obtained in another country, the nostrification is required, which is held by Lviv Polytechnic. Recognition mechanism of non-formal and informal education - none.
Qualification requirements and regulations, including graduation requirements: Full implementation of the curriculum and thesis defense.
Characteristics of the educational program: The program focuses on training in the field of software engineering. The emphasis on deep knowledge in a systematic and orderly approach to the development, implementation and maintenance of software through the use of engineering principles with respect to the software development process and the ability of its application in practice. Educational and vocational program has applied orientation and is aimed at engineering activities associated with all aspects of software production stages from initial stages of specification creation to maintenance after the system commissioning.
Gained competence: 1. Ability to demonstrate knowledge of engineering basics in software development, in particular the processes of software development life cycle, their models, software engineering standards; 2. Ability to demonstrate knowledge of methods for user requirements identification and analysis to determine the requirements for the software system; 3. Ability to demonstrate knowledge of the methods of modeling various aspects of the subject area for which the software is developed; 4. Ability to demonstrate knowledge of typical architectural styles and solutions for the software systems design and appropriate methods and tools for their implementation; 5. Ability to demonstrate knowledge of principles and methods of software testing and quality management basics; 6. Ability to demonstrate knowledge of principles, methods and tools of object-oriented software development paradigm; 7. Ability to demonstrate knowledge of fundamentals and methods of database development of different models; 8. Ability to demonstrate knowledge of principles of computer network organization, network protocols and technologies; 9. Ability to demonstrate knowledge of the basic principles of creating secure software code and services, mechanisms for information protection; 10. Ability to demonstrate knowledge of the principles of human-computer interaction and user interface design templates; 11. Ability to demonstrate knowledge of geometric modeling methods and computer graphics basic algorithms; 12. Ability to demonstrate knowledge and understanding of principles and roles in teamwork for software development and project management basics in software engineering; 13. Ability to demonstrate knowledge, understanding of the fundamentals of different programming paradigms; 14. Ability to demonstrate knowledge of data structure classification, processing algorithms and their computational complexity; 15. Ability to demonstrate knowledge of methods and technologies of artificial intelligence.
1. To apply knowledge and understanding to obtain and document the results of the main components of the life cycle of software development; 2. To apply knowledge of the principles of functioning and structure of computer systems for embedded, mobile and other specialized software development; 3. Knowledge and understanding for the analysis and specification of requirements, as well as their verification; 4. To apply knowledge to model various aspects of the subject area for which the software is developed; 5. To apply knowledge to develop software system architecture based on modern information technologies and software frameworks; 6. To apply knowledge for software testing and software quality management; 7. To develop software systems based on object-oriented paradigm with a possible combination of methods of other alternative programming paradigms; 8. To design databases, use data processing languages and develop applications for working with them; 9. To develop software for network, distributed and cloud computing; 10. To use cryptographic protocols and primitives in application software; 11. To apply user interface design templates for software development; 12. To apply methods of geometric modeling and implement visualization algorithms in applications for working with computer graphics; 13. To work effectively and organize work in the team of software developers; 14. To be able to analyze and substantiate economic decisions in the field of software engineering; 15. To use the knowledge of mathematics for the implementation of computing software; 16. To substantiate the use of data processing algorithms and carry out their effective software implementation; 17. To develop software that uses methods and technologies of artificial intelligence and machine learning; 18. To choose safe methods of work taking into account the basic principles of labor protection and safety of life.
1. Ability to communicate, including oral and written communication in Ukrainian and one of the foreign languages; 2. Ability to use a variety of methods, including information technologies, for effective communication at the professional and social levels.
Academic mobility: None, but mobility is encouraged and recognized in accordance with ECTS procedure
Work placement(s): An important aspect of training in software engineering is technology and undergraduate internships that take place at IT enterprises, especially department partners: Eleks, Sigma Software, Edvantis, SoftServe, Adva Soft.
Programme director: Ye.Levus (Yevheniia.V.Levus@lpnu.ua, 2582578)
Occupational profiles of graduates: Professional Profile – Software Project Manager Responsible for drafting based on the requirements, design solutions and work plans and their implementation. Manages the implementation of project agreements and monitors financial, time and technical resources of the project. Professional profile – Software Analyst Builds a conceptual model of the domain and on its basis determines system specification on the top level. Conducts coordination of requirements and determines the scope of the project on joint negotiations with the customer. Professional profile – Software System Architect Determines the architecture, set of components, their interfaces, and other characteristics of the system and the final software product. Represents design solutions in structural and behavioral notation. Defines technologies, methods and tools that are necessary for the implementation of design solutions. Professional Profile –Software Developer Implements design solutions in the form of program codes, documents and other output results in accordance with current standards. Professional Profile – Quality Assurance Engineer Performs verification process of final software in static (reviews, inspections, debugging of source code) and in dynamic by running set of test data for different ways of program execution and compares gained results with predetermined.
Access to further studies: Obtaining the second (master's) level
Other program features: Programme is implemented in Ukrainian. The peculiarities of the programme are deep training in embedded programming and the Internet of things, data engineering, computer graphics and multimedia.