Lenght of studies: 4 years
Number of ECTS: 242 ECTS
Undergratuate academic program in Softwear Engineering has the following objectives:
- to enable students to develop software systems of professional quality,
- to teach students to respect commercial requests of the software industry,
- to teach students to develop innovative and creative approaches in software development.
General objectives of the program are:
- to develop skills and understanding of theory necessary for graduate students to be able to work in the area of computing,
- to enable students for individual learning,
- to develop the students’ ability for critical evaluation, communication skills, as well as skills of organization management and self-management,
- to produce a graduate students with knowledge and skills, as well as abilities to solve problems both individually, as well as in teams,
- to provide opportunities for students to develop skills of transfer and improvement of specific knowledge connected to specific job positions.
By completion of the study program, students acquire general and subject-specific competences.
А. General knowledge and competences
A successul student is able to:
- Explain, research and apply techniques and methods of solving a wide range of problems in computing
- Research and apply tools and techniques for project management
- Analyze the needs of users and design adequate software solutions in one or more applicable domains by using methods of software engineerings which integrate ethical, social, legal and economic aspects
- Analyse social, ethical and legal issues relevant for software development
B. Specific knowledge and skills
A successful students will be able to:
- design, apply and evaluate the work of a computer system, process or programme in order to satisfy the request
- effectively work in a team to complete common jobs,
- understand professional, ethical, legal, security and social issues and responsibilities
- effectively comminicate with different audiences,
- analyze local and global consequences of computers to individuals, organization and the society
- recognize te needs and abilities for continuous professional development
- use existing techniques, skills and tools necessary for using computers in practice
- use and apply existing technical concepts and apply basic IT
- identify and analyze the needs of users and their consideration when designing, creating, evaluation and administration of systems based on computers,
- effectively integrate IT based solutions in user environments,
- understand best practice and standards, as well as their application
- participate in the creation of effective project plan
C. Thinking skills
A successful students will be able to:
- thoroughly and impartially research complex situations
- locate, research and integrate information from different sources,
- research ideas, methods and systems
- analyze and solve problems
- align conflicting project objectives, find acceptable compromise with regard to limitations in expenses, time, knowledge, existing systems and organization
D. Other skills regarding employability and personal growth
A successful student will be able to:
- effectively communicate with clients, users and colleagues in development
- learn and work individually, as well as in teams
- work in compliance with ethical and legal principles applicable for work in computing
- plan, execute, manage and report when working on projects,
- establish personal objectives relevant for future education and long-term career planning
- understand and respect the importance of negotiation, efficient work habits, leadership, good communication with interested parties in software development
Sem. | NO. | Undergraduate program SOFTWARE ENGINEERING |
ECTS | L | PR | LB | UFL |
1
|
1 | CS101 Introduction to Object-Oriented Programming | 10 | 3 | 1 | 3 | 0 |
2 | CS220 Computer Architecture | 8 | 2 | 2 | 1 | 0 | |
3 | MA101 Calculus 1 | 8 | 3 | 2 | 0 | 0 | |
4 | NT111 English 1 | 4 | 3 | 0 | 0 | 0 | |
2
|
5 | CS102 Objects and Data Abstraction | 10 | 3 | 1 | 3 | 0 |
6 | CS323 C/C++ Programming Language | 8 | 3 | 1 | 2 | 0 | |
7 | CS115 Discrete Structures | 8 | 3 | 2 | 0 | 0 | |
8 | NT112 English 2 | 4 | 3 | 0 | 0 | 0 | |
3
|
9 | CS103 Algorithms and Data Structures | 8 | 3 | 1 | 2 | 0 |
10 | SE201 Introduction to Software Engineering | 8 | 3 | 1 | 2 | 0 | |
11 | IT350 Databases | 8 | 3 | 0 | 3 | 0 | |
12 | NT213 English for IT | 4 | 3 | 0 | 0 | 0 | |
4
|
13 | IT255 Web Systems 1 | 8 | 3 | 1 | 2 | 0 |
14 | IT370 Human-Computer Interaction | 8 | 2 | 1 | 2 | 0 | |
15 | SE211 Software Construction | 8 | 2 | 1 | 2 | 0 | |
16 | MA202 Calculus 2 | 8 | 3 | 2 | 0 | 0 | |
5
|
17 | IT355 Web Systems 2 | 8 | 3 | 1 | 2 | 0 |
18 | SE321 Software Quality Assurance, Testing and Maintanance | 8 | 2 | 2 | 1 | 0 | |
19 | SE311 Software Design and Architecture | 8 | 2 | 1 | 2 | 0 | |
20 | SE322 Software Requirements Analysis | 6 | 2 | 2 | 0 | 0 | |
6
|
21 | SE325 Software Development Project Management | 8 | 3 | 2 | 0 | 0 |
22 | CS225 Operating Systems | 8 | 3 | 1 | 1 | 0 | |
23 | Elective Course 1 | 8 | 3 | 1 | 2 | 0 | |
24 | Elective Course 2 | 8 | 2 | 1 | 2 | 0 | |
7 |
25 | SE490 Internship (4 months) | 6 | 0 | |||
26 | Elective Course 3 | 8 | 3 | 1 | 2 | 0 | |
27 | IT390 Professional Ethics | 6 | 4 | 2 | 0 | 0 | |
28 | NT310 Professional Communications | 6 | 3 | 3 | 0 | 0 | |
8
|
29 | IT381 Information Assurance and Security | 8 | 3 | 1 | 2 | 0 |
30 | Elective Course 4 | 8 | 3 | 3 | 0 | 0 | |
31 | Elective Course 5 | 10 | 4 | 6 | 0 | 0 | |
32 | SE495 Undergaduate thesis | 8 | 0 | 0 | 0 | 0 | |
Elective Courses | |||||||
Elective Courses 1 and 2 | |||||||
6
|
23-24 | CS330 Mobile Applications Development | 8 | 3 | 1 | 2 | 0 |
23-24 | CS324 Scripting Languages | 8 | 3 | 1 | 2 | 0 | |
23-24 | MA273 Probability and Statistics | 8 | 2 | 2 | 1 | 0 | |
23-24 | OM410 Business process management | 8 | 3 | 1 | 2 | 0 | |
Elective Course 3 | |||||||
7
|
26 | CS322 Programming in C# | 8 | 3 | 1 | 2 | 0 |
26 | MK110 Business ecomonics | 8 | 3 | 3 | 0 | 0 | |
Elective Course 4 | |||||||
8
|
30 | CS230 Distributed Systems | 8 | 3 | 3 | 0 | 0 |
30 | OM350 Entrepreneurship | 8 | 3 | 3 | 0 | 1 | |
Elective Course 5 | |||||||
8
|
31 | SE401 Team software development | 10 | 4 | 6 | 0 | 0 |
31 | IT320 Modern Technological Platforms | 10 | 4 | 6 | 0 | 0 |
CS101 Introduction to Object – Oriented Programming
Course objective:
Basic concepts of programming introduction in terms of object-oriented programming. The course introduces students to the concepts and methods of object-oriented and procedural programming. The student is trained to independently develop simple JAVA programs. CS101 programme is aligned with the recommendations of the IEEE Computer Society and ACM from 2013.
Course Outcome:
- Mastering the basic procedural programming methods in Java;
- Understanding and application of the object-oriented programming concept, used in JAVA.
- Understanding graphical JAVA elements as well as JAVA GUI components.
- The ability of making simple JAVA programs.
CS220 Computer Architecture
The course introduces students to the field of architecture of modern computer systems. The course covers topics such as the basic elements of digital electronics, sequential and parallel instruction execution, synchronization, pipeline, vector processing. SIMD and MIMD machines. Also, networks with multiple degrees and interconnection of computer networks are presented. It introduces the concept of routing and flow control in these networks. Concepts such as shared memory systems multicomputers, cache coherence and cache are analyzed. The aim of the course is to introduce students to modern computer architecture. Students will become familiar with the organization of a computer system, the related fields of computer science, performance analysis, performance measurement methods. Each student receives one project that needs to demonstrate its readiness to apply the acquired knowledge in a particular case in the field of computer architecture.
Course Outcome: The outcome of this course is to provide students with basic knowledge of computer architecture, which they combine with the knowledge of the course in Operating Systems, which is the basis for all areas of computer science.
MA101 Calculus 1
Course objective:
The adoption of various mathematical methods and techniques relating to the terms in the field of linear algebra, mathematical analysis whose knowledge is essential for software engineers.
Course Outcome:
By the end of the course students will be able to:
- Understand the notions from linear algebra, and know how to apply methods from linear algebra
- Understand the theoretical concept of a limit; use algebraic means to compute the values of limits and identify when they don’t exist.
- Understand the theoretical concept of the derivative; compute them using the standard rules of differentiation
NT111 English I
Course objective:
English 1 is an intermediate general English course. The course objective is to develop competences in the areas of grammar and vocabulary, as well as develop and practice the language skills of reading, listening, speaking, writing, translating and integration of all the skills.
Course Outcome:
Students are enabled to communicate in speaking in writing in English in real life situations, to comprehend texts adapted at intermediate level on topics from everyday life, as well as longer texts from newspapers and popular literature adapted at intermediate level, to take notes and write summaries of short texts, to write informal and formal letters to translate short professional texts from English to Serbian, as well as to combine various skills in everyday situations.
CS102 Objects and Data Abstraction
Course objective:
The course continues to introduce students to OO programming tasks from CS101. Students master complex concepts of OO modeling and programming, using the UML. Management and development of interactive graphical user interface (GUI) using exceptions and listeners. Mastering the basic data structures and multithreading application in OO programs. Also, students are introduced to the elements of the programme testing components.
Course Outcome:
- Ability to model complex problems using UML OO modeling methods.
- Using threads in development of interactive and advanced graphical user interface.
- Understanding and using of basic data structures.
- Development of complex JAVA OO applications.
CS323 C/C++ Programming Language
Course objective:
The aim of course is to help students become able to use all of the essential elements of C/C++, and to enable them to write or create complex C/C++ programs, ie. console applications (console), and to use development environment for C/C ++ programming. All important characteristics and features of the programming language are discussed and illustrated. Students will carefully study chosen series of examples, with complete explanations.
Course Outcome:
To enable students to create complex C/C++ applications, either OO or functional programs, and to use development environment for C/C++ programming.
NT112 English 2
Course objective:
English 2 is upper – intermediate English course – combination of general English and ESP. The course objective is to develop competences in the areas of grammar and vocabulary, as well as develop and practice the language skills of reading, listening, speaking, writing, translating and integration of all the skills.
Course Outcome:
Students are enabled to communicate in speaking in writing in English in real life situations, to comprehend texts adapted at intermediate level on topics from everyday life, as well as longer texts from newspapers and popular literature adapted at intermediate level, to take notes and write summaries of short texts, to write informal and formal letters to translate short professional texts from English to Serbian, as well as to combine various skills in everyday situations.
CS103 Algorithms and Data Structures
Course objective:
Introduction to the classic data structures such as lists, stacks, queues, sets, dictionaries, linked lists, binary trees, graphs. Includes operations of sorting, searching and analysis of algorithms
Course Outcome:
Students will understand the characteristics of the lists, stacks, queues, sets, dictionary trees and graphs in the targeted programming language (Java and C). Also, they will understand the advantages / disadvantages of a particular data structure for individual cases. As outcome, students will able to model the real world data using a data structure, and to choose an appropriate data structure for the analysis of behavior of groups of objects. They will also be able to explain concepts including ADT data encapsulation and hiding. Finally, students will be able to use OO analysis and programming techniques for application implementations.
SE201 Introduction to Software Engineering
Course objective:
The objective of the course is that students understand and master the methods and techniques of software professional development, by realization of following teacher materials: software processes, agile software development, engineering requirements, system modeling, design of software architecture, design and implementation of software, software testing and its evolution. A particular objective of the course is to train students to work independently when making software products.
Course Outcome:
The course train students to develop clear, concise and formalized requirements in accordance with the real needs of users, to apply design principles of distributed systems, to carry out the analysis and design of object-oriented systems using UML models and to apply techniques of quality software measurement.
IT350 Databases
Course objective:
The primary objective of the course is to familiarize students with the basic rules and principles used by different approaches to the databases design. For database creation and implementation, it is necessary to master the syntax and semantics of SQL commands for database elements definition (DDL), data manipulation (DML) and data presentation (SELECT). The focus of the course is also to teach students about existing standards for data access from different programing language (especially Java) like ODBC and JDBC. Considerable attention was given to the databases administration and security.
Course Outcome:
Creation and testing SQL queries for data presentation by using standard SELECT command, clauses GROUP BY and HAVING and by applying JOIN of two or more tables; commands for data definition like CREATE TABLE / views and use the INSERT, UPDATE, and DELETE; possibility for normal forms application, reducing redundancy and elimination of data base anomalies; conceptual data base designing by applying technic of E/R diagram (where entities integrity and referential integrity are specified); usage of CASE tools for creation of logical and physical database models; understanding and implementation of the concept of data security, backup and recovery and ODBC/JDBC standard in n-tier database architecture.
NT213 English 3 in IT
Course objective:
English for IT is an upper intermediate-advanced course of English in IT. The course objective is consolidation of grammar use at the upper intermediate level, expand the general, and particularly the professional vocabulary, as well as practice its use in various language functions. The course helps students to improve and integrate all the language skills: speaking, listening, reading, writing, translation. Special emphasis is placed on group problem solving.
Course Outcome:
Students are enabled to communicate in English both orally and in written, in real communication situations, to comprehend professional and other texts adapted at upper intermediate and advanced level, to write informal and formal business letters and short informative texts, to translate short professional texts from English to Serbian, as well as to combine all the skills in real life situations.
IT255 Web Systems 1
Course objective:
The course introduces students to the basic concepts of web programming and good practice in web design system, Nielsen’s rules of web design, information organization and design of the structure of web pages. Students become familiar with the characteristics of quality web design, such as clear navigation, simplicity and efficiency in the publishing and information retrieval, quality and updated content to computers for high definition and for devices with lower resolution applying techniques of adaptive web system design (responsive web design – One web Accessibility for All). Student should learn to integrate different Front-end web technologies.
Course Outcome:
Students are able to independently design and programme web applications and integrate different Front-end web technologies like HTML5, CSS3, JavaScript, PHP language and other modern techniques.
IT370 Human – Computer Interaction
Course objective:
Human-computer interaction (HCI) is concerned with designing interactions between human activities and the computational systems that support them, as well as with constructing interfaces to afford those interactions. Knowledge area of HCI demands the consideration of cultural, social, organizational, cognitive and perceptual issues. Consequently it draws on a variety of disciplinary traditions, including psychology, ergonomics, computer science, graphic and product design, anthropology and engineering.
Course Outcome:
Familiarity with user profiling, assessment of various interface models, and usage of prototyping tools, evaluation tools, and ability to design and test user-oriented interfaces using prototypes and functional applications.
SE211 Software Construction
Course objective:
Making software engineering students capable of implementing a whole set of methods, techniques, and computer engineering tools for software construction, and especially to learn to use UML (Unified Modelling Language), UP (Unified Process), and object-oriented and conventional detailed software design.
Course Outcome:
Students have to demonstrate at the end of this course that they can produce various complex software applications by using tools and techniques for software construction.
MA202 Calculus 2
Course objective:
Adoption of various mathematical methods and techniques relating to the terms in the field of mathematical analysis whose knowledge is essential for software engineers.
Course Outcome:
By the end of the course students will be able to:
- Understand the theoretical concept of an integral: indefinite, definite and improper integral, and the generalizations of definite integrals, also.
- Understand the theoretical concept of the real function of two real variables as a generalization of real function of one real variables.
- Understand the theoretical concept of first and higher order Differential Equations.
- Understand the theoretical concept of number, functional and Fourier series.
IT355 Web Systems 2
Course objective:
The course introduces students to the field of design and programming server-side (Backend). Focus is on mastering concepts and techniques such as: Web client-server and multi-layer architecture, service oriented architecture, aspect-oriented programming (AOP), an inversion of control (IoC) with the insertion of dependent component (DI), J2EE technology and other modern techniques. After this course the student will be able to deal with the Java-based framework for the design and development of complex web applications – Spring framework, techniques for web systems security ensuring, techniques and tools for the testing of web applications in Spring.
Course Outcome:
Students are able to independently design and program complex web applications and integrate different back-end web technologies such as J2EE, Spring Framework and other modern techniques.
SE321 Software Quality Assurance, Testing and Maintenance
Course objective:
Mastering the basic techniques of quality assurance and software testing in a small team of professional software development. Knowledge of the process of software maintenance.
Course Outcome:
Knowledge of the basic principles of software quality management on the IT project and the software team organization. Mastering the basics of software testing techniques by using the software development project.
SE311 Software Design and Architecture
Course objective:
Software design aims to analyze software requirements to obtain a description of the internal structure of software that will serve as the basis for its construction (development). In accordance with the objectives defined by the software design the objective of this course is: to enable students to participate in activities on the one hand related to the design of software architecture (description of the structure of the software on a global level and to identify the various components) and on the detailed software design (describing each component in sufficient detail to enable its construction) on the other hand.
Course Outcome:
Students will be able to participate in the development of different models of designs that represent blueprint solutions to be implemented as well as the analysis and improvement of these models in order to determine whether they meet the set requirements. They may also examine and evaluate various alternative solutions and the resulting models are used in planning future development activities; In addition they can be used as input to the design and testing.
SE322 Software Requirements Analysis
Course objective:
The software requirements analysis is a very important process in the design of large information systems as well as in the construction of smaller software solutions. The objective of the course is for students to comprehend the processes of requirements election, analysis, specification and validation on the one hand, and to master the methods and techniques used to requirements modeling on the other hand. The techniques and methods for requirements specification used in this course are: data flow diagrams, semantic data models, object-oriented and formal methods, viewpoints oriented method and so on.
The well-known fact in software industry is that software engineering projects often fail because of poorly specified requirements.
Course Outcome:
Students comprehend the importance of software requirements in the process of software engineering; to specify clear and unambiguous requirements by applying the processes of requirements election, analysis, specification and validation; to apply different methods and techniques for requirements modeling, depending on the methodology of requirements specification.
SE325 Software Development Project Management
Course objective:
Mastering the basic techniques of project management with a small team of professional software development.
Course Outcome:
Knowledge of the basic principles of project management and specific techniques in the management of software projects. Mastering the organization and management of small software development project team.
CS225 Operating Systems
This course will provide an introduction to operating system design and implementation. Particular emphasis will be given to process management (processes, threads, CPU scheduling, concurrency and synchronization), memory management (segmentation, paging, swapping), file systems, virtualization and operating systems security and protection. Course aim: understanding the purpose behind the term operating systems, the way they function, how they can be optimized, valued and compared.
SE490 Professional Internship
Course Objective
The objective is to help students gain experience in their profession and perform tasks for which they were trained during their education. Programming tasks are placed at the top, followed by introduction to work environments, access to specifics of various job positions. The tasks are engaging students in projects of different types.. Students learn how to work in projects independently.
Through the understanding of the working environment and specific work activities, students learn new skills, safety andability to integrate partial knowledge and skills acquired through previous studies. The relatively long, 4 month work in a professionally-oriented environment student presents experience of the requirements for which the student prepares, assessment of previously learnt material and assessment of the need for improvement. .
The focus is on internship as more independent and more concrete, in terms of student’s contributions; setting up and administering the system of individual workstations, and other network configuration, application development in the field of information systems, web applications and other software solutions. Work tasks can range from concept, development, construction, testing, administration and maintenance, analysis of specific solutions and possible training.
By integration into the working environment, acceptance of work obligations and responsibilities, developing skills of cooperation and teamwork, student better understand the components of this work, previously described in case studies.
Course Outcome:
Gaining experience and safety at work, application of knowledge acquired during their studies and their connection. Obtaining new information about the organization of work, the practical application of technology, teamwork, documentation, etc.
NT310 Professional Communication
Course objective:
Introducing students to the fundamentals of the professional communication. Assimilation of relevant theoretical and practical communication knowledge which enables the optimal actions in business environment. Discerning importance of the adequate transmission and exchange of information during business activities. Obtaining knowledge that skills of communication can be crucial in achieving business success.
Course Outcome:
Knowledge of importance and characteristics of the professional communication; Knowledge of necessary communication skills and how to develop them in praxis; Knowledge of finding, evaluating and processing information in research; Knowledge of communication in organizations and teams; Knowledge of communication across cultures.
IТ381 Information Assurance and Security
Course objective: Basic Course topics include security and Methodius protection information and system security mechanisms of computer networks and boarding, as well as organizational and physical methods to protect the legal and social aspects. Course objectives are to familiarize students with the concept of data security and systems, as well as security policy, attacks, vulnerabilities and encryption. The course enables students to recognize the problems that are related to ensuring security of information and networks as well as to recognize that appropriate protection mechanisms. In addition, students are introduced to the need to use modern technological tools to protect and methodology of their application.
Course Outcome: Students will understand and apply the concept of means of data security. It also means that students will recognize the problems that are related to ensuring security of information and know how to use a certain degree of protection.
Under graduate thesis
Goal of final exam:
The graduating paper of the first degree in academic studies is an independent student work which checks and evaluates student’s ability to successfully apply their knowledge in practice, especially in the field of the graduating paper.
Course Outcome:
Gaining experience and confidence in individual work, presentation of the knowledge acquired during their studies and their connection. Obtaining new information about the organization of work, the practical application of technology, documenting etc.
CS330 Mobile Applications Development
Course objective:
The objective is that students adopt the concepts and principles of mobile application development on the Android platform.
Course Outcome:
Students are able to develop Android applications of medium complexity and understand advanced methods and techniques of mobile application development.
СS324 Scripting Languages
Course objective:
Scripting languages are used in various contexts, including extraction of data from documents, creating and designing dynamic web pages, collecting data from websites, description of the types of data used in the document, rapid development of interfaces or disposable applications and creation of installation scripts.
Modern scripting languages provide the interface in system programming, multimedia projects, the graphics interface, Web applications. They are dynamic, portable, easy to develop and can be integrated in other tools such as Web browsers, Web servers, games and engineering applications.
Course Outcome:
Students will get acquainted with modern scripting languages. After successfully completing the course, students will be able to demonstrate knowledge and understanding of the nature and role of the script scripting language, syntax and semantics Perl, Python, Ruby and PHP languages. Students will be able to rapidly develop more complex applications using appropriate tools.
MA273 Probability and Statistics
Course objective:
Broad Course Objectives:
- Learn the core concepts of probability theory.
- Understand basic principles of statistical inference
- Become an informed consumer of statistical information.
Specific Learning Objectives
Probability
- Use basic counting techniques (multiplication rule, combinations, permutations) to compute probability and odds.
- Compute conditional probabilities directly, apply Bayes’ theorem, and check for independence of events.
- Set up and work with discrete random variables. In particular, understand the Binomial and Poisson distributions.
- Work with continuous random variables. In particular, know the properties of uniform, normal, Student and Fisher distributions.
- Know what expectation and variance mean and be able to compute them.
- Understand the law of large numbers and the central limit theorem.
- Compute the covariance and correlation between jointly distributed variables.
- Use available resources (the internet or books) to learn about and use other distributions as they arise.
Statistics
- Create and interpret scatter plots and histograms.
- Understand the difference between probability and likelihood functions, and find the maximum likelihood estimate for a model parameter.
- Find confidential intervals for parameter estimates.
- Use null hypothesis significance testing to test the significance of results, and understand and compute the p-value for these tests.
- Use specific significance tests including, z-test t-test (one and two sample), chi-squared test.
- Use bootstrapping to estimate confidence intervals.
- Compute and interpret simple linear regression between two variables – set up a least squares fit of data to a model.
- Apply ANOVA test
CS322 Programming in C#
Course objective:
The objective of this course is to enable students to use all important elements of the C# programming language. Especially, students need to become familiar with Visual C# GUI applications, also, to use o.o. programming and Visual Studio IDE. Within CS322, every student has to do a C# project, which consists of producing a practical GUI application and corresponding documentation.
Course Outcome:
Students capable of producing GUI applications and using Visual C# and Visual Studio IDE and visual tools (Toolbox, Property Window, etc.) Also familiarization with. NET Framework.
CS230 Distributed Systems
Course objective:
This course introduces the concepts and principles of distributed systems design, both Internet-based and other systems. Main topics include: communication between processes and remote calling, distributed naming, distributed file systems, data replication, distributed transaction mechanisms and distributed shared objects, secure communication, authentication and access control, mobile code. The project includes the creation of a distributed object applications using OO programming language, tools and environments.
Course Outcome:
The objectives of this course are twofold: firs, students have to understand the principles and techniques in the design of distributed systems, such as locking, concurrency, scheduling and communication through the network, and second, students must receive a practical experience in designing, implementing and errors correcting in real distributed system.
OM350 Entrepreneurship
Course objective:
Mastering basic theoretical and practical knowledge related to entrepreneurship and small business operations. Defining the place and importance of entrepreneurial business within the overall business and the impact of entrepreneurship on economic and social development. The ability to explain and analyze trends in entrepreneurship, perspectives and importance of small business in the context of the overall economy development and society in general.
Course Outcome:
After studying the scientific discipline of Entrepreneurship, students will possess basic theoretical knowledge of the subject Entrepreneurship, and will be able to practically apply the acquired knowledge through autonomous assessment and analysis of entrepreneurial business and creating a business plan.
SE401 Team software development
Course objective:
Software development within a small team.
Course Outcome:
Students are capable of project organization and management, project planning, and software project development, working within team rules and team coordination, communicating within team and communicating with external participants: software users and sponsors.
IT320 Modern Technological Platforms
Course objective:
Teaching students to develop complex software applications/systems using various modern vendor platforms (Microsoft, Oracle, etc.). Students have to show that they are capable of producing complex software applications using a chosen concrete vendor platform.
Course Outcome:
Every student has to show knowledge of using a chosen concrete commercial technological platform and corresponding tools.
CS115 Discrete Structures
Course objective:
Course Discrete structure has two main goals. First is to introduce the basic concepts and techniques related to discrete mathematical structures, especially those that have direct application in software engineering and computing. The second objective is to familiarize students with the methods of mathematical and logical reasoning.
Course Outcome:
This course includes the basics of mathematical logic, theory of sets, relations, functions, algorithms, properties of integers, congruence, recurrence relations, graph theory and algorithms with them, the structure for a dynamic data storage, order relation, network, mathematical structure of linear spaces and mappings.
IT390 Professional Ethics
Course objective: Assimilation of the relevant theoretical and practical knowledge from the business practice and ethics which enable adequate actions in business environment. Gaining the consciousness that ethics in business gives safety and future to the development in every business system. Discerning of the specific characteristics which the professional practice and ethics have in the field of information technology.
Course Outcome: Knowledge of relevant principles of business practice; Knowledge of relevant principles of business ethics; Developing the sense of responsibility; Developing confidence and the sense of ethical reasoning in their own business decisions; Developing ability for team work.
OM410 Business process management
Course objective: The objective of this course is to adopt basic and applied knowledge in business process management (BPM), emphasising the relation between business processes and technologies used to manage business processes. In this context, BPM is related to service-oriented architecture (SOA) of IT systems, which is used to connect business processes in an enterprise with the platform for BPM. This course introduces the advanced method for business process management, and, in particular, BPM in SAP system for the integral enterprise business management, as well as SAP approach to BPM in terms of BPM roadmap.
Course Outcome: The intended outcome implies theoretical knowledge on how to manage business processes, i.e. how to connect business processes in an enterprise with technologies (IT), and, in particular, with the platform for BPM. Besides, student will also be enabled to apply this knowledge in a business practice, i.e. to solve business problems in this domain.
SE495 Specification of final exam
Goal of final exam: The graduating paper of the first degree in academic studies is an independent student work which checks and evaluates student’s ability to successfully apply their knowledge in practice, especially in the field of the graduating paper.
Course Outcome: Gaining experience and confidence in individual work, presentation of the knowledge acquired during their studies and their connection. Obtaining new information about the organization of work, the practical application of technology, documenting etc.
MK110 Business Economics
Course objective: Obtaining knowledge of basic concepts of economics and business. Obtained theoretical and practical knowledge in basic economics concepts and categories.
Course Outcome: Obtained theoretical and practical knowledge in basic economics concepts and categories.