Sinigudnum logo
« Return to the list of all study programmes

Faculty of Technical Sciences
Software and Information Engineering

Studijski program Software and Information Engineering je najmoderniji studijski program za softversko inžinjerstvo u Srbiji. Kroz veliki broj izbornih predmeta pruza mogućnost većeg broja usmerenja kao što su Embedded Systems (ugrađeni sistemi), Data Science (nauka o podacima), Game Development (razvoj video igara) i Blockchain. Ovo je prvi i jedini Data Science program osnovnih akademskih studija u Srbiji (link ref), a po inovativnosti je među vodećim u Evropi i svetu.

Data Scientist je proglašeno za najperspektivnije zanimanje 21. veka, sa prosečnom platom od $116,840 u 2016. godini (ref). Specijalisti za analizu i obradu podataka, predstavljaju najtraženije stručnjake u kompanijama, kao što su Microsoft, Nordeus, Seven Bridges Genomics i druge.

Takođe, ovo je prvi studijski program u Srbiji koji nudi predmete iz oblasti Blockchain tehnologija koje su u poslednje vreme doživele ogromnu ekspanziju. Ovo je tehnologija koja se nalazi u pozadini kriptovaluta.



software and information engineering

Studijski program Software and Information Engineering, Tehničkog fakulteta Univerziteta Singidunum, može se smatrati modernizovanim i unapređenim studijskim programom, u poređenju sa smerovima koje imaju Elektrotehnički fakultet Beograd (Softversko inženjerstvo i ostali ETF smerovi), Fakultet tehničkih nauka Novi Sad i Fakultet organizacionih nauka Beograd (Informacioni sistemi i tehnologije – FON smerovi).

Software and Information Engineering uvodi najtraženije i najmodernije programske jezike poput Python-a, R-a, MongoDB-a, Spark-a i Hadoop-a. Budući studenti uče da dizajniraju inteligentne mobilne i web aplikacije, koje su zasnovane na masivnim skupovima podataka (Big Data).

Software and Information Engineering - SDE, ima za cilj da masovno edukuje buduće inženjere na engleskom jeziku. Svedoci smo da se tehnologija toliko brzo menja pa zaposleni inženjeri konstantno uče iz najnovijih referenci, prate najnovije vesti sa blogova, pohađaju online kurseve, koriste najnoviju literaturu, a to je sve svakako napisano na engleskom. Prednost nastave na engleskom jeziku olakšavabuduću komunikaciju sa internacionalnim kolegama, koji su prisutni na našoj, a svakako i na svetskoj IT sceni.

Profesori Univerziteta Singidunum, koji su kreirali studijski program SDE, ostvaruju dugogodišnju saradnju sa profesorima sa vodećih svetskih univerziteta. Neki od najuticajnijih su Univerzitet Oxford, ETH Cirih i KU Leuven iz Belgije. Ova saradnja sprovodi se kroz rad na modernim projektima iz popularnih IT oblasti (projekti). Stoga će naši najuspešniji studenti biti u prilici da svoje semestralne i diplomske radove izrađuju u okviru ovih internacionalnih saradnji.

Da je ovaj studijski program zaista inovativan i revolucionaran, pokazuje interesovanje privrede za ovaj studijski program,a to su objavili i neki uticajni mediji (tsus.singidunum.ac.rs/vesti).



software and information engineering profesori

Software and Information Engineering, studijski program, osmislili su mladi profesori, doktorandi prestižnih evropskih univerziteta, koji po svojoj stručnosti i naučnim publikacijama ulaze u red najperspektivnijih mladih naučnika u regionu (ref link). Kroz program Software and Data Engineering, oni će vas sa velikim entuzijazmom voditi do najviših akademskih ciljeva, pre svega do usvajanja praktično primenjivog znanja. Zajedno, kreiraćemo mogućnost da naši studenti konkurišu za neke od najplaćenijih poslova u našoj zemlji i inostranstvu.

Here you can fill out the online pre-admission registration form for the study programme Software and Data Engineering
Fill out the pre-admission form


hat Tuition fee for this study program in English is 3000 € for 60 ECTS, paid in RSD.

Here you can fill out the online pre-admission registration form for the study programme Software and Information Engineering.

  • Embedded Developer
  • Embedded Software Engineer
  • Cross Platform Mobile Developer
  • Software Engineer
  • FPGA Developer
  • Automation Engineer
  • Embedded C/C++ Developer
  • Embedded Linux Developer
  • Firmware Engineer/Developer
  • Mobile App Developer
  • Network Engineer
  • Telecommunication Engineer
  • PLC Software Developer
  • Data Scientist
  • Data Engineer
  • Data Analyst
  • Data Architect
  • Web Developer
  • Web Service Engineer
  • Business Intelligence Engineer
  • Predictive Analyst
  • Quantitative Finance Specialist
  • Software Developer
  • Machine Learning Engineer
  • Artificial Intelligence Engineer
  • Database Engineer
  • Big Data Engineer
  • Blockchain developer
  • Game developer


