course title: scientific research methodology teacher(s ... · the definition of the research...

12
1 Study Programme: Contemporary Information Technologies Course title: SCIENTIFIC RESEARCH METHODOLOGY Teacher(s): Nemanja Stanišić; Milan Tuba Course Status: mandatory ECTS value: 6 Prerequisite: / Course Goals and Objectives The aim of this course is to introduce students to main activities in the research process: the collection, the use, the proper citation of literary sources, the definition of a research hypothesis, collection, processing and analysis of data, as well as the forming of adequate conclusions. Also, one of the aims of this course is to make students skilled in effective written correspondence, argumentation of professional and scientific attitudes and the use of contemporary software tools while doing research work Course Outcomes It is expected that students will be able to carry out all the stages of the scientific research independently and properly, with the use of adequate literature Course Content Theory Literature overview. Critical analysis and credibility evaluation of scientific studies. The definition of the research objective. The definition of research hypothesis. The collection of empirical data (the proper interview and questionnaire preparation included). The selection of appropriate statistical analysis. The forming of conclusions based on the research results. Recognition and revealing of research restrictions. Academic writing. Practice The use of literature search tools (Google Scholar). The finding of secondary date on the Internet. The preparation of empirical data for analysis (visualization and transformation of variables). The use of statistical software (MS Excel Data Analysis ToolPak и SPSS) for statistical tests performation. Correct report of statistical test results. The ensuring of reproducibility (repeatability) of research by using digital platforms Literature: Bailey, S. (2014). Academic writing: A handbook for international students. London: Routledge. DePoy, E., & Gitlin, L. N. (2016). Introduction to Research: Understanding and Applying Multiple Strategies. St. Louis, Missouri: Elsevier. Field, A. (2017). Discovering Statistics Using IBM SPSS Statistics. SAGE. Runeson, P., & Höst, M. (2009). Guidelines for conducting and reporting case study research in software engineering. Empirical Software Engineering, 14(131). DOI:10.1007/s10664-008-9102-8. Active Teaching Hours: 4 Theory: 3 Practice: 1 Applicable Teaching Methods: Lectures, seminars, seminar and project assignments, case study, simulation, interactive discussion, mid-term exams, written examination. Grading Scheme (max. 100 points) Pre-exam Requirements points Final Exam Points Attendance and in-class Activity 10 Exam 30 Mid-term Exam/Test 1 25 Mid-term Exam/Test 2 25 Other Assessment Items 10

Upload: others

Post on 28-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Course title: SCIENTIFIC RESEARCH METHODOLOGY Teacher(s ... · The definition of the research objective. The definition of research hypothesis. The collection of empirical data (the

1

Study Programme: Contemporary Information Technologies

Course title: SCIENTIFIC RESEARCH METHODOLOGY

Teacher(s): Nemanja Stanišić; Milan Tuba

Course Status: mandatory

ECTS value: 6

Prerequisite: /

Course Goals and Objectives

The aim of this course is to introduce students to main activities in the research process: the collection, the use, the

proper citation of literary sources, the definition of a research hypothesis, collection, processing and analysis of data,

as well as the forming of adequate conclusions. Also, one of the aims of this course is to make students skilled in

effective written correspondence, argumentation of professional and scientific attitudes and the use of contemporary

software tools while doing research work

Course Outcomes

It is expected that students will be able to carry out all the stages of the scientific research independently and

properly, with the use of adequate literature

Course Content

Theory

Literature overview. Critical analysis and credibility evaluation of scientific studies. The definition of the research

objective. The definition of research hypothesis. The collection of empirical data (the proper interview and

questionnaire preparation included). The selection of appropriate statistical analysis. The forming of conclusions

based on the research results. Recognition and revealing of research restrictions. Academic writing.

Practice

The use of literature search tools (Google Scholar). The finding of secondary date on the Internet. The preparation of

empirical data for analysis (visualization and transformation of variables). The use of statistical software (MS Excel

Data Analysis ToolPak и SPSS) for statistical tests performation. Correct report of statistical test results. The

ensuring of reproducibility (repeatability) of research by using digital platforms

Literature:

Bailey, S. (2014). Academic writing: A handbook for international students. London: Routledge.

DePoy, E., & Gitlin, L. N. (2016). Introduction to Research: Understanding and Applying Multiple

Strategies. St. Louis, Missouri: Elsevier.

Field, A. (2017). Discovering Statistics Using IBM SPSS Statistics. SAGE.

Runeson, P., & Höst, M. (2009). Guidelines for conducting and reporting case study research in software

engineering. Empirical Software Engineering, 14(131). DOI:10.1007/s10664-008-9102-8.

Active Teaching Hours: 4 Theory: 3 Practice: 1

Applicable Teaching Methods:

Lectures, seminars, seminar and project assignments, case study, simulation, interactive discussion, mid-term

exams, written examination.

Grading Scheme (max. 100 points)

Pre-exam Requirements points Final Exam Points

Attendance and in-class Activity 10 Exam 30

Mid-term Exam/Test 1 25

Mid-term Exam/Test 2 25

Other Assessment Items 10

Page 2: Course title: SCIENTIFIC RESEARCH METHODOLOGY Teacher(s ... · The definition of the research objective. The definition of research hypothesis. The collection of empirical data (the

2

Study Programme: Contemporary Information Technologies

Course title: MODERN COMPUTER SYSTEMS

Teacher(s): Aleksandar Jevremović; Miodrag Živković; Marko Šarac

Course Status: mandatory

ECTS value: 6

Prerequisite: /

Course Goal: The aim of this course is to introduce students to modern computer systems, the possibilities of their application and

the technologies on which they are based. In addition, the goal is also to identify the most important trends and

directions of development in this area today.

Course Outcome: It is expected that students will gain a broad insight into computer systems and technologies, starting from their

historical development and major milestones in it, through today's current state, to understanding trends, needs and

expected directions of further development. Possibility of connecting modern computer systems with supporting

information and communication technologies, understanding the principles of their work, understanding functional

limitations and security risks.

Course Content: A brief overview of the history of the development of computer systems. The influence of the Second World War on

the development of computer systems. Shenon's theory of information. The beginning of the development of

artificial intelligence. Commercial systems and user interfaces. Internet. Development of external memory and

relational databases. Creation of UNIX OS and C programming language. The emergence of digital photography.

Text processing and electronic publishing. Personal computers. The problem of intellectual property and the

emergence of the Free Software Foundation. Multimedia in computer systems. Business use of the Internet and .com

bubble. E-mail. Portable computers. Business intelligence. World Wide Web. The emergence of digital currencies

and crypto-currency. Big data. The emergence of Google. Development of telecommunication

Literature

Stallings, W. (2015). Computer Organization and Architecture. Pearson.

Hennessy, J., Patterson, D. (2017). Computer Architecture - A Quantitative Approach. Morgan Kaufmann.

Active Teaching Hours: 4 Theory: 3 Practice: 1

Teaching methods: Lectures, practice, lab work, office hours

Grading Scheme (max. 100 points)

Pre-exam requirements points Final exam points

Attendance 10 exam 30

Midterm I 30

Midterm II 30

Total: 70 Total: 30

Page 3: Course title: SCIENTIFIC RESEARCH METHODOLOGY Teacher(s ... · The definition of the research objective. The definition of research hypothesis. The collection of empirical data (the

3

Study Programme: Contemporary Information Technologies

Course title: ADVANCED SOFTWARE ARCHITECTURES

Teacher(s): Nebojša Bačanin-Džakula; Đorđe Obradović; Miodrag Živković

Course Status: mandatory

ECTS value: 6

Prerequisite: /

Course Objective: The primary goal of the course Advanced Software Architectures is to introduce students to advanced principles and

concepts of modern software architectures of complex and multi-layered client / server systems based on distributed

object technology.

Course Outcome: At the end of the course it is expected that a successful student can choose in a stand-alone fashion the optimal

software architecture depending on the set of objectives and constraints of the system for which the layered

application needs to be implemented. The student is competent to design multilayered, distributed software systems

that employ the technologies of distributed objects. The student is able to utilize advanced Java and .net

technologies in advanced software architectures implementations.

Course content:

Theoretical Realization

Concept and definition of software architectures. A review of the basic software architectures concepts. An

overview and detailed overview of the advanced concepts of software architectures. Abstractions, design and

structure, communication between components, views, dysfunctional requirements and templates. Overview of

middleware software platforms: distributed objects, message-based systems, subscription models, service

orchestration, application servers. Drawbacks of classic software architectures. Concept, definition and design of

modern software architectures: monolithic and layered architecture, event-driven architecture, microkernel

architecture, micro-services architecture and spatial architecture. Advantages and disadvantages of one architecture

compared to others. Access to the databases from server environments. Connection management. Directory

Services. Object searching. Technologies and life cycle of distributed objects. Managing common (shared) resources

in distributed environments. Transaction mode and distributed transactions. Object-relational mapping.

Practical Realization

Implementation of applications based on event-driven architecture, microkernel architecture and micro-service

architecture using Java and Java Server Pages (JSP) technology, Spring and Spring Boot development frameworks

and Java Persistence Application (JPA) technology for object - relational mapping. Implementing RESTful and

SOAP Web Services using Microsoft technologies (ASP.net) and C # programming languages in integrated Visual

Studio development environment.

Literature

Martin R.C., Clean Architecture: A Craftsman's Guide to Software Structure and Design (Robert C. Martin

Series) 1st Edition, Prentice Hall, 2017, p. 432.

Wolff E., Microservices: Flexible Software Architecture 1st Edition, Addison-Wesley Professional, 2016,

p. 432

Richards M., Software Architecture Patterns, O’Reilly Media, 2015, p. 46.

Active Teaching Hours: 4 Theory: 3 Practice: 1

Teaching methods:

Lectures, consultations, individual work, project – based assignments, examination.

Grading Scheme (max. 100 points)

Pre-exam obligations Points Final Exam Points

Presence 10 Final Exam 30

Mid-term Exam 1 30

Mid-term Exam 2 30

Total: 70 Total: 30

Page 4: Course title: SCIENTIFIC RESEARCH METHODOLOGY Teacher(s ... · The definition of the research objective. The definition of research hypothesis. The collection of empirical data (the

4

Study Programme: Contemporary Information Technologies

Course title: ALGORITHMS AND MODELING TECHNIQUES

Teacher(s): Miloš Stojmenović; Nebojša Bačanin-Džakula; Dejan Živković

Course Status: elective

ECTS value: 6

Prerequisite: /

Course Objective: Introducing students with mathematical modeling and the possibilities of implementing algorithms for solving

formulated and defined models through practical simulations. Enabling students to evaluate the quality of obtained

results by conducting tests on standard benchmark and problems from the real environment.

Course Outcome: The general competences that students will acquire are the analysis, synthesis and forecasting of solutions and

consequences, mastering the methods, procedures and processes of research, as well as the application of acquired

knowledge in practice.

At the end of the course, it is expected that a successful student will master mathematical modeling techniques and

algorithms for solving formulated and defined models, and will be able to: a) recognize and understand the applied

approach in modeling and the level of detail of the mathematical description; b) formulate mathematical models; c)

select the method, algorithm and software package for implementing and resolving the formulated model.

Course content:

Theoretical Realization

Modeling and models. Categorization and classification of the models. Model parameters evaluation. Validation and

verification. Integer programming. Integer polyhedron. Branching and limiting methods. Cutting methods. Methods

of branching and cutting. Methods of implicit enumeration. Minimal spanning trees and greedy algorithms.

Determining the shortest path in the graph. Determining the maximum bandwidth in the network. Determining flow

with the minimum price. Applying simplex method on the network. Hamilton's paths and the travelling salesman

problem (TSP). Various relaxation of the TSP. Lin-Kernighan heuristics. The problem with more travelling

salesmen. Graphs coloring. Coloring the edges and nodes of the graph. Chromatic number of graphs. Description of

the search problem and optimization. Discrete (combinatorial) and continuous (global optimization), NP - hard

problems. Constrained and bound-constrained optimization. Deterministic (exact) and heuristic methods for solving

search and optimization problems. Monte-Carlo method. Metaheuristics (Genetic algorithms, Simulated Annealing,

Tabu Search, Variable Neighborhood Search). Nature – inspired algorithms. Swarm intelligence algorithm,

intensification and diversification. Examples of swarm algorithms. Standard benchmark problems and evaluating the

quality of the results. Hybridization and memetic algorithms.

Practical Realization

Practical realization of the formulated models using the MatLab software package and the Simulink plug-in.

Implementation of metaheuristics approaches in Java and .NET technologies.

Literature

Zeigler B., Muzy A., Kofman E., Theory of Modeling and Simulation 3rd Edition, Elsevier Academic

Press, 2019, p. 692.

Bansal C.J., Singh P.K.,Pal N.R., Evolutionary and Swarm Intelligence Algorithms (Studies in

Computational Intelligence), Springer, 2019, p. 190.

Yang X.S., Nature-Inspired Optimization Algorithms. Elsevier, 2014, p. 300.

Active Teaching Hours: 4 Theory: 2 Practice: 2

Teaching methods:

Lectures, practice, consultations, supervised tasks, project – based assignments, examination.

Grading Scheme (max. 100 points)

Pre-exam obligations Points Final Exam Points

Presence 10 Final Exam 30

Mid-term Exam 1 30

Mid-term Exam 2 30

Total: 70 Total: 30

Page 5: Course title: SCIENTIFIC RESEARCH METHODOLOGY Teacher(s ... · The definition of the research objective. The definition of research hypothesis. The collection of empirical data (the

5

Study Programme: Contemporary Information Technologies

Course title: ADVANCED COMPUTER SECURITY CONCEPTS

Teacher(s): Aleksandar Jevremović; Marko Šarac

Course Status: elective

ECTS value: 6

Prerequisite: /

Course objectives:

The objective of the course is to familiarize students with the fundamental issues of computer security, advanced

research concepts and applied practices such as: why some security technologies are being used, others do not, how

we measure the security of computer systems, how we assess the risks and economic aspects of security. This is

based on the most up-to-date results of research activities in a number of topics related to software security, Web

security, security and privacy of distributed computing, mobile platforms, networks and the provision of technical

expertise for computer security and privacy through white books, insights into standards and studies on Evaluate the

implementation of specific cryptographic technologies and themes.

Course outcome:

Critical Thinking / Solving Security Problems - Using analytical thinking in gathering and evaluating relevant

information to effectively formulate possible solutions to security issues or a range of security issues. For this area,

the most important, involves the ability to recognize the potential consequences of a decision made.

Course content:

Identifying OSI layers. Common Network Protocol Components. Categorization of threats and vulnerabilities in the

network or information system. Determine the components and strategies for implementing the security plan in

information systems. Identify relevant rules, principles and standards relating to advanced computer security

concepts of information systems (ECRYPT-CSA, NIST, IAD-NSA CNSA, BSI).

Literature

Mark Stamp, Introduction to Machine Learning with Applications in Information Security (Chapman &

Hall/Crc), Chapman and Hall/CRC; 1 edition (September 7, 2017), p. 364.

E. Fritzvold, OmegaTech Series, Cyber Security in Organizations, Independently published (September 9,

2018), p.197.

M. U. Bokhari, Namrata Agrawal, Dharmendra Saini, Cyber Security Proceedings of CSI 2015, Springer;

1st ed. 2018 edition (May 5, 2018), p.505.

Azeem Aleem, Cyber Security A Guide to Fraud Prevention and Building a Secure Framework, Wiley; 1

edition (January 4, 2019), p.192.

ECRYPT – CSA, Security Evaluations of Implementations, White-box Cryptograph, Cryptography and

Standards, (2016)

Active Teaching Hours: 4 Theory: 2 Practice: 2

Applicable Teaching Methods Lectures and exercises, interactive teaching, seminar work and mentoring

Grading Scheme (max. 100 points)

Pre-exam obligations points Final exam points

Attendance 10 Exam (written/oral) 30

First midterm 25

Second midterm 25

Seminar work 10

Total: 70 Total: 30

Page 6: Course title: SCIENTIFIC RESEARCH METHODOLOGY Teacher(s ... · The definition of the research objective. The definition of research hypothesis. The collection of empirical data (the

6

Study Programme: Contemporary Information Technologies

Course Title: INTELLIGENT SYSTEMS

Teacher: Milan Milosavljević; Miloš Stanković

Course Status: Elective

ECST Value: 6

Prerequisite: /

Course Goals and Objectives

The aim of this course is that students acquire knowledge and skills in the field of intelligent systems based on neural

network techniques, the fuzzy logic, evolutionary and genetic programming. Also, the aim is to familiarize students with

the architecture and algorithms for training neural networks, the fuzzy logic inference systems and the principles of genetic

and evolutionary methods of optimization. Finally, the goal is to train students how to combine computer intelligence

methods in the synthesis of hybrid intelligent systems.

Course Outcomes

It is expected that students will be competent to understand the basic principles of neuro-computing, fuzzy system, as well

as the genetic and evolutionary systems. It is also expected that students will be able to analyze and synthesize this class of

inductive systems and suplement them with complementary deductive systems based on direct coding of explicit domain

knowledge of a solved problem. Finally, it is expected that students will master the software tools and systems for the

analysis and synthesis of intelligent systems.

Course Content

The notion of intelligent systems and computer intelligence. Basic theoretical paradigms: neuro-fuzzy-evolutionary

approach. Neural networks: architecture and training algorithms. An error back-propagation algorithm. Generalization

properties of multilayer perceptron. Theorem on the universal approximation capacity of the multilayer perceptron.

Elements of the fuzzy logic and fuzzy systems. Systems of fuzzy inference. Mamdani's fuzzy implication and sup -min

compositions. Sugen’s functional or Takagi-Sugeno-Kang model of fuzzy reasoning. Basic elements of genetic algorithms.

Adjustment criteria and selection mechanisms. Hybrid neuro-fuzzy systems. Synergy of neuro-fuzzy systems and

knowledge-based systems. Mastering tools and software systems for the synthesis of intelligent systems using MATLAB

Toolboxes.

Primary and Secondary Sources Selection

1. Bishop, C. M. (2016). Pattern Recognition and Machine Learning. New York, NY: Springer.

2. Ross, T. J. (2017). Fuzzy logic with engineering applications. Chichester: Wiley.

3. Rutkowski, L. (2012). Computational intelligence: Methods and techniques. Berlin: Springer

Active Teaching Hours: 4 Theory: 2 Practice: 2

Applicable Teaching Methods:

Lectures, practice, seminar papers, midterms, final exam

Grading Scheme (max. 100 points)

Pre-exam Requirements Points Final Exam Points

Attendance and in-class Activity 10 Written part 30

Practice Oral Part

Mid-term Exams/Tests 60

Other Assessment Items

Page 7: Course title: SCIENTIFIC RESEARCH METHODOLOGY Teacher(s ... · The definition of the research objective. The definition of research hypothesis. The collection of empirical data (the

7

Study programme: Contemporary Information Technologies

Course title: CRYPTOGRAPHIC KEY MANAGEMENT

Teacher/teachers: Mladen Veinović; Saša Adamović

Course status: electivе

ECTS: 6

Requirements:

Course objective

The aim of this course is to introduce students with theoretical basics and practical systems for generating,

establishing, distributing and managing the lifetime of crygraphic keys. As the secrecy in the systems of protection

rests on the cryptographic keys, the goal for students is to master natural processes for generating random strings,

mathematical methods for checking their quality, and computer protocols for establishing and distributing keys. In

addition, the goal is to master technological phases, from generation to implementation of cryptographic keys in

specific software products, which ensures the required quality of the solution.

Course outcome

The general competencies that students will acquire are theoretical knowledge of generating and distributing

cryptographic keys and practical skills for implementing key management modules in security systems.

Students are expected to independently implement support for cryptographic keys management in various

symmetric and asymmetric cyphering systems. They will be qualified to rate the quality of the implemented

security system, to estimate the validity of the keys, their length, and to realize the correct cryptological

synchronization and resynchronization through computer protocols. The acquired knowledge enables students to

pracitcal implement security mechanisms in specific software and in the administration of complete information

systems.

Course content

Theory

Introductory lecture. Random and pseudorandom sequnce. Random number generators. Keys in symmetric and

asymmetric encryption systems. Distribution, verification and use of keys. Compromising the keys. Life cycle of

keys. Destruction of keys. Diffie-Helman protocol for establishing keys. Digital anvelope for key transfer. Digital

certificates in the PKI system. SMART cards and their application as the carrier of cryptographic parameters.

Practice

Representation of practical systems for generating and managing keys. Key security standards and policies.

Implementation of the software modules for generating, selecting, using, removing and deleting cryptographic keys

in multilayer computer protocols.

Literature

1. Kurose, J. F., & Ross, K. W., Computer networking: A top-down approach. Boston: Pearson, 2017, p.864

2. Stallings, W., Cryptography and network security: Principles and practice. Boston: Pearson, 2017, p.768

3. Schneier B., Applied Cryptography: protocols, Algorithms and Source Code in C, Willey, 2015, p. 784

4. Stamp, M., Information security: Principles and practice. Hoboken, N.J: Wiley. 2014, p.606

Number of active clases: 4 Theoretical clases: 2 Practical clases: 2

Teaching methodes: Lectures, computer practice, office hours, project

Final grade (maximum number of points 100)

Pre-exam requirements points Final exam points

Course attendance 10 Written exam (or project) 30

Assessment 1 30

Assessment 2 30

Total: 70 Total: 30

Page 8: Course title: SCIENTIFIC RESEARCH METHODOLOGY Teacher(s ... · The definition of the research objective. The definition of research hypothesis. The collection of empirical data (the

8

Study Programme: Contemporary Information Technologies

Course Title: DATA MINING (DATA SCIENCE)

Teacher(s): Miloš Stojmenović; Marina Marjanović Jakovljević

Course Status: elective

ECST Value: 8

Prerequisite: /

Course Goals and Objectives

The objective of this course is to get acquainted with the basics of Data Science, its modern technological background

and ubiquitous applications in transforming the available data into reliable information necessary in all segments of

modern business and decision making. Achieving this goal requires understanding of the different nature of the data and

their transformation into structures and formats suitable for use in modern integrated software systems of data mining,

machine learning, statistical modeling and interpretation of the obtained models. Students will be encouraged to

generate, on the basis of heterogeneous data sources available on the Internet, understandable and verifiable causal links

necessary for understanding the phenomena in a modern digital society.

Course Outcomes

The general competencies that students will acquire are the analysis, synthesis, and prediction of generic phenomena

based on the digital footprint of available data. In addition, students will master the concrete methods, procedures and

processes of data mining and purposeful interpretation of their models.

The professional outcome of this course includes the following components: 1. Understanding the basic concepts of

scraping data, descriptive summarization, cleaning, dimensional reduction and discretization both in the compression

mode and in order to create more convenient symbolic descriptions; 2. Training for the independent application of basic

concepts of data mining, modeling, machine learning and general statistical modeling in order to explain the

phenomena that generated the analyzed data; 3. Understanding basic machine learning mechanisms as a kind of

automation process for obtaining relevant information from raw data: 4. Getting to know the typical programming

environment for these needs within Jupiter Notebook, Python Library NumPy, SciPy, Pandas, Matplotlib, Scikit-learn,

PyTorch, TensorFlow, Keras.

Course Content

Theory & Practice

The phenomenon of data as a digital footprint of contemporary human civilization. Nature of data: numerical (interval

and ratio) and categorical (nominal and ordinal). Data engineering: source identification, data capture, aggregation,

sampling, dimensional reduction, selection, and feature extraction (attributes). Measures of similarity and distinction.

Classification: decision trees, methods of closest neighbors, Bayesian classifiers, neural networks. Regression: linear

and logistic. Clustering: basic concepts and algorithms. Visualization of data. Interpretation of the model. A / B testing.

Elements of mechanical learning.

Literature:

1. Laura Igual, Santi SeguíI, Introduction to Data Science: A Python Approach to Concepts, Springer, 2017.

2. Dmitry Zinoviev, Data Science Essentials in Python, The Pragmatic Bookshelf, Raleigh, North Carolina, 2016.

3. Aurélien Géron, Hands-On Machine Learning with Scikit-Learn and TensorFlow, O’Reilly Media, Inc., 2017.

Active Teaching Hours: 6 Theory: 3 Practice: 3

Applicable Teaching Methods:

Lectures, practice, seminar papers, midterms, final exam

Grading Scheme (max. 100 points)

Pre-exam Requirements Points Final Exam Points

Attendance and in-class Activity 10 Written part 30

Practice Oral Part

Mid-term Exams/Tests 60

Other Assessment Items

Page 9: Course title: SCIENTIFIC RESEARCH METHODOLOGY Teacher(s ... · The definition of the research objective. The definition of research hypothesis. The collection of empirical data (the

9

Study programme: Contemporary Information Technologies

Course title: SECURITY MECHANISMS AND CONCEPTS OF BLOCKCHAIN ARCHITECTURES

Teacher/teachers: Aleksandar Jevremović; Milan Milosavljević; Žarko Milošević

Course status: elective

ECTS Value: 8

Requirements: /

Course objective

The objective of this course is to introduce students to the basic concepts of Blockchain technology, its advantages

and technical challenges, as well as with the security aspects of algorithms design in different blockchain

architectures. In order to achieve this goal it is necessary for students to become familiar with the basics of the

distributed systems that are in the core of blockchain technology, as well as with the basic principles of functioning

of the blockchain systems. Students will also get familiar with examples of three blockchain platforms Ethereum,

Tendermint and Cosmos which use different concepts for reaching the consensus. Also, an analysis of the security

mechanisms in the architecture of these platforms will be done. During exercises in the computer classroom and

through course project, students will learn how to develop decentralized applications using these blockchain

platforms.

Course outcome

The general competences that students will acquire are theoretical knowledge required for the analysis and design

of decentralized blockchain applications, as well as understanding the security aspects in the architecture of various

blockchain platforms.

The professional competencies that students will acquire during the course and through project work are:

implementation of the blockchain application for the Ethereum platform, using the Solidity programming language

and using various software tools and environments such as Remix, MetaMask, Atom, web3, NodeJS, Mocha,

Ganache, Truffle and Infura; writing a blockchain application using Tendermint ABCI; development of blockchain

application using Cosmos SDK.

Course content

Theory

Introduction, basic concepts and examples of blockchain systems; Proof of work blockchain systems: Bitcoin and

Ethereum; Ethereum's basics, wallet creation, simple smart contract, interaction with the contract; Ethereum clients,

Ethereum network, Geth, Parity; Transactions, smart contracts and Solidity; Decentralized applications (Dapps);

Ethereum virtual machine (EVM); Proof of stake blockchain systems; Tendermint, consensus algorithm; Writing a

blockchain application using Tendermint ABCI; Cosmos, internet of blockchains; Development of blockchain

applications using Cosmos SDK; A brief overview and introduction to other blockchain systems: Hyperledger

Fabric, EOS and Dfinity.

Practice

Practical work during this course follows theoretical topics and will be realized in the classrooms with

computersthat have installed Ethereum, Tendermint and Cosmos SDK development tools. The implementation of

simple smart contracts will be carried out during the semester and through the project.

Literature

1. Arvind Narayanan, Joseph Bonneau, Edward W. Felten, Andrew Miller and Steven Goldfeder, ”Bitcoin

and Cryptocurrency Technologies: A Comprehensive Introduction”, Princeton University Press, 2016.

2. Andreas Antonopoulos and Gavin Wood, “Mastering Ethereum”, O’Reilly Media, Dec. 2018.

3. Xiaoqi Lia, Peng Jianga, Ting Chenb, Xiapu Luoa, and Qiaoyan Wen, “A Survey on the Security of

Blockchain Systems”, in Future Generation Computer Systems, Aug. 2017

Number of active clases: 6 Theoretical clases: 3 Practical clases: 3

Teaching methodes: Lectures, computer practice, office hours, project

Final grade (maximum number of points 100)

Pre-exam requirements points

Final exam points

Course attendance 10 Written exam (or project) 30

Assessment 1 30

Assessment 2 30

Total: 70 Total: 30

Page 10: Course title: SCIENTIFIC RESEARCH METHODOLOGY Teacher(s ... · The definition of the research objective. The definition of research hypothesis. The collection of empirical data (the

10

Study Programme: Contemporary Information Technologies

Course title: STUDY RESEARCH PAPER

Teacher(s): chosen teacher

Course Status: mandatory

ECTS value: 7

Prerequisite: /

Course Goals and Objectives

The aim of this course is to enable students to conduct research in the field of contemporary information

technologies, as well as the development of their final master's thesis, by applying the acquired scientific

knowledge, and academic skills to master academic studies. Within the SSP, a student studies the problem, its

structure and complexity, and on the basis of conducted analyzes, gives the conclusions about possible ways of

solving it. By studying literature students are introduced to the latest results in the field of research, as well as

methods that can be applied to solve similar problems.

Course Outcomes

Students are expected to be successful in:

1. Identifying the research problem within the selected topic for the final master work;

2. Applying scientific research methods in order to find adequate solutions to the problem;

3. Competently, and scientifically investigating and presenting the results of their work;

4. Investigating relevant literature and relevant scientific sources on the subject matter of the research. Student's

ability to engage in scientific research, analysis and processing of obtained research results, writing research and

scientific papers, and final master’s thesis.

Course contents

Drafting of scientific ideas, formulation of problems, and determination of research subjects. Selection and

formulation of the theme. Hypothetical framework of research. Planning and organization of research. Collection

and processing of literature. Data collection. Sources of data and classification of data sources. Arranging and

processing data. Analysis of research results.

Literature

/

Active Teaching Hours: 14 Theory: Practice: 14

Applicable Teaching Methods

Application of general-purpose methods and special-purpose methods in IT sciences;

Empirical research in the IT science;

Operational methods of data collection, as well as evaluation and analysis of research results.

Grading Scheme (max. 100 points)

During the realization of the study research work, the mentor, in agreement with the student, selects the topic for the

research, gives the necessary explanations for the purpose of easier understanding of the matter: gives instructions to

the student in relation to the research, analysis and processing of professional and scientific literature and research

results in order to prepare students for writing and defending the final master's thesis.

Page 11: Course title: SCIENTIFIC RESEARCH METHODOLOGY Teacher(s ... · The definition of the research objective. The definition of research hypothesis. The collection of empirical data (the

11

Study Programme: Contemporary Information Technologies

Course title: STUDENT INTERNSHIP

Number of hours (T+P): 90 hours during the semester

Teacher(s): chosen teacher

Course Status: mandatory

ECTS value: 3

Prerequisite: /

Course Goals and Objectives

The aim of this course is that students apply acquired knowledge and skills in solving concrete real problems and

improving their ability to successfully apply professional and scientific knowledge and methods in given practical

situations. Also, this course aims to improve the students' abilities for successful application of academic knowledge

and skills in the field of methodology, establishing research and presenting the obtained results, analyzing them and

interpreting them.

Course Outcomes

It is expected that the student will be able to design and implement an approach related to the specific problem in the

identification and management of information systems processes (CMMI), applying appropriate tools and

techniques for digital forensics, analyzing, designing and implementing modern systems of information protection in

computers and computer networks ; With the application of techniques and tools for researching data from the

domain of intelligent systems, students are able to extract relevant information from existing business databases that

are important to the management for making decisions, studying and applying modern integrated information

technologies.

Course content

Evaluation of the maturity of software processes using CMMI; application of the model for the improvement of

software processes; project management, software quality and security; development of integrated information

systems; application of data research tools and intelligent systems in order to improve business decision-making;

implementation of security services in modern computer networks. Specific examples from practice in the field of

contemporary information technologies. Setting the problem. Research planning. Defining the methodology,

availability of data. Analysis of the obtained results, conclusions and recommendations.

Literature

Active Teaching Hours: Theory: Practice:

Applicable Teaching Methods Lectures, practice, concultations, menthor work, project papers, exam.

Grading Scheme (max. 100 points)

Pre-exam obligations Points Final exam points

Attending practice and practical

project work 70 Project paper defense 30

Total: 70 Total: 30

Page 12: Course title: SCIENTIFIC RESEARCH METHODOLOGY Teacher(s ... · The definition of the research objective. The definition of research hypothesis. The collection of empirical data (the

12

Study Programme: Contemporary Information Technologies

Course title: MASTER THESIS

Teacher(s): chosen teacher - mentor

Course Status: mandatory

ECTS value: 12

Prerequisite: passed all exams required by the curriculum

Course Goals and Objectives

The preparation and public defense of master’s thesis is an indicator of the acquired competencies necessary for

independent research work and practical work in a wide range of areas and institutions whose primary activity and

activities are focused on the field of contemporary information technologies.

Course Outcomes

Master's thesis integrates and applies the knowledge gained in the educational process in solving specific problems

within the educational-scientific field of the study program. By defending the master's thesis, the process of

acquiring the necessary knowledge of the techniques of rational decision-making, as well as the logical / normative

and psychological / empirical aspects of decision-making in various social and business environments is shaped and

the student shows by this work that he is able to expose matter and key conclusions to the professional, but also to

the general public.

Course content

Master's thesis represents a professional, written interpretation of a particular topic using research techniques and

scientific-research methods. The master's thesis is the act and the procedure that follows after the student passes all

the exams prescribed by his / her own plan, on the prescribed form. The student is engaged in consultations on the

theme of master work with the chosen mentor. After the decision of the Department of Higher Studies for

postgraduate studies of the University, which assesses the suitability of the candidates and the theme of the master's

thesis and determines the mentor and the composition of the commission for public defense of the master's thesis,

the student approaches the master's work, under the supervision of the mentor, and access public defense. After

defending master's thesis, the student acquires the title "Master of Science in Informatics", the right to a diploma and

diploma supplement (diploma supplement in which the educational profile of experts in the field of contemporary

information technologies is emphasized).

Literature

Active Teaching Hours: Theory: Practice:

Applicable Teaching Methods The student and the mentor exchange their opinion and determine the agreement on the realization of the master's

thesis topic. During the master's thesis preparation, the mentor gives suggestions to the student and directs him to

more easily eliminate shortcomings in the selection of techniques and methodology of research, suggests a literature

framework and literary units. Master's thesis contains: content, introduction, elaboration, conclusion, literature,

attachments (if any), in the range of 50 to 100 pages. During the work, the student uses an adequate methodological

instrumentarium: methods of analysis and synthesis, induction and deduction, comparative method, quantitative

methods, special methods of research and laboratory testing, etc. After successful completion of the work on

plagiarism, with the consent of the mentor, the student will hand over 5 copies of master's thesis, which will be

completed and prepared in accordance with the standards and other technical characteristics determined by the

general act of the University.

Grading Scheme (max. 100 points)

Preparation 60

Defense 40

Total 100