Upon on-line registration, the candidate can access online tests for the entrance exam.


I year

Mastering basic knowledge about the organization and architecture of computers, the mathematical and logical foundations of digital computers, their hardware and software architecture, and methods and techniques for designing simple memory devices. Mastering the skill of programming at the level of a physical machine and programming based on assembly language.

Acquiring the basics for a well-founded expansion and deepening of mathematical knowledge. Acquisition of relevant mathematical concepts in the context of application in the field of computing, with an emphasis on the designand programming of computer software.

Knowledge of basic concepts and conceptual constructs on which imperative programming languages rely; Cognition ways of using imperative programming for software implementation of algorithms of medium level of complexity.

Getting to know the paradigm of functional programming (principles, concepts and theoretical foundations); mastering the art of writing computer programs with a functional programming style in the selected programming language.

Understanding and applying the basic methods of discrete mathematics in computing and their use in the fields of design and algorithm analysis and software engineering.

Getting to know the essential features of data structures and algorithms. Knowledge of the role and importance of the concept of algorithm and concepts of data structure in computer programming. Training to work with basic data structures and algorithms in Java and Python programming languages.

Improving receptive and productive language skills, and achieving precision in expression in different situations and on different topics, i.e. leveling skills at level Cl of the Common European Framework of Reference for Living Languages.

For students to understand the concept of management and the evolution of management theory; to recognize the management trends of the 21 st century; to understand all the determinants related to the process and phases of management (planning, organizing, leading and controlling); to become familiar with the management process through the study of case studies and to understand the importance of management in modern business organization.

Mastering the basic modern methods and learning skills, using the student services of the information system University, the formation of professional and ethical attitudes in the field of software engineering.

II year

Knowledge of the basic elements of object-oriented programming and the basic principles of programming in software Java language. Building a solid foundation of the object-oriented programming paradigm to build upon in later years of study. Gaining practical experience in the implementation of object-oriented programs in the Java programming language using Java development environment and tools Eclipse and IntelliJ.

Getting to know the concept of a computer operating system and its role in the functioning of a computer. Getting to know the basics concepts and parts, structure, principles of operation, methods of implementation, proper configuration, software maintenance and using the computer operating system in the design of IT solutions.

Acquisition of theoretical and practical knowledge for working with databases, with mechanisms of storing structured data and ways of processing them in order to obtain information for end users. Understanding modeling techniques and mastering SQL language for working with relational databases. Training students to construct and execute inquiries over more tables, under the given logical conditions. Practical mastery of the techniques of administration and maintenance of databases.

Acquisition of theoretical (fundamentals of probability theory, key concepts in statistics), application (selection and application probabilistic models and statistical methods on modeling, analysis, processing, interpretation, learning and thinking about real-life data) and practical programming (specialized python libraries and r programming language) knowledge that is the basis of data science and machine learning.

Acquisition of theoretical and practical knowledge of communication technologies and TCP/IP computer networks required for independent design and maintenance of computer networks with a full understanding of security challenges and the application of comprehensive layered protection.

A deeper understanding of the implementation of the object programming paradigm and a deeper mastery of the skill of object programming, including advanced elements of object-oriented programming. Mastering the C++ programming language.

Mastering basic knowledge in the field of specification, modeling and prototypic realization of complex software products. Creating a software product vision and implementing model-driven software development. Independent specification, modeling and prototyping of selected interactive, GUI-oriented, event-driven software products.

Improving the level of English language skills and developing all language skills of students at a higher intermediate level (B2) towards Cl — according to the Common European Framework of Reference for Languages) with a view to systematizing the existing and then moving to a higher level of knowledge of the language.

III year

Getting to know the concepts and basic principles of quality assurance and software testing. Acquiring competencies for development and implementation of automatic unit tests for programs written in the chosen programming language with usage selected software testing tool. Acquiring knowledge for further training in the field of software testing.

Mastering basic knowledge and skills in the field of methodological aspects of the software process and complex software products (design patterns, architectural patterns, software components and frameworks) and acquisition team software development skills (monitoring of activities and use of advanced elements of handling software configuration).

Mastering the basic knowledge and skills of using relational, multimodel and non-relational data warehouses (NoSQL) to support the persistent layer of complex software products, through project activities.

Mastering theoretical (information architecture) and practical (technologies and development tools) knowledge for client development sides of complex web applications.

Knowledge of the theoretical (resource, information space, generation of the Web) and implementation (technological stack, process development) framework for building Web information systems.

Mastering theoretical and practical knowledge in the field of development of complex Internet-based software systems using patterns of Internet software architectures.

Recapitulation and integration of knowledge and skills in the field of software engineering acquired in the first three years of study and development of "soft" skills.

The main objective of professional practice is to gain professional experience and practical knowledge in the field of software engineering and relevant technologies. The professional practice will enable students to: acquire new and additional skills and knowledge required in the labor market in the field of software engineering that belongs to the student's sphere of interest, adaptation to the working environment, connecting theoretical knowledge and practical experience, orientation towards future employment, as well as defining and refining topics for the final thesis. One of the imperatives of professional practice is to obtain the first recommendations that can pave the way for students to future employment.

Mastering the knowledge and skills of developing Web Graphical User Interfaces, including prototypes of various levels trustworthiness, input and output elements, model-view-controller (MVC) architecture, and layout of interface elements. Mastering the principles and techniques of designing usable user interfaces (consistency, visibility, simplicity, efficiency of use and other principles of usability).

Knowledge of the basic concepts of Block chain technology, its advantages and technical challenges of use, and security aspects of algorithm design of different Block chain architectures. Familiarization with representative Block chain platforms which use different concepts to reach consensus, analyze their security mechanisms and usethem for development decentralized applications.

Getting to know the concepts and basic principles of developing applications for mobile devices. Acquisition of competencies for development and implementation of applications for mobile phones written in the selected programming language, for the selected mobile platform and using the selected development environment. Acquiring knowledge for further training in the field of mobile computing application.

IV year

Mastering theoretical and practical knowledge in the domain of analysis and synthesis of artificial intelligencesystems by using paradigms of symbolic and sub-symbolic artificial intelligence.

Acquisition of basic theoretical and practical knowledge needed for the design and implementation of applicationsoftware for SAAS model.

Competencies for choosing a problem suitable for solving using software. Competences for architectural design (business, software and technological) software product intended to solve the selected problem. Competencies for software product implementation and presentation (written and spoken) of the achieved result.

Acquiring competencies for solving engineering problems using phase 1 logic, induding software development. Acquiring a theoretical basis for expanding and deepening knowledge about the phase approach.

Acquiring the knowledge and skills needed to design and implement software for computer-aided systems with strict time constraints and limited computing resources

Mastering basic knowledge in the field of configuration management of complex software products. Mastery selected software configuration management software tool.

Mastery of theoretical (concept and models) and practical (platforms and development tools) knowledge in the field of analysis and synthesis ?he machine learning system.

Mastering basic knowledge in the field of configuration management of complex software products. Mastery selected software configuration management software tool.

Acquisition of theoretical and practical knowledge in the field of protection of information systems, understanding of security problems, familiarization with cryptological protection mechanisms for the implementation of secret services. Application of symmetrical and asymmetrical cryptological algorithms and management of cryptological keys. Mastery of digital signing and operation certification bodies for the realization of authentication, integrity and non-repudiation services. Identification security problems in different network environments, operating systems and complete information systems. Application of applicable security standards.

Acquiring competences for solving engineering problems using biologically inspired optimization models, including software development. Acquiring a theoretical basis for expanding and deepening knowledge about mathematics modeling.

Acquiring the knowledge and skills needed to understand the measurement of physical quantities using sensors andwork with sensors and sensor networks

Acquiring the knowledge and skills needed to understand the measurement of physical quantities using sensors andwork with sensors and sensor networks.

Knowledge of basic concepts, theory and methods in image processing and computer vision. Training for identifying, formulating and solving problems in the field by applying existing practical computer vision systems. Training for independent design and development of practical and innovative applications or image processingsystems and computer vision. Professional and responsible behavior in the fields of image processing, computer vision and deep learning.

Acquiring the knowledge and skills needed for design (IoT paradigm, smart object concept) and implementation (hardware, communication, software components, development tools), IoT components and systems.

Mastering basic knowledge about the architecture and functionality of social networks and applications. Mastery basic knowledge and skills of social network analysis.

Acquisition of theoretical and practical knowledge required for critical analysis and construction of multimediasystems with an emphasis on Web multimedia systems. Acquiring skills to use multimedia technology with an emphasis on creating and presentation of multimedia content on the Web.

Mastering the basic knowledge of the integration of independently developed complex software products. Masteringknowledge and skills for applying a model-driven approach to software integration. Training for teamwork to implement the integration of independently developed software systems.

Introducing students to the basic principles of computer graphics and technologies relevant to virtual solutions reality (VR). Training students for independent development of software and hardware components for virtual reality.

Acquisition of theoretical knowledge about linked data and semantic linking of data. Acquiring competences for development software in the domain of linked data.

Getting to know the system and implementation framework for undertaking new high-tech ventures with an emphasis on ICT industry.

Knowledge of the structure and functioning of the public administration and administration system; Knowledge of modern technology infrastructures to support the operation of eGovernment and e-Administration systems; Mastering the methods and good practice of introduction e-Government and e-Administration.

Getting to know the basic principles, concepts, mechanisms and technologies of cloud computing. Acquiring skillsfor establishment, administration and management of basic types of private and public distributed infrastructure computer science. Implementation of services on the infrastructure using existing public cloud tools. Getting toknow the cloud platforms and services of global cloud computing service providers Amazon Web Services (AWS), Microsoft Azure and Google Compute Engine GCE .

Knowledge of the building blocks of video games. Knowledge of the principles of video game development. Acquisition of basic theoretical and practical knowledge of video game development and installation.

* Elective courses depend on the number of candidates