three-year bachelor study at faculty of …integral calculus of single variable real functions i:...
TRANSCRIPT
UNIVERSITY IN SARAJEVO
FACULTY OF ELECTRICAL ENGINEERING
SARAJEVO
THREE-YEAR BACHELOR STUDY
AT
FACULTY OF ELECTRICAL ENGINEERING
Page 2 of 82
Programme: ACE, PE, CI, TC
Year First year
Semester First semester
Courses
N Title Code ECTS H/S P L T
1. Mathematics for Engineers 1 ETF IM1 I-1175 7,0 75 49 0 26
2. Fundamentals of Electrical Engineering ETF OE I-1180 7,0 80 48 4 28
3. Physics for Engineers 1 ETF IF1 I-1160 5,0 70 39 0 21
4. Linear Algebra and Geometry ETF LAG I-1160 5,0 60 39 0 21
5. Fundamentals of Computing ETF OR I-1170 6,0 70 44 0 26
TOTAL: 30 345 219 4 122
Programme: ACE, PE, CI, TC
Year First year
Semester Second semester
Courses
N Title Code ECTS H/S P L T
1. Mathematics for Engineers 2 ETF IM2 I-1280 7,0 80 52 0 28
2. Programming Techniques ETF TP I-1270 6,0 70 44 26 0
3. Elective course 1.1 7,0
4. Elective course 1.2 5,0
5. Elective course 1.3 5,0
TOTAL: 30 345
Elective course 1.1, Elective course 1.2, Elective course 1.3
N Title Code ECTS H/S P L T
1. Electrical Circuits 1 (ACE, PE, TC) ETF EK1 I-1275 7,0 75 45 10 20
2. Physics for Engineers 2 (ACE, PE, TC) ETF IF2 I-1260 5,0 60 39 0 21
3. Electronic elements and circuits (ACE, PE, TC) ETF EES I-1260 5,0 60 39 0 21
4. Mathematical Logic and Computability (CI) ETF RIO ML I-1270 7,0 70 42 0 28
5. Probability and Statistics (CI) ETF RIO VS I-1260 5,0 60 38 0 22
6. Operating Systems (CI) ETF RIO OS I-1260 5,0 60 38 22 0
Page 3 of 82
Programme: Computing and Informatics
Year Second year
Semester Third semester
Courses
N Title Code ECTS H/S P L T
1. Algorithms and Data Structures ETF RIO ASP I-2360 5,0 60 38 22 0
2. Logic Design ETF RIO LD I-2360 5,0 60 38 10 12
3. Software Development ETF RIO RPR I-2360 5,0 60 35 25 0
4. Fundamentals of Database Systems ETF RIO OBP I-2360 5,0 60 38 22 0
5. Discrete Mathematics ETF RIO DM I-2360 5,0 60 39 0 21
6. Elective Course 3.1 5,0 50
TOTAL: 30 350
Elective course 3.1
N Title Code ECTS H/S P L T
1. System Programming ETF RII SP I-2350 5,0 50 36 14 0
2. Numerical Algorithms ETF RII NA I-2350 5,0 50 35 10 5
Legend:
H/S - Hours per semester
P - Lectures per semester
L - Laboratory exercises
T - Tutorials
Page 4 of 82
Programme: Computing and Informatics
Year Second year
Semester Fourth semester
Courses
N Title Code ECTS H/S P L T
1. Computer Architecture ETF RIO RA I-2460 5,0 60 40 20 0
2. Fundamentals of Computer Networks ETF RIO ORM I-2460 5,0 60 40 1 6
3. Object-oriented Analysis and Design ETF RIO OOAD I-2460 5,0 60 38 22 0
4. Automata and Formal Languages ETF RIO AFJ I-2460 5,0 60 38 0 22
5. Elective course 4.1 5,0 50
6. Elective course 4.2 5,0 50
TOTAL: 30 340
Elective course 4.1, Elective course 4.2
N Title Code ECTS H/S P L T
1. Mobile Application Development ETF RII RMA I-2450 5,0 50 35 15 0
2. CAD-CAM Engineering ETF RII CCI I-2450 5,0 50 35 15 0
3. Embedded Systems ETF RII US I-2450 5,0 50 28 22 0
4. Digital Signal Processing ETF RII DPS I-2450 5,0 50 28 10 12
Legend:
H/S - Hours per semester
P - Lectures per semester
L - Laboratory exercises
T - Tutorials
Page 5 of 82
Programme: Computing and Informatics
Year Third year
Semester Fifth semester
Predmeti
N Title Code ECTS H/S P L T
1. Web Technologies ETF RIO WT I-3560 5,0 60 40 20 0
2. Computer Graphics ETF RIO RG I-3560 5,0 60 22 30 8
3. Fundamentals of Information Systems ETF RIO OIS I-3560 5,0 60 40 10 10
4. Introduction to Operations Research ETF RIO OOI I-3560 5,0 60 40 14 6
5. Elective course 5.1 5,0 50
6. Elective course 5.2 5,0 50
TOTAL: 30 340
Elective course 5.1, Elective course 5.2
N Title Code ECTS H/S P L T
1. Software Verification and Validation ETF RII VVS I-3550 5,0 50 30 20 0
2. Business Web Systems ETF RII PWS I-3550 5,0 50 35 15 0
3. Programming Languages and Compilers ETF RII PJP I-3550 5,0 50 36 14 0
4. Computer Modeling and Simulation ETF RII RMS I-3550 5,0 50 35 15 0
Legend:
H/S - Hours per semester
P - Lectures per semester
L - Laboratory exercises
T - Tutorials
Page 6 of 82
Programme: Computing and Informatics
Year Third year
Semester Sixth semester
Predmeti
N Title Code ECTS H/S P L T
1. Software Engineering ETF RIO SI I-3660 5,0 60 35 25 0
2. Design of Information Systems ETF RIO PIS I-3660 4,0 60 38 11 11
3. Artificial Intelligence ETF RIO VI I-3660 5,0 60 35 25 0
4. Elective course 6.1 4,0 50
5. Final Thesis ETF RIO ZR I-36130 12,0 300
TOTAL: 30 340
Elective course 6.1
N Title Code ECTS H/S P L T
1. Software Project Organization ETF RII OSP I-3650 4,0 50 30 20 0
2. Computer Network Administration ETF RII ARM I-3650 4,0 50 35 15 0
3. Design and Architecture of Software Systems ETF RII ASS I-3650 4,0 50 30 20 0
4. Digital System Design and Synthesis ETF RII PDS I-3650 4,0 50 30 20 0
5. Elective from other faculty 4,0
Legend:
H/S - Hours per semester
P - Lectures per semester
L - Laboratory exercises
T - Tutorials
Page 7 of 82
MODULE CONTENTS
Module title Mathematics for Engineers 1
Module code ETF IM1 I-1175
Programme ETF-B
Module coordinator Dr Muharem Alispahić, Professor
Teaching staff
Dr Muharem Alispahić, Professor
Mehmed Brkić, MoE, Senior Teachnig Assistant
Zlatan Tucaković, MoE, Teaching Assistant
Vedran Karahodžić, MoE, Teaching Assistant
Year of study 1
Semester 1
Module type Mandatory
ECTS 7
Lectures 49
Laboratory
exercises 0
Tutorials 26
Workload –
Independent Study 100
Module outcomes
At the end of the module students should:
develop skill of deductive reasoning;
know and comprehend the concepts of limits and continuity; be
familiar of how to synthesize intuitive concepts into precise mathematical
formulation;
apply standard tests and criterions for convergence of both
sequences and series, as well as methods for evaluating limits of sequences
and single variable real functions;
comprehend the role of linearization in mathematical modeling of
actual physical and other problems;
know and comprehend the concepts of derivative, primitive
function (anti-derivative), indefinite and definite (Riemann) integral and
their basic properties;
apply the basic techniques of differential and integral calculus of
single variable real functions;
further develop the notion of convergence through examination of
sequences and series of functions.
Module content
1.Numbers and general concepts about numeric functions:
Algebraic operations involving real numbers. Decimal representation of real
numbers. Triangle inequality. Bounded and unbounded intervals. General
concepts on real-valued functions of a single real variable. Bounded,
monotone, symmetric (even and odd), periodic functions. Functions
composition, identity maps, injective functions, inverses. Elementary
functions:
power function (with real exponent), exponential and logarithmic functions,
hyperbolic and their inverse functions, trigonometric and their inverse
functions.
2. Single variable real functions I:
Limits and asymptotes: Neighborhood and infinity on real axis. Limit (finite
and infinite) of a function at a point and at infinity.
One-sided limits: from the left and from the right. Inequalities for limits of
functions. Algebraic operations with limits. Indefinite expressions. Limit
existence of a monotone function. Limit inferior and limit superior of a
Page 8 of 82
monotone function. Techniques for evaluating a limit. Limits for common
functions (power, exponential, logarithmic and trigonometric functions).
Hierarchy of infinity: logarithms, power functions, exponential functions.
Application of asymptotic expansions for evaluations of limits. Asymptotes:
horizontal, vertical and oblique (slant).
3. Single variable real functions II: Mean-value theorem and Bolzano’s theorem for continuous functions on an
interval. Definition of continuous functions on an interval. Continuity of
inverse function to a continuous monotone function on an interval.
Continuity of elementary functions and algebraic combinations of
continuous functions. Point of absolute maximum and minimum of a
function. Weierstrass theorem about minimum and maximum of continuous
functions on a segment.
4. Complex numbers
Algebraic form: real and imaginary part, modulus, conjugated complex
numbers and their properties. Triangle inequality. Argument. Trigonometric
form. De Moivre’s theorem about product, quotient and power of complex
numbers, nth
root of a complex number.
5. Infinite sequences and series of numbers and functions: Concept of an (infinite) series, n
th partial sum. Convergence and divergence,
regular and alternating series. Geometric series. Necessary condition for
convergence of series; harmonic series. Series with non-negative terms,
(limit) comparison test, (limit) ratio test, (limit) root test. General harmonic
series. Absolute and conditional convergence of infinite series. Absolute
convergence is sufficient for ordinary convergence. Leibniz criterion for
alternating series. Complex sequences and series. Infinite sequences and
series of functions: uniform convergence, Cauchy and Weierstrass’ criterion
of uniform convergence; power series with complex terms, Taylor and
Laurent series.
6. Differential calculus of single variable real functions I: Differentiability and properties of differentiable functions. Derivate of a
function at a point. Left and right derivatives. Tangent line to the graph of a
function. Differentiation rules of elementary functions. Derivatives of
compositions and inverses. The connection between continuity and
differentiability of functions at a point. Theorems of Fermat, Rolle's
theorem and Lagrange's theorem (mean-value). Properties of monotone
differentiable function at an interval determined with the sign of derivative.
Function with zero derivative at an interval.
7. Differential calculus of single variable real functions II:
Derivatives of higher order, finding extrema and linear approximations.
Concavity and convexity. Flexion: definition and application of second
derivative. Application of first and second derivatives to examination of a
graph of a function. L’Hospital rule. Taylor series. Remainder of an
approximation of second order in Peano’s and Lagrange’s form.
8. Integral calculus of single variable real functions I: (Definite/Riemann) integral, primitive functions and fundamental theorems.
Riemann integral single variable real functions defined of closed intervals.
Basic properties of definite integrals. Mean-value theorem. Primitive and
integral functions defined on an interval. Fundamental theorems of integral
calculus. Definition and basic properties of indefinite integral.
8. Integral calculus of single variable real functions II: (Methods of integration and improper integrals). Methods for evaluation of
definite and indefinite integrals. Integration by substitution and integration
by parts. Techniques for finding integrals of some classes of functions
(rational, trigonometric, irrational). Definition of improper integral.
Integrability criterion: (limit) comparison criterion.
Literature
Recommended
1. H. Fatkić: Inženjerska matematika 1, Slajdovi i bilješke, Sarajevo, 2013,
http://www.etf.unsa.ba/.
2. H. Fatkić: Inženjerska matematika 1, Štamparija Fojnica d.d., Fojnica-
Sarajevo, 2012. (University book)
3. M. Merkle: Matematička analiza, Akademska misao, Beograd, 2001.
Page 9 of 82
4. H. Fatkić, B. Mesihović: Zbirka riješenih zadataka iz matematike I, ETF,
Sarajevo, 1973.; Corons, Sarajevo, 2002.
5. M. P. Ušćumlić, P. M. Miličić: Zbirka zadataka iz više matematike I i II,
Građevinska knjiga, Beograd, 2004.
Additional
1. D. Adnađević, Z. Kadelburg, Matematička analiza I, Nauka, Beograd,
1995.
2. T. M. Apostol: Calculus I, Blaisdell Publ. Co., New York, 1961.
3. T. M. Apostol: Mathematical Analysis (2nd ed.), Addison – Wesley Publ.
Co., London, 1974.
4. A. Croft, R. Davison, M. Hargreaves: Engineering Mathematics,
Addison- Wesley Publishing Company Inc. Harlow,1996.
5. V. Dragičević, H. Fatkić: Određeni i višestruki integrali,Svjetlost, Zavod
za udžbenike, Sarajevo, 1979; 2. izd. 1987. (Textbook)
6. D. Jukić, R. Scitovski: MatematikaI, Elektrotehnički fakultet &
Prehrambeno-tehnološkifakultet – Odjel za matematiku, Sveučilište J. J.
Strossmayera u Osijeku, Osijek, 2000.
7. J. Lewin, An interactive introduction to mathematical analysis. With CD-
ROM, Cambridge: Cambridge University Press, 2003.
8. Ž. Marković: Uvod u višu analizu, I. dio, Školska knjiga, Zagreb, 1956.
9. M. Pašić: MatematikaI. S više od 800 primjera i zadataka, Merkur
ABD, Zagreb, 2005.
10. R. Živković, H. Fatkić, Z. Stupar: Zbirka zadataka iz matematikesa
rješenjima,uputama i rezultatima (Matematička logika i skupovi, Relacije i
funkcije, Algebarske strukture, Brojevi, Jednačine i nejednačine, Polinomi,
Aritmetički niz i geometrijski niz), Svjetlost - OOUR Zavod za udžbenike i
nastavna sredstva, Sarajevo, 1987. (Book)
Didactic methods
The course is carried out through theoretical lectures that serve to present
the concepts of differential and integral calculus for real functions of
a real variable. These lectures are supported by solving of mathematical
problems by lecturers with the goal of having the students master the
instruments and methods introduced in lectures.
Under guidance and monitoring by academic tutors, other mathematical
problems, including the ones from pervious exam terms, are solved as well.
These activities are organised in a way that the level of students’
preparedness to master the knowledge and skills they need to acquire during
the course is continuously checked through the curriculum which includes
homework and partial exams.
Assessment
Student collects points during the course based on the following system*):
• attendance at lectures and tutorials carries 10 points; student who
misses three or more lectures and/or tutorials cannot collect points on this
basis;
• homework carries maximum 10 points; students need to prepare 3
to 5 homework assignments that are equally distributed during semester;
• Partial exams: two partial exams, out of which each carries
maximum 20 points.
Partial exams (90 minutes long) carry tests comprised of multiple choice
answers, out of which only one is the correct one (student who answers
correctly to all the multiple choice tests achieves maximum 10 points), as
well as one open answer test (correct answer to this test brings 10 points).
Students who passed both partial exams in a semester (achieved 10 or more
points at each test) takes the final oral exam; this exam is comprised of
discussion on assignments from partial exams, homework, and answers to
simple questions which refer to the topic of the course (definitions,
formulations, and presentation of simpler evidence of the most important
Page 10 of 82
traits and/or theorems. Final oral exam is focused on integral matter of the
course stipulated by study programme. The goal of this exam is to check
whether students achieved adequate understanding of concepts and practical
matters presented during the course.
Final oral exam carries maximum 40 points. In order to achieve passing
grade, students have to achieve minimum 15 points at this exam. Students
who don’t achieve minimum number of points will take oral part of makeup
exam.
Students who fail both partial exams will take makeup exam.
Makeup exam is organised in the following way:
• written part, which is structured the same way as partial written
exam; within this exam students will take the tests from partial exam in
which they failed to achieve a passing grade (10 or more points);
• oral part, which is structured the same way as oral part of the final
exam.
Students who achieved total score of 10 or more points in each of the two
partial exams after taking the written part of makeup exam are eligible to
take the oral part of makeup exam; the score is comprised of points
collected through passing of partial exams and passing of written part of
makeup exam.
Oral makeup test carries maximum 40 points. In order to get a passing
grade, students need to achieve minimum 15 points in this exam and at the
same time achieve minimum 55 points out of possible 100 (including the
points for attendance, homework, and two partial exams passed). Students
who do not achieve these minimums have to retake the course.
----------------
*) Attendance at all aspects of teaching is mandatory.
Prerequisites
Although there are no official prerequisites for this course, basic knowledge
in elementary mathematics is required for students to be successful.
Page 11 of 82
Module title Fundamentals of Electrical Engineering
Module code ETF OE I-1175
Programme ETF-PGS
Module
coordinator Dr Senad Smaka, Associate Professor
Teaching staff
Dr Senad Smaka, Associate Professor
Dr Tarik Uzunović, Assistant Professor
Mirza Hamza, MSc, Senior Teaching Assistant
Meliha Dulić, MoE, Teaching Assistant
Year of study 1
Semester 1
Module type Mandatory
ECTS 7
Lectures 48
Laboratory
exercises 4
Tutorials 28
Workload –
Independent Study 95
Module outcomes
Module has a goal to present basic concepts of electro-magnetism to the
students, with appropriate mathematical apparatus. Students gain knowledge
related to scientific methodology and natural laws in such manner to meet
electro-magnetic phenomena and problems related, from qualitative and
quantitative aspect.
Module content
1. Electric charge: insulators and conductors, Coulomb's law of force,
distributions of electric charge.
2. Electric field: Gauss’s theorem for electric field in integral and
differential form, divergence of electric field, examples of application of
Gauss’s theorem.
3. Electric potential: work of electric field forces, conservative nature
of electric field, curl of electric field. Potential and difference of potentials,
Electric field as gradient of potential, equipotent planes. Poisson’s and
Laplace's equations.
4. Electric capacity: Definition of electric capacity, capacity in system
of conductors, examples of capacity calculation. Combinations of capacitors.
Electro-static energy and calculation of force using electrostatic energy.
5. Dielectrics: matter polarization, electric susceptibility and nature of
polarization vector. Dielectric displacement and its connection with dielectric
electrostatic field and polarization. Boundary conditions between two linear
dielectric environments. Stored energy in dielectric medium.
6. Electric current: definition of electrical conductivity and stationary
electric current, Ohm’s law of electrical conductivity, electric resistance,
serial and parallel connected resistors. Joule’s law. Exchange of energy in
electrical circuit. Kirchhoff's laws. Energy conservation law in electrical
circuit.
7. Magnetic field: magnetic interaction, electricity and magnetism.
Magnetic force to electric charge in motion, magnetic force to conductor
conducting electricity, mechanical moments. Hall’s effect. Motion of charged
particle in magnetic field.
8. Sources of magnetic field, Ampere’s law in basic and general form,
magnetic properties of matter, electrically induced magnetic field, Biot-
Savart-Laplace's law, electro-dynamic force, magnetic properties of matter:
permeability and susceptibility of material, hysteretic loop, Gauss’s law for
magnetic field.
9. Basic magnetic circuits: Analogy with electric circuits.
10. Time-variable electric and magnetic fields: Properties of
Page 12 of 82
electromagnetic field, Faraday’s law of electromagnetic induction, Lenz's
principle, induced electromotive force. Application of Faraday’s law:
alternating current generators, electric motors. Self-induction, inductive
electric circuit, magnetic energy in linear and non-linear environments.
Mutual induction, calculation of mutual inductivity.
Literature
Recommended
1. Notes and slides from lectures (See Faculty WEB Site)
2. N. Behlilović, Osnove Elektrotehnike, Univerzitet u Sarajevu,
ISBN 978-0058-629-24-2, COBISS.BH-ID 16925446, Sarajevo 2008.
Additional
1. Ejup Hot, Osnovi elektrotehnike knjiga prva, Ejup Hot, Osnovi
elektrotehnike knjiga druga, ETF Sarajevo 2003.
2. Umran S. Inan, Aziz S. Inan, Engineering Electromagnetic, Addison
Wesley Longman, Inc. 1998, California, USA.
Didactic methods
Lectures are presented directly in lecture-hall and are being supported with
typical problems solving (48 hrs) in such manner for students to comprehend
and adopt knowledge and skills defined in module outcomes.
Throughout laboratory exercises (4 hrs), under guidance of tutor, experiments
are carried out in laboratory. Goal of laboratory exercises is for students to
practically verify (by forming some simple DC circuits) some fundamental
laws presented in lectures (such as: Ohm’s law, I&II Kirchoff’s law, energy
conservation law, etc.).
Throughout tutorials (28 hrs), under guidance of tutor, typical problems are
solved (from topics treated in lectures), including problems from previous
exams. In this manner students will be prepared for final exam.
Assessment
The contributions of all activities are rated according to the following scale:
• Regular attendance (max. 10 points)
• Homeworks / Laboratory exercises (max. 10 points)
• 1st midterm exam (max. 20 points)
• 2nd
midterm exam (max. 20 points)
• Final exam (max. 40 points)
Regular attendance means that student must be present on all forms of the
module’s delivery. Student earns 10 x (Number of presence hours) / 60 points
for attendance.
By solving of homework and/or laboratory exercises (HW/LE), student can
earn up to 10 points. Homework is done in the form of preparation and
implementation of laboratory exercises under the guidance of assistant (2x2
points) and two short tests (2x3 points).
Midterm exams: There are two midterm exams, and both are in written form.
At each midterm exam student can earn a maximum of 20 points. Midterm
exam is considered to be passed by a student if he earned at least 10 points.
First midterm exam is in the 8th
week, and second midterm exam is in the 16th
week of the semester. Students who failed first and/or second midterm exam
are allowed to go through the makeup exam at the end of the semester.
Duration of midterm and makeup exams is from 90 to 120 minutes. During
midterm and makeup exams students solve the problems that are of the same
type as those solved during the lectures and tutorials.
Final exam: At final exam, a student can earn a maximum of 40 points.
Student will be allowed to take final exam if he/she meets all of the following
conditions:
if student passes both midterm exams,
if student earns at least 40 points through: regular attendance, and
homework/laboratory, and midterm exams.
Final exam is considered to be passed if a student earns a minimum of 15
points. Otherwise, student must take makeup final exam (which is just as
structured as the final exam.). Final exam can be written or oral and most
frequently is in oral form. At final exam students get three questions related
to course topics.
Makeup exams and makeup final exam: Students who fail the midterm
exam(s) must take the makeup exam. Also, students who fail to earn 40 points
Page 13 of 82
(through: regular attendance, and homework/laboratory, and midterm exams),
regardless of whether they have passed the midterm exams or not, must take
makeup exam.
Students who failed final exam must take makeup final exam. Also, students
will be allowed to take makeup final exam if they meet all of the following
conditions:
if student passes makeup exam,
if student earns at least 40 points through: regular attendance, and
homework/laboratory, and midterm exams.
Students who fail to earn at least 20 points (through: regular attendance, and
homework/laboratory, and midterm exams), regardless of whether they have
passed the midterm exams or not, must retake this module next academic
year. Also, students who do not achieve a minimum of 15 points at makeup
final exam must retake this module next academic year.
Prerequisites
Page 14 of 82
Module title Physics for engineers 1
Module code ETF IF1 I-1160
Programme ETF-PGS
Module
coordinator Dr Hasnija Šamić, Professor
Teaching staff
Dr Hasnija Šamić, Professor
Dr Selma Hanjalić, Assistant Professor
Adnan Osmanović, MoE, Assistant
Nedis Dautbašić,MoE, Assistant
Vahid Helać, MoE, Assistant
Year of study 1
Semester 1
Module type Mandatory
ECTS 5
Lectures 39
Laboratory
exercises
Tutorials 21
Workload –
Independent Study 65
Module outcomes
The course aims to provide an introduction to classical mechanics necessary
for basic formation of future engineers, and its preparation for advanced
courses
At the end of the module students should:
understand the basic concepts of mechanics of material point, system
of points and fluids and apply them in specific cases,
be able to define, discuss, analyze, and solve simple problems of
classical mechanics, correctly applying the basic concepts of vector algebra
and mathematics analyzes.
Module content
Matter is systematized and divided into the following chapters:
1. Physical fundamentals of mechanics:
Physical values and measurements; measure units and unit systems;
measurement errors; scalar and vector values; material point and system of
material points (solid).
2. Kinematics:
Kinematics of material point; space and time; movement and referent
systems; displacement, velocity and acceleration of material point; types of
kinematic movements, rectilinear movement, curvilinear movement.
3. Dynamics:
3.1. The fundamental equation of dynamics:
Causes that lead to movement of the body; the first, second and third
Newton's principle of dynamics; differential equations of motion under force
in gravitational, electric and magnetic field; torque force and impulse; work
and energy; power; laws of conservation of energy and impulse; body
collisions.
3.2. Dinamycs of solid body:
Inertia moment; Steiner theorem; force momentum; impulse momentum;
work and energy of rotation; law of conservation of impulse momentum.
4. Oscillations:
Oscillatory movement; harmonic oscillations; energy of the harmonic
oscillation; composition of harmonic movements; mathematical, physical and
torsional pendulum; damped oscillations; forced oscillations; resonance.
5. Waves:
5.1. Mechanical waves
Definition of wave motion; plane and spherical waves; the general wave
equation; energy of elastic waves; wave interference; standing waves; wave
reflection; refraction of waves.
Page 15 of 82
5.2. Sound:
Sound waves; propagation speed of sound waves; Doppler effect; volume
level; sound absorption; ultrasound.
6. Mechanics of fluids:
6.1. Fluid statics:
The pressure; hydrostatic pressure; atmospheric pressure; Archimedes law.
6.2. Fluid dynamics:
Ideal fluid flow; equation of continuity; Bernoulli's equation; viscosity;
laminar and turbulent motion; movement in the pipes with variable cross-
section; measuring the speed and flow.
Literature
Recommended
1. H.Šamić, Inženjerska fizika 1, Slajdovi i bilješke, ,
http://www.etf.unsa.ba/
2. S.Marić, “Fizika”, Svjetlost, 2001
3. H.Šamić, B.Nikolić, S.Hanjalić “Inženjerska fizika 1 – odabrani
problemi sa rješenjima“, Sarajevo, 2013
4. D.Halliday, R.Resnick, J.Walker, “Fundamenatls of Physics”, John
Wiley & Sons, 2001.
Additional 1. D.Giancoli, “Physics for Scientists and Engineers”, Prentice Hall,
New Jersey, 2000
Didactic methods
Course material is presented in following ways: lectures and tutorials.
Lectures performed in an aula for all students by the teacher. During those
lectures, fundamental theoretical and experimental aspects of matter will be
explained. In addition, numerical problems will be solved. After completion
of the presentation for each logical unit rounded curriculum, teacher will
formulate and solve problems, and examples that allow students to
understand the tools and methodologies provided during lectures.
In tutorials, under the guidance of the teaching assistant, more numerical
problems and examples are solved in order to achieve a better theoretical
understanding of the presented topics. Students are divided into small groups
and can be prepared for tutorial classes and present the planned tasks for such
activity to get extra points.
During the semester, students are obliged to do five homeworks.
In addition, students are expected to participate in lectures and tutorials, as
well as to work individually all the time.
Assessment
During the course, students earn points according to the following system:
1. Attendance to lectures and tutorials: 10 points. Student with more
than three absences during semester will not get there points.
2. Homeworks – maximum of 10 points. Students will have five
homeworks equally distributed throughout the semester.
3. Two written exams, midterm and final, each written exam with a
maximum of 40 points.
Partial exam lasts 90 minutes and the student responds to three theoretical
issues and solves three numerical problems.
To successfully complete a course the student should gain at least 60 points
during the course.
The final oral exam is optional and applies only to students who are not
satisfied with the proposed final grade. The proposal of the final grade is
formed on the basis of evidence of the presence of all forms of teaching,
performance on written exams and activities in tutorials. In the oral
examination students answer the theoretical questions related to the topic
from the course.
Student who earns less than 20 points must retake the course.
Student who earns less than 60 points during one semester and less than 20
points on the one partial exam will have to take a partial makeup exam, for
the part that he failed. If student failed both partial exams, will have to take
an integral makeup exam, maximum of 80 points, which consists of four
theoretical issues and four numerical problems. Makeup integral exam lasts
150 minutes.
Page 16 of 82
Prerequisites
Module title Linear algebra and geometry
Module code ETF LAG I-1160
Programme ETF-B
Module
coordinator Dr Almasa Odžak, Assistant Professor
Teaching staff Dr Almasa Odžak, Assistant Professor
Nermin Čolo, MoE, Assistant
Year of study 1
Semester 1
Module type Mandatory
ECTS 5
Lectures 39
Laboratory
exercises 0
Tutorials 21
Workload –
Independent Study 65
Module outcomes
At the end of the module students should be able:
to understand idea of vector space, linear dependence and
independence, vector space basis and dimension, linear mapping of vector
spaces,
to overwhelm the techniques of matrices and vectors calculations,
to analyze a solvability of linear equation systems and to be able to
find their solutions using different techniques,
to overwhelm the concept of straight line and plain, as well as the
concept of curves and surfaces in the space,
to use achieved knowledge in order to solve particular practical
problems.
Module content
1. Elements of mathematical logics and set theory: Operations.
Algebraic structures. Group, rings and modules.
2. Vector spaces theory elements: Vector spaces and subspaces.
Calculation properties. Linear combinations. Linear dependence and
independence. Basis, dimension and generators.
3. Matrices: Definition and types of matrices. Operations (addition,
multiplication by scalars, multiplication, transposition). Matrix rank. Inverse
matrix. Determinants (presenting, Sarrus rule, Laplace rule, properties).
4. Systems of linear equations: Definitions of systems of linear
equations and solutions. Determined, undetermined and impossible system.
Cramer’s rule. Method for solving quadratic systems using matrices. Gauss
elimination method. Kronecker-Capelli method.
5. Linear operators: Definition of linear operator. Kernel and image
of an operator. Linear operators and matrices. Linear functionals and dual
vector spaces. Polynomials. Eigenvalues and Eigenvectors. Diagonalization.
6. Vector algebra: Definition of vectors. Magnitude and direction.
Basic vector operations. Dot, cross and triple product of vectors.
7. Analytical geometry in plane: Concept of line and surface
equation. Equations of a line in the plane. Parallel and perpendicular lines.
The distance between two points. Set of lines passing through specific point
in the plane.
8. Second order curves: Ellipse, hyperbola, parabola. Second order
curves identification.
9. Analytical geometry in space: Equations of a plane in space.
Equations of a line in space. Mutual relations between two lines, two planes,
and plane and line in space. Set of plains containing specific line.
Page 17 of 82
10. Second order surfaces: Ellipsoid. Hyperboloid. Elliptical
paraboloid. Hyperbolic paraboloid. Cylinder. Cone. Surface of revolution.
Literature
Recommended
1. A. Odžak: Lecture notes, Sarajevo, 2013, http://www.etf.unsa.ba/
2. D. S. Mitrinović, D. Mihailović, P. M. Vasić: Linearna algebra,
polinomi i analitička geometrija, Građevinska knjiga Beograd,1990.
3. B. Mesihović, Š. Arslanagić: Zbirka riješenih zadataka i problema iz
matematike sa osnovma teorije i ispitni zadaci, Svjetlost, Sarajevo, 1988.
4. P. Miličić, M. Ušćumlić: Zbirka zadataka iz matematike I, Beograd,
1989.
Additional
1. G. Strang: Introduction to Linear Algebra. 4th ed. Wellesley-
Cambridge Press, 2009.
2. L.E. Spence, A.J. Insel, S.H. Friedberg: Elementary Linear
Algebra:
3. A Matrix Approach, 2nd ed , Pearson, 2008.
4. O. Bretcher: Linear Algebra with Applications, Pearson, New Jersey,
2009.
5. M. Bračković: Matematika – determinante, sistemi linearnih
jednačina, elementi vektorske algebre i analitičke geometrije, Svjetlost, Sara-
jevo, 1990.
6. N. Elezović: Linearna algebra, Element, Zagreb, 1996.
7. N. Elezović, A. Aglić: Linearna algebra, Zbirka zadataka, Element,
Zagreb, 1996.
Didactic methods
The main goal of lectures is to give exhaustive overview of all topics covered
by this module. Monologue, dialog and demonstrative methods are being
used here. After introducing the terms, their mutual relationships, results and
methods of particular topic the lecturer solves carefully selected examples in
order to demonstrate previously theoretically lectured material. During
tutorials, under the tutor guidance, theoretical elements of particular topic are
being resumed and carefully selected examples and problems are solved in
details. During tutorials students are able to use an opportunity for interactive
discussion about issues that are subject of the course. Besides that, small
number of students in groups for tutorials gives an insight of student’s
achievement during the course.
Students are obligated to attend lectures and tutorials. It is expected that each
student is properly prepared for all forms of classes using teaching materials
available to be downloaded from the faculty courseware, and to actively
participate during classes and to maintain continuous independent study.
Assessment
The assessment activities and their allocated points are given in details below.
Activity: Mark (%):
Class Participation & Attentiveness 10 %
Homework assignments 10 %
Partial examination 1 (week 8) 20 %
Partial examination 2 (week 16) 20 %
Final examination 40 %
Class participation and attentiveness:
Attentive participation in all forms of classes is mandatory.
Homework assignments:
Two homework assignments are anticipated during the course. Each
homework consists of 5-10 problems to be solved. Solving homework
problems student needs to demonstrate certain competency for independent
usage of methods and techniques displayed during the hours of lectures and
tutorials.
Partial examination:
The partial examination in this course are standard closed-book, 2 hours
written examination, covering all aspects of the course that have been
presented in the lectures and tutorials during previous seven weeks. The
exams consist of some questions of a descriptive nature (e.g. explaining a
concept, main results and techniques) and the rest are problem-solving
Page 18 of 82
questions.
Through this exam analytical and critical thinking and general understanding
of the course material is verified in a controlled fashion.
Assessment is a graded according to the correct fraction of the answers to the
exam questions. A satisfactory performance (50% or greater) in the both
partial exams is a necessary requirement to pass this course, irrespective of
the marks obtained in the other components.
Final examination:
The final oral exam covers all topics of the module. The objective is to ensure
that the student has an appropriate understanding of the concepts, results and
methods of the course.
Prerequisites
Module title Fundamentals of Computing
Module code ETF OR I-1170
Programme ETF-B ACE, PE, CI, TC
Module
coordinator Dr Vedran Ljubović, Assistant Professor
Teaching staff Dr Vedran Ljubović, Assistant Professor
Emir Cogo, MoE, Teaching Assistant
Year of study 1
Semester 1
Module type Mandatory
ECTS 6
Lectures 44
Laboratory
exercises 26
Tutorials 0
Workload –
Independent Study 80
Module outcomes
A student who successfully completes the course will have the ability to:
understand fundamental concepts in computing and informatics
involving: number systems, basics of computer architecture, and information
technology applications;
conceptually understand problem solving strategies using
algorithmic approach;
understand the basic terminology used in computer programming;
design simple programs in C language involving: program control
statements, arrays, structures, functions, pointers, and input-output
operations.
write, compile and debug simple programs in C language.
Module content
1. Introduction: Problem analysis, problem solving methods,
algorithms, flow diagrams, program development, top-down and bottom-up
development methodology, programming languages.
2. Number systems, basics of Boolean algebra, basics of
microprocessor technology, basics of computer architecture, processor
structure and function, bus and registry, RAM and ROM memory, input and
output, peripheral memories.
3. Basic survey of computing and informatics: local and global
computer networks, human-computer communication, network services,
internet, electronic mail; Software: structure and organization of computer
programs, system software, operating systems, application software
4. Programming language C: syntax, data types, local and global
variables.
Page 19 of 82
5. Control structures, operators, arrays, pointers, pointer declaration
and initialization, strings
6. Functions, function definitions, function prototype, function
arguments, function calls and passing arguments to functions: passing by
value and passing by reference, recursive functions
7. Structures, arrays of structures, accessing array elements, operations
on structures
8. Files, work with files, modular programming in C, library functions,
dynamic allocation.
Literature
Recommended
1. Notes and slides from lectures (See Faculty WEB Site)
2. Mark Burel, Fundamentals of Computer Architecture, Palgrave
Macmillan, 2003.
3. Brian W. Kernighan, Dennis M. Ritchie, C Programming Language,
Prentice Hall Inc., 1988.
4. Al Kelley, Ira Pohl, A Book on C, Addison-Wesley, 1998
Additional
Didactic methods
Lectures introduce fundamental concepts of computing and programming. In
this way students are introduced with different components of the computer,
different number systems and its conversions and problem-solving strategies.
Besides presentation of the fundamental concepts in computing and
programming, lectures also consist of the presentations of appropriate
examples illustrating introduced concepts. Laboratory exercises and home
assignments include additional examples and problems closely coordinated
with the lectures. In this way, the laboratory exercises and home assignments
contributes to the development of the student ability to understand basic
concepts in computing and programming, and ability to design and
implement programs in C programming language to solve simple computing
problems.
Assessment
The grading of the course is as follows:
Attending lectures and laboratory exercises (maximum 10
points). Student with more than three absences from lectures
and/or laboratory exercises cannot get these points.
5 home assignments equally distributed throughout the semester
(maximum 10 points)
Two partial exams:
- First partial exam (maximum 20 points)
- Second partial exam (maximum 20 points)
The partial exams cover all material presented in the lectures,
laboratory work and home assignments. During the partial
exams students are tested for understanding of fundamental
concepts in computing and programming, and their ability to
solve simple programming problems in C programming
language.
Final exam (maximum 40 points)
Students who passed both partial exams (minimum 10 points) can get access
to the final exam. The final exam covers material from the entire semester,
including lectures, laboratory exercises and home assignments. Passing the
final exam is necessary for passing the course. In order to get positive final
grade, students must earn minimum of 55 points including attending, home
assignments, two partial exams and final exam. Students who have not passed
only the second partial exam must repeat a failed exam. Students who have
not passed both partial exams must pass integral exam covering material from
entire semester.
Prerequisites
Page 20 of 82
Module title Mathematics for Engineers 2
Module code ETF IM2 I-1280
Programme ETF-B ACE, PE, CI, TC
Module
coordinator
Dr Muharem Alispahić, Professor
Teaching staff
Dr Muharem Alispahić, Professor
Mehmed Brkić, MoE, Senior Teachnig Assistant
Zlatan Tucaković, MoE, Teaching Assistant
Vedran Karahodžić, MoE, Teaching Assistant
Year of study 1
Semester 2
Module type Mandatory
ECTS 7
Lectures 52
Laboratory
exercises 0
Tutorials 28
Workload –
Independent Study 95
Module outcomes
After completing the course the student should:
• develop a sense of creativity;
• master the standard techniques of solving basic types of simple
differential equations of the first and higher order and system of linear
differential equations;
• understand the concepts of the Laplace transform, Fourier series,
Fourier transform, Fourier integral and a good knowledge of their basic
components and important applications;
• grasp the basic techniques of differential and integral calculus of
real and vector functions of several real variables and enable them for their
application in physics and other natural sciences;
• acquire the necessary knowledge about optimization problems
applying standard and conditional extrema of functions of multiple
variables;
• understand basic terms of theory of scalar and vector fields as well
as knowing their basic properties;
• understand the role which differential equations and the theory of
functions of several variables have in mathematical modelling of concrete
physical and other problems.
Module content
1. Ordinary differential equations of the first order : Basic concepts and ideas. Geometrical consideration. Isoclines. Separation
of variables. Linear differential equations of the first order. Variation of
constants.
2. Ordinary differential equations of the higher order: Homogeneous linear differential equations of second order with constant
coefficients. General solution. Cauchy's equation. Homogeneous
differential equations of higher order with constant coefficients.
Nonhomogeneous linear differential equations. General method for solving
nonhomogeneous equations. Systems of differential equations.
3. Laplace transform: Direct and inverse Laplace transform. Basic properties. Laplace transform
Page 21 of 82
of derivatives and integrals. Transformation of ordinary differential
equations. Unit step function. Periodic functions.
4. Fourier series, integrals and transforms: Periodic functions. Trigonometric series. Fourier series. Euler's formulas.
Functions with arbitrary period. Even and odd functions. Fourier integrals.
Fourier transform
5. Basis of differential calculus of functions of several real variables: Functions of several real variables. Continuity. Limits. Polar coordinates in
the plane. Calculating limits using a coordinate transformation. Directional
derivative. Higher order partial derivatives. Gradient. Derivative of a
composite function.
6. Taylor’s formula – Optimization I : Local extrema. Necessary condition for existing local extremes (Fermat's
theorem). Second order derivative of scalar function of two variables.
Quadratic forms, classification. Necessary condition for the local extrema
to have an inner point. Sufficient condition for local extrema.
7. Optimization II (Relative extrema-relative maximum or minimum):
Presentation of curve and surface in implicit form. Tangent space and
normal space on the curve given by the equation f (x, y) = 0. Equation of a
tangent, equation of a tangent plane and equation(s) of the normal line.
Points in which there is related extrema. Critical points. Gradient in a
critical point. Necessary condition for the local extrema of function defined
on the curve or surface (interpretation of the Lagrange multipliers and
applications to optimization problems).
8. Vector field theory: Scalar and vector fields. Vector calculus. Curves. Arc length. Tangent.
Curvature and involution. Speed and acceleration. Directional derivative.
Gradient of a scalar field. Divergence and rotor of vector fields.
9. Integral calculus of functions of several real variables: Line integrals of the first and second kind. Double integrals and double
integrals as iterated integrals. Transformation of double integrals into line
integrals. Surfaces. Tangent plane. Surface integrals of the first and second
kind. Triple integrals, triple integrals as iterated integrals and multiple
integrals. Gauss’ divergence theorem. Stokes’ theorem. Consequences and
applications of Gauss' and Stokes'theorems. Line integrals & independence
of path.
Literature
Recommended
1. H. Fatkić: Inženjerska matematika 2, Slajdovi i bilješke, Sarajevo,
2013, http://www.etf.unsa.ba/.
2. H. Fatkić, V. Dragičević, Diferencijalni račun funkcija dviju i više
promjenjivih, I.P. Svjetlost, Sarajevo, 2006. (University book)
3. D. Mihailović, D. Đ. Tošić, Elementi matematičke analize II,
(Funkcije više promjenljivih, vektorska analiza, višestruki integrali i teorija
polja), Naučna knjiga, Beograd, 1976; 1988; 1991. (Textbook)
4. P. M. Miličić, M. P. Ušćumlić: Zbirka zadataka iz više matematike
II, Građevinska knjiga, Beograd, 1971; ..., 1988.
5. M. Pašić, Matematika 2 sa zbirkom riješenih primjera i zadataka,
Merkur A.B.D., Zagreb, 2006.
Additional
1. T. M. Apostol, Calculus, Vol. II, Second Edition, (1967), and the
additional course notes by James Raymond Munkres, Professor of
Mathematics, Emeritus (at MIT).
2. A. Dautović, Laplaceova transformacija - Zbirka riješenih
zadataka, ETF, Sarajevo, 2010.
3. B. P. Demidovič i dr., Zadaci i riješeni primjeri iz više
matematike s primjenom na tehničke nauke (prijevod), Tehnička knjiga,
Zagreb, 1971; Danjar, Zagreb, 1995.
4. V. Dragičević, H. Fatkić, Određeni i višestruki integrali, IGKRO
Svjetlost, Zavod za udžbenike, Sarajevo, 1979. (I. izd.); 1987. ( II izd.).
(Textbook))
5. M. Galić, E. Osmanagić, Matematika III, Normirani i metrički
prostori, diferencijalne jednačine i redovi, Elektrotehnički fakultet,
Page 22 of 82
Sarajevo, 1977.
6. S. Kurepa, Matematička analiza. Treći dio. Funkcije više varijabli,
Tehnička knjiga, Zagreb, 1975.
7. M. Nurkanović, Z. Nurkanović, Laplaceova transformacija i
primjena, PrintCom d.o.o. grafički inženjering, Tuzla, 2010.
8. F. Vajzović, M. Malenica, Diferencijalni i integralni račun
funkcija više promjenljivih, Univerzitetska knjiga, Studentska štamparija
Univerziteta u Sarajevu, Sarajevo, 2002. (University book)
9. M. Vuković, Diferencijalne jednačine, Prvi dio, Univerzitetska
knjiga, Studentska štamparija Univerziteta u Sarajevu, Sarajevo, 2000.
(University book)
Didactic methods
The course is carried out through theoretical lectures that serve to present
the concepts of differential and integral calculus for real functions of
a real variable. These lectures are supported by solving of mathematical
problems by lecturers with the goal of having the students master the
instruments and methods introduced in lectures.
Under guidance and monitoring by academic tutors, other mathematical
problems, including the ones from pervious exam terms, are solved as well.
These activities are organised in a way that the level of students’
preparedness to master the knowledge and skills they need to acquire
during the course is continuously checked through the curriculum which
includes homework and partial exams.
Assessment
Student collects points during the course based on the following system*):
• attendance at lectures and tutorials carries 10 points; student who
misses three or more lectures and/or tutorials cannot collect points on this
basis;
• homework carries maximum 10 points; students need to prepare 3
to 5 homework assignments that are equally distributed during semester;
• Partial exams: two partial exams, out of which each carries
maximum 20 points.
Partial exams (90 minutes long) carry tests comprised of multiple choice
answers, out of which only one is the correct one (student who answers
correctly to all the multiple choice tests achieves maximum 10 points), as
well as one open answer test (correct answer to this test brings 10 points).
Students who passed both partial exams in a semester (achieved 10 or more
points at each test) takes the final oral exam; this exam is comprised of
discussion on assignments from partial exams, homework, and answers to
simple questions which refer to the topic of the course (definitions,
formulations, and presentation of simpler evidence of the most important
traits and/or theorems. Final oral exam is focused on integral matter of the
course stipulated by study programme. The goal of this exam is to check
whether students achieved adequate understanding of concepts and
practical matters presented during the course.
Final oral exam carries maximum 40 points. In order to achieve passing
grade, students have to achieve minimum 15 points at this exam. Students
who don’t achieve minimum number of points will take oral part of
makeup exam.
Students who fail both partial exams will take makeup exam.
Makeup exam is organised in the following way:
• written part, which is structured the same way as partial written
exam; within this exam students will take the tests from partial exam in
which they failed to achieve a passing grade (10 or more points);
• oral part, which is structured the same way as oral part of the final
exam.
Students who achieved total score of 10 or more points in each of the two
partial exams after taking the written part of makeup exam are eligible to
take the oral part of makeup exam; the score is comprised of points
collected through passing of partial exams and passing of written part of
Page 23 of 82
makeup exam.
Oral makeup test carries maximum 40 points. In order to get a passing
grade, students need to achieve minimum 15 points in this exam and at the
same time achieve minimum 55 points out of possible 100 (including the
points for attendance, homework, and two partial exams passed). Students
who do not achieve these minimums have to retake the course.
----------------
*) Attendance at all aspects of teaching is mandatory.
Prerequisites
Mathematics for Engineers 1 – ETF IM1 I-1175
Module title Programming Techniques
Module code ETF TP I-1270
Programme ETF-B ACE, PE, CI, TC
Module
coordinator Dr Željko Jurić, Associate Professor
Teaching staff
Dr Željko Jurić, Associate Professor
Kerim Hodžić, MoE, Teaching Assistant
Nina Slamnik, MoE, Teaching Assistant
Year of study 1
Semester 2
Module type Mandatory
ECTS 6
Lectures 44
Laboratory
exercises 26
Tutorials 0
Workload –
Independent Study 80
Module outcomes
The student that completes the course successfully will get the following
competences:
Knowledge about common programming techniques.
Understanding of different approaches to solving programming
problems (imperative, object based and object oriented approach).
Ability of analyzing of the stated problem and judgement abouv
what approach is the best one for its solving.
Ability of solving the analysed problem and its implementation in
some programming language derived from programming language C (C++,
Java, C#, etc.).
Module content
1. Basic imperative programming in C++: Basic elements of C++
language; Input and output stream; Standard C++ libraries; Types in C++;
Logical and enumerated data types; Vectors, deques and strings;
Exceptions; References; Default function parameters; Function
overloading; Generic functions and remplates; Concepts and models.
2. Advanced imperative programming in C++: Dynamic memory
allocation; Dynamic variables; Memory leaks; Dynamic arrays; Exceptions
during dynamic memory allocation; Complex pointer types (pointers to
arrays, arrays of pointers, pointers to pointers); Application of complex
pointer types to the dynamic allocation of multidimensional arrays; Indirect
data access; Pointers to functions; Standard library algorithms; Blocks and
Page 24 of 82
iterators; Usage of standard algorithms for sorting and searching; Structs;
Pointers to structs; Dynamic allocation of structs; Arrays and vectors of
pointers to structs; Generic structs; Structs with pointer data members;
Shallow copying; Nodes; Linked lists.
3. Object based programming in C++: Limitations of structs for data
modeling; Object based philosophy; Classes and class instances (objects);
Methods and member functions; Information hiding; Encapsulation; Class
interface; Friend functions and classes; Constructors; Destructors;
Interaction between destructors and shallow copies; Deep copying; Copy
constructor; Overloaded assignment operator; Techniques for memory
management; Generic classes; Operator overloading; Function objects
(functors); Standard library functors; Binders and adaptors.
4. Object oriented programming in C++: Inheritance; Base and
derived classes; Object slicing; Inheritance and pointers; Static and
dynamic types; Virtual member functions; Polymorhism; Heterogenic
container objects; Type identification; Class hierarchies; Pure member
functions; Abstract base classes; Polymorphic copying; Files; Serialization
of container classes
5. Example of object oriented design; Arithmetical expression trees;
Why object oriented approach is necessary; Problem of memory
management; Handle classes; Expanding of the functionality
Literature
Recommended
1. Ž. Jurić: “Principi programiranja (kroz programski jezik C++)”,
ETF Sarajevo, in preparation, working version available
2. J. Šribar, B. Motik: “Demistificirani C++ (2nd
edition)”, Element,
Zagreb, 2003.
3. B. Eckel: “Misliti na jeziku C++, Prvi tom: Uvod u standardni
C++ (translation of 2nd
edition)”, Prentice Hall Inc, translated by Mikro
Knjiga, Beograd, 2003.
Additional
1. L. Kraus: “Programski jezik C++ (sa rešenim zadacima)”,
Elektrotehnički fakultet Univerziteta u Beogradu, 1997.
2. S. Oualline: “Kako ne treba programirati na jeziku C++
(translation)”, translated by Mikro Knjiga, Beograd, 2003.
3. B. Stroustrup: “The C++ Programming Language (2nd Edition)”,
Addison-Wesley, Reading, MA, 1991.
4. M. Harmann, R. Jones: “First Course in C++: A Gentle
Introduction”, Univ. of North London, McGraw-Hill Companies, 1997.
Didactic methods
The lectures covers various programing techniques and approaches to the
solving programming problems through the programming language C++.
Students are also prepared for studying the literature independently. The
lectures include simpler examples that illustrate covered theoretical
concepts. On the lab excerises, various simpler to moderately hard
problems are analysed and solved that are related to the topics covered on
the lectures, also in the programming language C++. Harder problems
and case studies are covered through homeworks.
Assessment
The valuation of the student success is as follows:
Active participation in lectures and laboratory exercises (presence,
discussion, testing of factual knowledge), 10 points. On the beginning of
each lab exercise, the student get a short 5-minute quiz that checks whether
the student is prepared for the exercise or not. The student which did not
pass the quiz can not access the exercise. The student that have 4 or more
absences will not get these points.
I partial written exam, 20 points, 4-7 easy to moderately difficult
programmings tasks, exam duration 2 hours
II partial written exam, 20 points, 1-3 moderately difficult
programming tasks, exam duration 2 hours
Homeworks, 20 points, 25-35 moderately difficult to hard
Page 25 of 82
programming tasks, divided in 6-9 blocks (in average every 10 days), the
time limit for solving one block is 8 days
Final oral examination, checking of factual knowledge and
understanding of the theoretical concepts, exam duration 20 min.
Only students that pass both partial exams may approach to the final
examination. For the overall pass, the student must pass the oral exam and
must achieve at least 55 points in summary.
Prerequisites
Fundamentals of Computing – ETF OR I-1170
Module title Mathematical Logic and Computability Theory
Module code ETF ML I–1270
Programme ETF-B CI
Module
coordinator Dr Dinko Osmanković, Assistant Professor
Teaching staff Dr Dinko Osmanković, Assistanr Professor
Zlatan Tucaković, MoE, Teaching Assistant
Year of study 1
Semester 2
Module type Mandatory (for Computing and Informatics)
ECTS 7
Lectures 42
Laboratory
exercises –
Tutorials 28
Workload –
Independent Study 105
Module outcomes
The student that completes the course successfully will get the following
competences:
• Ability of identification of problems from computer science with
background in mathematical logic, set theory and computability theory.
• Ability of analysing and solving problems from the branches
mentioned above, after their successful identification.
• Ability of evaluation of the quality of obtained solution of the
problems mentioned above, and their generalization.
Module content
1. Introduction and motivation: Mathematical logic as a branch of the
discrete mathematics; Continuous (analog), digital and discrete quantities;
Connection between continuous and discrete quantities; Importance of
mathematical logic for studying discrete quantities.
2. Elements of the propositional logic and propositional algebra:
Propositions; Laws of the propositional logic; Transformations of
propositional expressions; Tautologies and mathematical way of deriving
conclusions; Abstract formal logic; Standard forms of logical expressions;
Quine’s method for deriving minimal Sum of Products and Product of Sums;
Sheffer’s and Pierce’s operations; Bases of the logical algebra.
3. Elements of the set theory: Basic concepts of the set theory;
Operations with sets; Laws of the algebra of sets; Ordered n-tuples and
Cartesian product of sets; Binary and n-ary relations; Relational database
models; Functions; Equivalence and ordering relations; Natural numbers as
sets; Cardinal numbers; Contraverses of naive set theory and axiomatic set
theory.
4. Boolean algebra and related topics: Concept and important
examples of Boolean algebra; Switching functions; Arithmetization of
switching functions; Zhegalkin algebra; Ternary logics; Fuzzy logic; Fuzzy
sets and relations; Principles of approximate reasoning.
5. Elements of the predicate logic: Concept of predicate;
Page 26 of 82
Quantificators; Free and bound variables; First order predicate logic;
Interpretations of the first order predicate logic; Valid expressions and logical
consequences; Reducing of predicate expressions to the prenex normal form;
Positive test for validity of predicate expressions; Second order predicate
logic.
6. Elements of the computability theory: Concept of the algorithm;
Algorithmically unsolvable problems; Turing machine as a model of
universal computing machine; Universal register machines; Kleene’s concept
of recursive functions; Post’s rewritting systems; Normal algorithms of
Markov; Church’s λ-calculus.
Literature
Recommended
1. Ž. Jurić: “Diskretna matematika za studente tehničkih nauka”, ETF
Sarajevo, 2011.
2. D. M. Cvetković, S. K. Simić: “Diskretna matematika – Matematika
za kompjuterske nauke”, Prosveta, Niš, 1996.
3. K. H. Rosen: “Discrete Mathematics and Its Applications”, McGraw
Hill Companies, 1998.
Additional
1. R. Johnsonbaugh: “Discrete Mathematics”, Pearson Prentice Hall,
2005.
2. J. Gruska: “Foundations of Computing”, International Thomson
Computer Press, 1997.
3. M. J. Atallah et al.: “Algorithms and Theory of Computation
Handbook”, CRC Press LLC, 1999.
4. M. Sipser: “Introduction to the Theory of Computation”, 2nd
edition,
Thompson Learning Inc., Boston, 2006.
Didactic methods
The lectures covers theoretical concepts from the mathematical logic and the
computability theory. They are illustrated through simpler examples. Also,
students are prepared for studying the literature independently. On the
tutorials, various simpler and moderate complex problems related to lectures
are analysed and solved. Harder problems and case studies are covered
through homeworks.
Assessment
The valuation of the student success is as follows:
• Active participation in lectures and tutorials (presence, discussion),
10 points. The student that have 4 or more absences will not get these points.
• I partial written exam, 20 points, 6-8 easy to moderately difficult
problem solving tasks, exam duration 2 hours.
• II partial written exam, 20 points, 5-7 easy to moderately difficult
problem solving tasks, exam duration 2 hours.
• Homeworks, 10 points, 20-40 moderately difficult to hard problem
solving tasks, divided in 5 blocks (in average every 2 weeks), the time limit
for solving one block is 7 days
• Final oral examination, checking of factual knowledge and
understanding of the theoretical concepts, exam duration 20 min.
Only students that pass both partial exams may approach to the final
examination. For the overall pass, the student must pass the oral exam and
must achieve at least 55 points in summary.
Prerequisites
Mathematics for Engineers 1 – ETF IM1 I-1175
Linear Algebra and Geometry – ETF LAG I-1160
Module title Probability and Statistics
Module code ETF RIO VS I-1260
Programme ETF-B CI
Module
coordinator Dr Amela Muratović Ribić, Associate Professor
Teaching staff
Dr Amela Muratović Ribić, Associate Professor
Vedran Karahodžić, MoE, Teaching Assistant
Meliha Dulić, MoE, Teaching Assistant
Page 27 of 82
Year of study 1
Semester 2
Module type Mandatory (for Computing and Informatics)
ECTS 5
Lectures 38
Laboratory
exercises 0
Tutorials 22
Workload –
Independent Study 65
Module outcomes
After successful completion of the course, student will be able to:
Explain concepts at high levels and implement basic operations in
probability and statistics.
Use the methods of hypothesis testing and parametric estimation for
some statistical problems.
Develop mathematical models using probability and statistics.
Apply statistical and computational methods to a range of problems
in science and engineering involving probability and statistics.
Module content
1. Introduction to statistics and data analysis. The sample mean,
median, variance, standard deviation. Discrete and continuous data,
Graphical diagnostics.
2. Combinatorics: combinations, permutations, definition of the
probability. Additive rules.
3. Conditional probability, independence and Bayes' rule.
4. Random variables. Distributions.
5. Mathematical expectation, mean, median, variance and covariance
of random variables.
6. Means and variances of linear combinations of random variables.
Chebyshev's theorem.
7. Some discrete probability distributions: binomial, multynomial,
hypergeometric , Poisson
8. Some continuous probability distributions: normal, Gamma,
exponential, Chi-square.
9. Fundamental sampling distributions and data description. Central
limit theorem.
10. One and Two-Sample estimation problems: mean, prediction
intervals, proportion, variance
11. Statistical hypothesis. Testing statistical hypothesis.
12. Simple linear regression and correlation.
Literature
Recommended
1. Slides available on the web page
2. Ronald E. Walpole, Raymond H. Myers, Sharon L. Myers, Keying
Ye, Probability&Statistics, Pearson
Additional
Didactic methods
During the lectures, main theoretical concepts of probability and statistics are
explained with a lot of examples and applications. Interactive teaching
process implies that students solve simple problems and understanding.
Group project includes sampling, analysis the data and making statistical
hypothesis. Homework contains additional problems and examples.
Therefore, project and homework make students eligible to implement
learned tools of probability and statistics. Data analysis on project and
homework should be done by use of computers.
Assessment
The final score is obtained as follows
• 10 points for attendance and activities during lecture and recitations
10 points for homeworks and group project.
Page 28 of 82
20 points first partial written exam, problem solving, 10 points is considered
pass
20 points second partial written exam, problem solving, 10 points is
considered pass
• 40 points for final oral exam (where 15 points is considered passed
the exam), checking the facts.
Only the students who have achieved the above criteria by at least 40 points
can participate. Students who did not pass required parts of the course have
two chances for remedial exam.
Final score: Below 20 points retake course, score 21-54 grade 5, score 55-64
grade 6, score 65-74 grade 7, score 75-84 grade 8, score 85-94 grade 9, score
95-100 grade 10.
Prerequisites
Mathematics for Engineers 1 – ETF IM1 I-1175
Module title Operating Systems
Module code ETF RIO OS 1260
Programme ETF-B
Module
coordinator Dr Samir Ribić, Associate Professor
Teaching staff
Dr Samir Ribić, Associate Professor
Kerim Hodžić, MoE, Teaching Assistan
Lamija Ćemalović, Teaching Assistant
Year of study 1
Semester 2
Module type Mandatory
ECTS 5
Lectures 38
Laboratory
exercises 22
Tutorials 0
Workload –
Independent Study 65
Module outcomes
After successful completion of the course, student will be able to:
Identify the major components of an operating system and explain
their functions individually.
Discuss the operating system features required for a particular target
application.
Understand the various levels of system and application software.
Get familiar with the major Operating System services such as file
systems, memory management, process management, device control and user
interface.
Understand how design decisions in Operating Systems affect users
of the system.
Use and modify operating systems.
Module content
1. Introduction: Role, functions and structure of operation system,
historical development of operation systems: batch, multiprogramming, time
sharing
2. Structure of computer system, interrupts and interrupt management,
input-output operations, dual mode of processor work,
3. Structure of operating system: layered structure of operation system,
monolithic and microkernel, functional organization of UNIX operation
system.
4. Resource management, I/O manager, methods for stoppage
management, banker's algorithm.
5. Process management: Concept and condition of processes context
switching, operation over processes, process representation, threads and
Page 29 of 82
thread management, process management in UNIX/Windows, inter-process
communication using message transfer: direct, indirect, buffering, usage of
pipes and signals.
6. Shared memory usage: process synchronization problem, critical
section and mutual exclusion, semaphores and hardware techniques for
synchronization: test and set.
7. Processor scheduling: General concepts and criteria of distribution,
dispatcher scheduling algorithms: FCFS, SJF, priority, Round Robin, MFQ,
scheduling examples from UNIX and WINDOWS operation systems.
8. Memory management: Loaders, general concepts address translation
from logical to physical, memory allocation, continual: with one or more
partitions, static and dynamical and non-continuous: paging and segmenting,
virtual memory, memory management in UNIX.
9. File management: Structures of file system, free space management,
file and directory implementation, file systems in Unix and Windows
operation systems: logical organization of files, file/directory access
management, file protection,
10. User interface, textual, graphical and network
11. DOS, Windows and Linux system architecture, using customizing i
and participating in development of Linux systems
Literature
Recommended
1. Slides and lecture notes available at web page and in printed form
2. Silberschatz A., "Operating System Principles", 7th Edition, Addison
Wesley, 2006.
Additional
1. Ribić S, “Linux distribucija BHLD”, priručnik, Elektrotehnički
fakultet u Sarajevu, 2011
2. Đorđević B., Pleskonjić D, Maček N, “Operativni sistemi, teorija,
praksa i rešeni zadaci”, Mikro knjiga, Beograd 2005
3. Tanenbaum A., "Modern Operating Systems", 3rd Edition Prentice Hall,
2008.
4. Stallings W., "Operating Systems: Internals and Design Principles,”, 6th
Edition, Prentice Hall, 2009.
Didactic methods
Lectures, self-usage of literature, numerical problem solving, practical usage
of operating systems.
The lectures include basic operating systems principles. The students are
informed about different kernel subsystems and their relationships. In
addition to basic principles of the operating systems, the lectures include
quantitative principles that illustrate introduced concepts and algorithms. The
labs include workings with operating systems from user and system
perspective. The homework might include additional examples and problems
closely related with lectures or contributions in open source OS development.
Therefore labs and home works contribute to students competencies of
operating systems understandings and competences for usage and
customizing of operating systems.
Assessment
The final score is obtained as follows:
10 points for attendance and activities during lecture and laboratory
exercises
10 points for homeworks. The students choose beween problem-
solving assignements or group project in development of local operational
systems
20 points first partial written exam, problem solving, 10 points is
considered pass
20 points second partial written exam, problem solving, 10 points is
considered pass
40 points and a final oral exam (where 15 points is considered
passed the exam), checking the facts. Only the students who have achieved
the above criteria by at least 40 points can participate. Students who did not
pass required parts of the course have two chances for remedial exam.
Final score: Below 20 points retake course, score 21-54 grade 5, score 55-64
Page 30 of 82
grade 6, score 65-74 grade 7, score 75-84 grade 8, score 85-94 grade 9, score
95-100 grade 10.
Prerequisites
Fundamentals of Computing – ETF OR I-1170
Module title Algorithms and Data Structures
Module code ETF RIO ASP I-2360
Programme ETF-B
Module
coordinator
Dr Haris Šupić, Professor
Teaching staff
Dr Haris Šupić, Professor
Emir Cogo, MoE, Teaching Assistant
Orhan Ljubunčić, MoE, Teaching Assistant
Year of study 2
Semester 3
Module type Mandatory
ECTS 5
Lectures 38
Laboratory
exercises 22
Tutorials 0
Workload –
Independent Study 65
Module outcomes
A student who successfully completes the course will have the ability to:
understand time and space algorithm complexity terminology and
notations;
analyse some fundamental algorithms and estimate their time and
space complexities;
understand a common techniques and principles for designing
algorithms;
understand some fundamental algorithms and data structures used in
computing and solve computational problems using them;
design and implement in C++ programming language appropriate
algorithms and data structures for solving computing problems;
determine which algorithm and data structure to use in different
situations.
Module content
1. Introduction to algorithms: algorithm analysis, complexity and
evaluation of algorithm complexity, complexity notations.
2. Definition, memory representation and classification of data
structures.
3. Arrays: one-dimensional arrays and multidimensional arrays.
4. Lists: single-linked, double-linked, rings and special cases like
stacks and queues.
5. Trees: binary trees, balanced trees, search trees.
6. Heap, hashing, hash tables, graphs.
7. Classic sequential sorting algorithms (bubble sort, selection sort,
insertion sort, shell sort, quick sort, radix sort, heap sort, external sorting) and
searching algorithms (sequential search, binary search, binary tree search,
hashing, external searching).
8. Techniques (paradigms) in algorithm design: divide and conquer
dynamic programming algorithms, greedy algorithms, backtracking
algorithms, branch and bound algorithms, randomized algorithms.
9. Graph algorithms, shortest path algorithms, minimum spanning tree
algorithms, network flow algorithms.
10. Practical work: implementation of specific data structures and
algorithms in C++ programming language.
Literature
Page 31 of 82
Recommended
1. Notes and slides from lectures (See Faculty WEB Site)
2. T. Cormen, C.Leiserson, R. Rivest, C. Stein Introduction to
Algorithms", MIT Press Cambridge, MA, USA, 2009
3. R. Sedgewick, Algorithms in C++, Addison-Wesley Professional,
1998
4. H. Šupić, Algoritmi i strukture podataka, ETF Sarajevo, 2010 (in
Bosnian)
Additional 1. A. Drozdek, Data Structures and Algorithms in C++, Course
Technology; 3 edition , 2004
Didactic methods
Lectures introduce fundamental algorithms and data structures. Students are
introduced with algorithm analysis, time and space complexity notation, and
some fundamental algorithms and data structures. Besides presentation of
fundamental algorithms and data structures, lectures also consist of
presentation of illustrative examples. Laboratory exercises and home
assignments include additional examples and problems closely coordinated
with the lectures. In this way, the laboratory exercises and home assignments
contributes to the development of the student ability to analyse algorithm
space and time complexities, and to design and implement algorithms and
data structures in C++ programming language.
Assessment
The grading of the course is as follows:
• Attending classes and laboratory exercises (maximum 10 points).
Student with more than three absences from lectures and/or laboratory
exercises cannot get these points.
• 5-10 home assignments equally distributed throughout the semester
(maximum 10 points)
• Two partial exams:
◦ First partial exam (maximum 20 points)
◦ Second partial exam (maximum 20 points)
• The partial exams cover all material presented in the lectures,
laboratory exercises and home assignments. During the partial exams
students are tested for their understanding of fundamental algorithms and
data structures. Students are also tested for the ability to design and
implement algorithms and data structures in C++ programming language.
• Final exam (maximum 40 points)
In order to get access to the final exam student must earn minimum of 40
points and pass both partial exams (minimum 10 points). The final exam
covers material from the entire semester, including lectures and assignments.
Passing the final exam is necessary for passing the course. In order to get
positive final grade, students must earn minimum of 55 points including
attending, home assignments, two partial exams and final exam. Students
who have not passed one ore both partial exams must repeat the failed partial
exams (less than 10 points).
Prerequisites
Programming Techniques – ETF TP I-1270
Module title Logic Design
Module code ETF RIO LD I-2360
Programme ETF-B
Module
coordinator Dr Novica Nosović, Professor
Teaching staff Dr Novica Nosović, Professor
Hana Haseljić, MoE, Teaching Assistant
Year of study 2
Semester 3
Page 32 of 82
Module type Mandatory
ECTS 5
Lectures 38
Laboratory
exercises 10
Tutorials 12
Workload –
Independent Study 65
Module outcomes
After successful finish of the course student should be able to:
understand the principles of Boolean algebra
analyze and design combinational and sequential structures of
medium complexity
understand the principles of building complex logic – sequential and
memory structures out of basic building blocks
understand the functionality of programmable sequencer (processor)
as a complex sequential structure – the core of digital computer
Module content
1. Numbering systems: binary, hexadecimal and other codes,
representation of negative and real numbers; arithmetics.
2. Boolean algebra: basic logic gates and logic operators, theorems,
methods for logic functions minimization, Karnaugh maps.
3. Basic components of combinational and sequential structures,
procedure for design of complex combinational and sequential structures.
4. Logic design of memory structures and basic principles of cache
memory.
5. Computer buses fundamentals, types, control methods, synchronous
and asynchronous data transfer and bus arbitration.
6. Basic input-output computer devices, their connection and control
methods (programs and interrupt system).
7. Realization of a programmable sequencer – simple processor with
microprogrammed control structure.
Literature
Recommended
1. Notes and lecture slides (see the faculty web page)
2. Nosović, N,:"OSNOVE DIGITALNIH RAČUNARA" University
textbook, Mag-Plus, Sarajevo 2003,
3. Željko Jurić, Novica Nosović, “Logičke osnove digitalnih i
računarskih sistema”, Textbook, Štamparija “Fojnica”, 2012.
Additional
1. Andrew S. Tanenbaum, "Structured Computer Organization",
Prentice Hall, New Jersy, 1976/84/90/99
2. Thomas L. Floyd, “Digital Fundamentals”, Prentice-Hall, 1997.
3. Vincent P. Heuring, Harry F. Jordan, “Computer Systems Design
and Architecture”, Pearson Education, Inc., 2004.
Didactic methods
The lectures cover the basic concepts of logic structures design. Students are
introduces to different number systems and their inter-conversions. Lessons
include design cases that illustrate introduced concepts. Tutorials, laboratory
exercises and homeworks include additional examples and problems closely
related to lecture materials, boosting student competences to understand the
basic concepts of logic design.
Assessment
Assessment of students achievements at the course are:
Presence at lectures and exercises (max. 10 points). Student that fail
to attend lectures and/or labs for more then three times, does not get this
points.
5 homeworks equally spread throughout the semester (max. 10
points)
Two midterm exams:
Page 33 of 82
◦ The first midterm exam ( max. 20 points)
◦ The second midterm exam ( max. 20 points)
Midterm exams reflect entire course materials covered on
lectures, tutorials and lab exercises. Midterm exams assess the
understanding of the basic principles of logic design, as well as
the abilities to design combinational and sequential structures
of medium complexity.
Final exam (max. 40 points).
Students that pass both midterms (min. 10 points each) can take the final
exam. Final exam cover all the course materials, including lectures, tutorials
and laboratory exercises. To pass the course, it is compulsory to pass the final
exam. To get passing final mark, student must collect minimally 55 points,
including: presence, homeworks, two midterm exams and final exam.
Student that fail one midterm exam, takes remedially exam. Student that fail
both midterms repeats the whole exam including the entire course materials.
Prerequisites
Module title Software Development
Module code ETF RIO RPR I-2360
Programme ETF-B
Module
coordinator Dr Dženana Đonko, Professor
Teaching staff
Dr Dženana Đonko, Professor
Kerim Hodžić, MoE, TeachingAssistant
Haris Hasić, MoE, TeachingAssistant
Year of study 2
Semester 3
Module type Mandatory
ECTS 5
Lectures 38
Laboratory
exercises 22
Tutorials 0
Workload –
Independent Study 65
Module outcomes
At the end of this course students have the following knowledge, skills and
competencies:
Ability to identify and define the requirements of simple systems
that require computational support
Ability to implement parts of computer based systems, including
programming of the necessary solutions
The ability to apply an iterative software development process
Understanding of basic and advanced object-oriented concepts
The ability of the individual organizing and implementation of the
parts of the project
The ability to design and implement graphical user interfaces and
event driven programming
Practical knowledge of .NET Framework and. NET languages
The ability to implement threads
Module content
1. Advanced concepts of object-oriented programming.
2. Principles and methods of organizing and decomposition of projects
Page 34 of 82
/ programs.
3. Software environments-introduction to software framework, .NET
framework and the C-based programming languages.
4. The basic principles of object-oriented design-design for simple
systems.
5. Graphical user interface (GUI) - basic GUI controls and
components.
6. Event driven programming.
7. Human-computer interaction, the principles of good design of
graphical user interfaces.
8. Design and implementation of graphical user components.
9. Exception handling: techniques of error handling, exception
handling mechanisms in the object-oriented languages.
10. Programming of persistent data manipulation.
11. Multithreading.
Literature
Recommended
1. Notes and slides from lectures (See Faculty WEB Site)
2. Ivor Horton ,Beginning Visual C++ 2010, Wrox, 2010
3. Jeff Johnson, Designing with the Mind in Mind: Simple Guide to
Understanding User Interface Design Rules, Morgan Kaufmann, 2010
Additional
Didactic methods
Theoretical concepts related to these topics are presented during the lectures.
The presented concepts are illustrated by examples and they are discussed
along with the students.
Throughout the semester students will be getting homework that is
thematically consistent with the lectures and tutorials related to the
implementation of software components of simple systems.
Concrete tasks related to the course and continuous monitoring of homework
will be worked on in the lab.
Assessment
During the course student earns points according to the following system:
attending classes and tutorials: 10 points, the student with more than
three absences from lectures and/or exercises cannot get these points;
homework: maximum of 25 points; assuming solving up to 5
assignments equally distributed throughout the semester;
partial exams: two partial exams, each partial exam earns a maximum of
20 points (pass mark is 10 points and more); exams are composed of a
theoretical part and a practical part that is done on the computer.
oral exam: maximum 25 points, consisting of questions related to
the course thematic units.
A student who does not pass the partial exams has to retake an exam.
Final grade is made on the basis of points collected for all activities during
the semester, based on the scale:
95-100 grade 10
85-94 grade 9
75-84 grade 8
65-74 grade 7
55-64 grade 6
Prerequisites
Programming Techniques - ETF TP I-1270
Module title Fundamentals of Database Systems
Module code ETF RIO OBP I-2460
Programme ETF-B CI, ACE
Module
coordinator Dr Emir Buza, Assistant Professor
Teaching staff Dr Emir Buza, Assistant Professor
Haris Hasić, MoE, TeachingAssistant
Page 35 of 82
Hana Haseljić, MoE, TeachingAssistant
Year of study 2
Semester 3
Module type Mandatory
ECTS 5
Lectures 40
Laboratory
exercises 20
Tutorials 0
Workload –
Independent Study 65
Module outcomes
The goal of this module is to provide fundamental knowledge of database
management systems. Students who successfully complete this course will
have the following competencies:
Understand the basic concepts of relational databases, including:
basic architecture relational databases, relational model, the entity
relationship diagrams, relational query language - SQL;
Develop the ability to analyze and apply the basic principles to
control transactions;
Develop the ability to design a database schema that includes tables,
views, triggers, store procedures, functions and packages;
Understand normalization form in order to overcome the functional
dependencies among data;
Module content
1. Introduction to databases: Historical overview of database
management systems (DBMS). Types of database management systems.
Architecture of database management systems. Basic elements of database
management systems.
2. Relation data model: Elements of relation data model. Types of
relation among tables. Entity relationship diagram.
3. Relational query language: Standards of the relational query
language. Structured Query Language - SQL. SQL commands for creation
objects in the database. SQL commands for: query, insert and delete data in
the database.
4. Advanced data search: General principles of joining tables.
Cartesian product. Inner join versus outer join. Joining two or more tables
under equality condition. Joining two or more tables on any condition except
under equality condition.
5. Data integrity: definition of data integrity. Basic ways of defining of
integrity conditions. Domain attributes and its implementation through data
integrity.
6. Stored procedures, functions and packages into the database. The
general difference among stored objects. Single row functions. Group
functions. User defined stored functions and procedures.
7. Data dependence: Functional dependence. Multiple dependences.
8. Normalization: anomalies of insertion, modifications and deletion.
Normal forms, normalization procedures
Literature
Recommended
1. Ramez Elmasri, Shamkant B. Navathe [2000], Fundamentals of
Database Systems, Addison-Wesley, 2000
2. C.J. Date, Database in Depth: The Relational Model for
Practitioners, O’Reilly, 2005
3. ANSI/ISO/IEC International Standard (IS), Database Language
SQL, 1999
Additional
1. H. Garcia-Molina, J. D. Ullman, J. D. Widom: Database Systems:
The Complete Book, Prentice-Hall, 2001.
2. Silberschatz, H. F. Korth, S. Sundarshan: Database System
Concepts, McGraw Hill, 2001.
Didactic methods
Page 36 of 82
The course is conducted through theoretical lectures in which concepts of
database management systems are presented. These lectures are supported by
creating tasks and presenting many examples in order for student to better
acquire knowledge from this course.
On laboratory exercises students solve practical assignments where it is
required from them to analyze the problem and compare it with theoretical
and practical examples from lectures. These activities are organized to enable
continuous Assessment through term paper and practical exercise of level of
preparedness of students required to comprehend knowledge and skills
required from them to reach in this course.
Assessment
During the course students earn points according to the following system:
Attending classes and tutorials: 10 points, student with more than
three absences from laboratory exercises cannot get these points.
Term paper: maximum of 10 points. Student is required to prepare
one term paper uniformly distributed throughout the semester.
Partial exams: two partial exams; each positively evaluated partial
exam with 20 points.
Students who gained less than 20 points during the semester must
repeat the course.
Students who earned 40 or more points during the semester will take a final
exam; the exam consists of discussion of problems from partial exams, home
assignments and answers to simple questions related to course topics. Final
oral exam provides maximum of 40 points. In order to get positive final
grade, students must earn minimum of 20 points in this exam. Student failing
to earn the minimum must take the repeat oral exam. Student, who earned 20
or more, and less than 40 points during the semester, will have to take the
repeat exam. The repeat exam is organized in the following manner:
Written part is structured similarly to partial written exam, during
which students solve problems in topics they failed on partial exams (less
than 10 points);
Oral part is structured the same as the oral part of the final exam.
Only students who managed to earn total score of 40 or more points in
written part of the repeat exam will be allowed to take the oral part of the
repeat exam, where the mentioned score consists of points earned through
attending lectures, solving home assignments, passing partial exams and
passing the written part of repeat exam. Oral repeat exam provides maximum
of 40 points. In order to achieve positive final grade students must earn
minimum of 20 points in this exam. Student failing to earn the minimum will
have to retake the module.
Prerequisites
Module title Discrete Mathematics
Module code ETF RIO DM I-2360
Programme ETF-B CI, ACE
Module coordinator Dr Željko Jurić, Associate Professor
Teaching staff Dr Željko Jurić, Associate Professor
Year of study 2
Semester 3
Module type Mandatory (CI), Elective (ACE)
ECTS 5
Lectures 39
Laboratory
exercises 0
Tutorials 21
Workload –
Independent Study 65
Module outcomes
Page 37 of 82
The student that completes the course successfully will get the following
competences:
Ability of identification of problems from computer science with
background in mathematical logic, set theory, number theory, combinatorics,
probability theory, graph theory, theory of discrete systems and
computability theory.
Ability of analyzing and solving problems from the branches
mentioned above, after their successful identification.
Ability of evaluation of the quality of obtained solution of the
problems mentioned above, and their generalization.
Module content
1. Introduction and motivation: What is discrete mathematics;
Continuous (analog) and discrete quantities; Connection between continuous
and discrete quantities.
2. Elements of the propositional logic and propositional algebra:
Propositions; Laws of the propositional logic; Transformations of
propositional expressions; Tautologies and mathematical way of deriving
conclusions; Standard forms of logical expressions; Quine’s method for
deriving minimal Sum of Products and Product of Sums; Sheffer’s and
Pierce’s operations; Bases of the logical algebra.
3. Elements of the set theory: Basic concepts of the set theory;
Operations with sets; Laws of the algebra of sets; Ordered n-tuples and
Cartesian product of sets; Relations; Functions; Equivalence and ordering
relations; Natural numbers as sets; Cardinal numbers; Contraverses of naive
set theory and axiomatic set theory.
4. Boolean algebra and related topics: Concept and important
examples of Boolean algebra; Switching functions; Arithmetization of
switching functions; Zhegalkin algebra; Ternary logics; Fuzzy logic.
5. Elements of the predicate logic: Concept of predicate;
Quantificators; Free and bound variables; First order predicate logic;
Interpretations of the first order predicate logic; Valid expressions and logical
consequences; Reducing of predicate expressions to the prenex normal form;
Positive test for validity of predicate expressions; Second order predicate
logic.
6. Introduction to the elementary number theory; Divisibility and
criteria for divisibility; Prime numbers; Greatest common divisor and least
common multiplier; Euclid algorithm; Diophantine equations; Euler totient
function and Fermat-Euler’s theorem; Congruences and modular arithmetics;
Linear and quadratic congruences; Some applications of the number theory
in cryptography.
7. Introduction to the combinatorics: Basic concepts; Permutations,
variations and combinations without and with repetitions; Sample selection
problem; Permutations of total disorder (dearrangements); Partitions and
compositions.
8. Introduction to the theory of discrete probability; Algebra of events;
Concept and calculation of probability; Conditional (relative) probability and
independent events; Total probability and Bayes’s theorem; Experimental
calculation of the probability and statistical interpretation of the meaning of
the probability.
9. Elements of the graph theory: Basic concepts and notations; Paths
and connectivity of graphs; Methods for the representations of graphs; Graph
isomorphism; Operations with graphs; Planar graphs; Eulerian and
Hamiltonian paths; Graph coloring; Trees, spanning trees and searching in
graphs; Minimal spanning trees; Shortest path problem; Transport networks
and maximal flow problem; Matching; Rooted trees and binary trees
10. Introduction to the theory of discrete systems: Discrete signals and
systems; Linear time-invariant systems; Discrete convolution; Transfer
function; Z-transform; Inverse z-transform; Applications of z-transform.
11. Elements of the computability theory: Concept of the algorithm;
Algorithmically unsolvable problems; Turing machine as a model of
universal computing machine; Universal register machines; Kleene’s concept
of recursive functions; Post’s rewritting systems; Normal algorithms of
Page 38 of 82
Markov; Church’s λ-calculus.
Literature
Recommended
1. Ž. Jurić: “Diskretna matematika za studente tehničkih nauka”, ETF
Sarajevo, 2011.
2. D. M. Cvetković, S. K. Simić: “Diskretna matematika –
Matematika za kompjuterske nauke”, Prosveta, Niš, 1996.
3. K. H. Rosen: “Discrete Mathematics and Its Applications”,
McGraw Hill Companies, 1998.
4. R. P. Grimaldi: “Discrete and Combinatorial Mathematics (An
Applied Introduction)”, Addison-Wesley Publishing Company, 1994.
Additional
1. D. Veljan: “Kombinatorika (s teorijom grafova)”, Školska knjiga,
Zagreb, 1989.
2. D. M. Cvetković, M. Milić: “Teorija grafova i njene primjene”,
Naučna knjiga, Beograd, 1990.
3. S. Muftić: “Matematske osnove kompjuterskih nauka”, Veselin
Masleša, Sarajevo, 1984.
4. R. Johnsonbaugh: “Discrete Mathematics”, Pearson Prentice Hall,
2005.
Didactic methods
The lectures covers theoretical concepts from the discrete mathematics.
They are illustrated through simpler examples. Also, students are prepared
for studying the literature independently. On the tutorials, various simpler
and moderate complex problems related to lectures are analysed and solved.
Harder problems and case studies are covered through homeworks.
Assessment
The valuation of the student success is as follows:
Active participation in lectures and tutorials (presence, discussion),
10 points. The student that have 4 or more absences will not get these points.
I partial written exam, 20 points, 9-11 easy to moderately difficult
problem solving tasks, exam duration 2 hours.
II partial written exam, 20 points, 8-9 easy to moderately difficult
problem solving tasks, exam duration 2 hours.
Homeworks, 10 points, 40-60 moderately difficult to hard problem
solving tasks, divided in 4-7 blocks (in average every 2 weeks), the time
limit for solving one block is 7 days
Final oral examination, checking of factual knowledge and
understanding of the theoretical concepts, exam duration 20 min.
Only students that pass both partial exams may approach to the final
examination. For the overall pass, the student must pass the oral exam and
must achieve at least 55 points in summary.
Prerequisites
Mathematics for Engineers 1 – ETF IM1 I-1175
Linear Algebra and Geometry – ETF LAG I-1160
Module title System Programming
Module code ETF RII SP I-2345
Programme ETF-B
Module
coordinator Dr Samir Ribić, Associate Professor
Teaching staff
Dr Samir Ribić, Associate Professor
Kerim Hodžić, MoE, TeachingAssistant
Lamija Ćemalović, Teaching Assistant
Year of study 2
Semester 3
Module type Elective
ECTS 5
Lectures 36
Laboratory
exercises 14
Page 39 of 82
Tutorials 0
Workload –
Independent Study 75
Module outcomes
After successful completion of the course, student will be able to:
Identify and explain the functions of the primary CPU components
of as registers, ALU, control unit, memory, input-output devices and also the
characteristics of instructions sets of typical microprocessors.
Demonstrate the ability to write simple assembly language programs
Explain the process of translating a program from high-level
language to low-level language codes
Understand the code generation and optimization process in
producing the low-level program codes.
Module content
1. Programmers view of the processor organization: Processor,
Arithmetic-logic unit. Control unit. N-address machines. Memory and
memory address. Registers. Program counter. Instructions.
2. Data addressing at system level: Access to data in registers.
Constants. Direct and indirect addressing. Index addressing. Data access
through stack. Linear memory and its alternatives (segments, pages).
3. Machine code and its generation. Assembler and binary presentation
of instructions. Data transfer instructions. Instructions for arithmetic and logic
operations. Instructions on non-conditioned jump. Conditioned jump. Stack.
Sub-programs. Coding and rotating. Assemblers.
4. Input and output: Memory and I/O mapped input output. Principle of
keyboard, disc, screen and communication devices functioning, at low and
OS API levels.
5. Interrupts / events and their service routines: Interrupt table.
Hardware interrupts. Software traps. Processor exemptions. Data storing
during the service routine processing. Most important routines.
6. Compilers: syntax, lexical and semantic analysis. LL and LR
parsing. Simple compiler. Presentation of syntax diagrams using syntax
procedures.
7. Code generating: memory, stack, global variables, dynamic and
static data, Compiler code generation. Realization of statements, operators,
procedures, local and global variables, program structures.
8. Builders, linkers: Principles of linker functioning, Make builder.
Principle of assembler function, single-pass and double-pass.
9. Runtime environment: loaders, executive file format, role of
registers, system functions, static and dynamic libraries. Virtual machines.
10. Program environment and tools for design and programming.
Command line compilers, interpreters, integrated environment, visual
environment.
11. Concurrency control techniques: parallel execution, threads,
semaphores, cross exclusion.
12. Valuation and optimization of performances. Profilers. Benchmarks.
Algorithm Assessment.
Literature
Recommended 1. Lecture notes available at web page and printed form
Additional
1. IA-32 Software developers manual, Intel corporation
2. Hyde R. The Art of Assembly language Programming
3. Crenshaw J., Let's build compiler
4. Patt and Pattel, Introduction to Computing Systems: From bits &
gates to C & beyond , McGraw Hill, 2003
Didactic methods
The lectures inform the students about low level languages programming
principles, assembly language, system calls and system programs like
compilers and software libraries. The lecture also include code examples that
illustrate given concepts. The labs and homework include additional program
and quantitative examples and problems closely tied with lectures. In that
way, the labs and homework contribute to competencies to learn about high
Page 40 of 82
level language transformation, into low level languages, system calls, IA-32
architecture, Win32 API and POSIX API.
Assessment
The final score is obtained as follows:
10 points for attendance and activities during lecture and laboratory
exercises
10 points for homeworks. The students choose beween problem-solving
assignements or group project in development of local operational systems
20 points first partial written exam, programming and problem solving, 10
points is considered pass
20 points second partial written exam, programming and problem solving, 10
points is considered pass
40 points and a final oral exam (where 15 points is considered
passed the exam), checking the facts.
Only the students who have achieved the above criteria by at least 40 points
can participate.Students who did not pass required parts of the course have
two chances for remedial exam.
Final score: Below 20 points retake course, score 21-54 grade 5, score 55-64
grade 6, score 65-74 grade 7, score 75-84 grade 8, score 85-94 grade 9, score
95-100 grade 10.
Prerequisites
Fundamentals of Computing – ETF OR I-1170
Module title Numerical Algorithms
Module code ETF RII DM I–3560
Programme ETF-B CI
Module
coordinator Dr Željko Jurić, Associate Professor
Teaching staff Dr Željko Jurić, Associate Professor
Year of study 2
Semester 3
Module type Elective
ECTS 5
Lectures 35
Laboratory
exercises 10
Tutorials 5
Workload –
Independent Study 75
Module outcomes
The student that completes the course successfully will get the following
competences:
• Conceptual understanding of problematics of working with numbers
with finite precision on the computer.
• Knowledge of theoretical basis of numerical mathematics that is
necessary for solving real problems.
• Knowledge of basic numerical algorithms and ability of solving real
problems using these algorithms.
• Ability of implementation of basic numerical algorithms on the
computer in some standard programming languages and solving the
numerical problems using the computer.
Module content
1. General notes about numerical algorithms: Significance of
numerical algorithms in computer science; Imposibility of exact
representation of continuous quantities in the computer; Rounding and
rounding errors.
2. Algorithms with integers: Classical algorithms; Algorithms for fast
multiplication; Algorithms for fast exponentiation and modular
exponentiation.
Page 41 of 82
3. Algorithms with quasi-real numbers: Polynomial and rational
approximations; Continuous fractions; Algorithms for evaluation of
polynomials and rational functions; Algorithms for evaluation of basic
elementary functions; Interpolation algorithms.
4. Algorithms of Linear Algebra: Matrix multiplication; Strassen’s
algorithm; Algorithms for matrix inversion and similar problems; Gaussian
elimination; LU factorization.
5. Algorithms of Calculus: Algorithms for finding limits; Richardson’s
princple of extrapolation towards the limit; Algorithms for numerical
derivation; Dual numbers and automatic diferentiation; Algorithms for
numerical integration; Trapezoid rule; Simpson’s rule; Romberg’s method;
Algorithms for solving differential equations; Applications in Physics and
Technics.
6. Algorithms of equations theory: Algorithms for approximate solving
of equations; Algorithms for approximate solving of systems of equations.
7. Fast Fourier transform and its applications: Fast convolution;
Algorithms for fast multiplication based on fast Fourier transform;
Approximate harmonic analysis.
8. Algorithms of Number Theory: Algorithms for primality testing;
Algorithms for factorization; Cryptographics algorithms.
Literature
Recommended
1. Ž. Jurić: “Numerički algoritmi”, working textbook, ETF Sarajevo,
available in electronic form
2. W. H. Press, S. A. Teukolsky, W. T. Vetterling, B. P. Flannery:
“Numerical Recipes – The Art of Scientific Computing”, 3rd
edition,
Cambridge University Press, 2007.
Additional
1. R. L. Burden, J. D. Faires: “Numerical Analysis”, Brooks/Cole Pub.,
7th
edition, 2001.
2. M. T. Heath: “Scientific Computing. An Introductory Survey”,
McGraw-Hill, 2nd
edition, 2001.
Didactic methods
The lectures covers theoretical concepts from numerical mathematics, which
are illustrated through simpler examples, with emphasize on the algorithmic
aspects. Also, students are prepared for studying the literature independently.
On the tutorials, various simpler and moderate complex problems related to
lectures are analysed and solved, with more detailed explanation of
presented algorithms. Harder problems and case studies are covered through
homeworks. On the lab exercises, students implement various algorithms
and solve problems which are presented on the lectures and the tutorials
using the computer.
Assessment
The valuation of the student success is as follows:
• Active participation in lectures and tutorials (presence, discussion),
10 points. The student that have 4 or more absences will not get these points.
• I partial written exam, 20 points, 3-4 easy to moderately difficult
problem solving tasks, exam duration 2 hours.
• II partial written exam, 20 points, 3-4 easy to moderately difficult
problem solving tasks, exam duration 2 hours.
• Homeworks, 20 points, 15-30 moderately difficult to hard problem
solving tasks, divided in 5 blocks (in average every 2 weeks), the time limit
for solving one block is 7 days.
• Final oral examination, 40 points, checking of factual knowledge
and understanding of the theoretical concepts, exam duration 20 min.
Only students that pass both partial exams may approach to the final
examination. For the overall pass, the student must pass the oral exam and
must achieve at least 55 points in summary.
Prerequisites
Mathematics for Engineers 1 – ETF IM1 I-1175
Linear Algebra and Geometry – ETF LAG I-1160
Programming Techniques – ETF TP I-1270
Page 42 of 82
Module title Computer Architecture
Module code ETF RIO RA I-2460
Programme ETF-B
Module coordinator Dr Novica Nosović
Teaching staff Dr Novica Nosović,
Alvin Huseinović, MoE, Teaching Assistant
Year of study 2
Semester 4
Module type Mandatory
ECTS 5
Lectures 40
Laboratory
exercises 20
Tutorials
Workload –
Independent Study 65
Module outcomes
After successful completion of the course student should be able to:
understand the principles of computer architecture of different kind
and for different use
analyze throughput, latency and parallelisms in modern computer
components
understand principles of instruction set architecture in modern
processor
understand operation of modern general purpose and special
purpose processors (microprocessors, microcontrollers, digital signal
processors, graphic processors).
Module content
1. Introduction to computer architecture – performances and
taxonomy, technological trends and economics of computer components.
2. Quantitative approach to computer design, Amdhal`s Law,
parallelisms, principles of locality.
3. Instruction set architecture, classification of instructions, addressing
modes, operand sizes, instruction encoding techniques.
4. Pipelines, hazards and ways of overcoming hazards, pipeline
control.
5. Instruction level parallelisms, basic compiler techniques for
exposing instruction level parallelism, branch prediction. Dynamic
instruction scheduling.
6. Memory hierarchy, cache-memory organizations, memory
technologies and optimizations, virtual memory.
7. Control over computer input-output devices, interconnections and
control methods (programmed and interrupt based).
8. The basics of parallel computer architecture design, multiprocessor
and multicomputer systems, shared and distributed memory.
Literature
Recommended
1. Lecture notes and slides (see the faculty web page)
2. Novica Nosović, Željko Jurić, “Osnove računarskih arhitektura",
Univerzitetski udžbenik, ETF-Sarajevo, 2012,
Additional
1. J.L. Hennessy, D.A. Patterson, “Computer Architecture – A
Quantitative Approach”, 5. Edition, Elsevier Inc. 2012.
2. D.A. Patterson, J.L. Hennessy, “Computer Organization and Design
– The Hardware/Software Interface”, Elsevier Inc. Last edition.
Didactic methods
The lectures cover basic concepts of contemporary computer architecture.
Students are introduced to computer components characteristics – their
throughput and latency. Lectures include examples of modern components
that illustrate the introduced concepts. Laboratory exercises and homeworks
include additional examples and problems that are closely related to lecture
Page 43 of 82
materials, supporting students competence development to understand the
fundamental problems of contemporary computer architecture.
Assessment
Assessment of students achievements at the course are:
• Presence at lectures and exercises (max. 10 points). Student that fail
to attend lectures and/or labs for more then three times, does not get this
points.
• 5 homeworks equally spread throughout the semester (max. 10
points)
• Two midterm exams:
◦ The first midterm exam ( max. 20 points)
◦ The second midterm exam ( max. 20 points)
• Midterm exams reflect entire course materials covered on lectures,
tutorials and lab exercises. Midterm exams assess the understanding of basic
principles of computer architecture, as well as abilities to understand
advantages and disadvantages of different architectures.
• Final exam (max. 40 points).
Students that pass both midterms (min. 10 points each) can take the final
exam. Final exam cover all the course materials, including lectures and
laboratory exercises. To pass the course, it is compulsory to pass the final
exam. To get passing final mark, student must collect minimally 55 points,
including: presence, homeworks, two midterm exams and final exam.
Student that fail one midterm exam, takes remedially exam. Student that fail
both midterms repeats the whole exam including the entire course materials.
Prerequisites
Module title Fundamentals of Computer Networks
Module code ETF RIO ORM I-3560
Programme ETF-B CI
Module coordinator Dr Kemal Hajdarević, Associate Professor
Teaching staff Dr Kemal Hajdarević, Associate Professor
Meliha Dulić, MoE, Teaching Assistant
Year of study 3
Semester 5
Module type Mandatory
ECTS 5
Lectures 40
Laboratory
exercises 14
Tutorials 6
Workload –
Independent Study 65
Module outcomes
After completion of the course, students will acquire competencies:
ability to choose and apply appropriate engineering principles and
mathematical and computational methods to problems in the field of
computer networks
ability to identify, analyze and disclosure issues in the area of
computer networks that are not encountered during previous training
ability to solve these problems by applying acquired knowledge in
engineering, general knowledge of mathematics, physics and electrical
engineering, and specialized knowledge of computer networks with the help
of relevant literature that are trained to find
ability to design and conduct tests and experiments in the field of
computer networks from which to draw conclusions and verify hypotheses
Page 44 of 82
ability to analyze, design and implementation of computer network
components (programs, applications, hardware and communication
equipment, etc.), using appropriate methods and techniques taking into
account the scientific, technical, social, environmental and economic
conditions and standards
knowledge of the use of computer networks in practice, the
standard of knowledge and understanding of the impact of computer
networks, their operation and maintenance have on the environment
understanding of the needs and achieve steady development
monitoring computer networks and learning new principles, techniques and
technologies in all the above mentioned areas
ability to work in different professional fields acquired through
general, specialist and methodological competencies
ability to communicate with colleagues and the public on issues and
problems related to all aspects of computer networks
the ability of individual and team work, organization and execution
of projects and the training requirements of the industry or academia when
they are engaged upon graduation
Module content
1. Introduction to computer communications and computer networks
2. Physical layer, communications data and transmission medium for
computer networks
3. Network Operations / Network Functioning
4. Detection and correction of errors
5. Computer communication protocols
6. networking Technology
7. Data link layer
8. Network / Internet layer and routing techniques
9. Transport layer TCP / IP protocol
10. application Layer
11. Network modeling - theory of queues
12. Designing computer networks
13. Management of computer networks
14. Internet and network interconnection
Literature
Recommended
1. Lecture Notes (to download from Faculty WEB site);
2. William Stallings, Data & Computer Communications,
3. Halsall, F., Data Communications, Computer networks and OSI.
Addison-Wesley, 1988.
4. Tanenbaum, A., Computer Networks. Prentice-Hall, 1988
Additional
1. Warland, J., Communication Networks, Akson Ass. Inc. Publishers,
1991.
2. L. L. Peterson and B.S. Davie, Computer Networks, Morgan Kaufmann
Publishers, 2003.
Didactic methods
Lectures take place in the lecture hall, using a projector, so that the student
can easily and clearly monitor the given lectures. Each teaching unit would
be presented to the students through the university's website to help students
in advance to prepare for attending classes. Certain topics to illustrate
through examples and simulation. Exercise would be organized in the
laboratory and would be designed so that the individual thematic units
handled in a manner that students easily master this theory from lectures.
Tutorial would consist of development projects, as well as certain tasks with
the help of a tutor.
Assessment
During the course students earn points according to the following system:
Attending classes, exercises and tutorials: 10 points, the student
with more than three absences from lectures, exercises and / or tutorials can
not get these points;
Homework: maximum 10 points, assuming solving 5 to 10
assignments evenly distributed throughout the semester;
Page 45 of 82
Partial exams: two partial exams, each positively evaluated partial
exam 20 points;
A student who has achieved during the semester, less than 20 points enter
that course again. A student who during the semester earned 40 or more
points will take a final exam, the exam consists of discussion of problems
with partial exams, homework and answer simple questions related to course
topics. For final oral exam student can score a maximum of 40 points. To
achieve a positive final grade, students in this examination must achieve a
minimum of 20 points. Students who do not achieve this minimum, takes the
makeup oral exam.
A student who during the semester earned 20 or more points, and less than
40 points, must have the makeup exam. The makeup exam is structured as
follows:
A written test that is structured in the same way as partial written
exam, during which students solve problems in topics that did not achieve a
passing grade (10 or more points) a partial written exams, oral-that is
structured in the same way as part of the final oral examination.
Oral makeup exams can be taken by students who after passing the
written part of the exam correctional managed things down total score of 40
or more points, the score consists of points achieved through: attending
classes, homework, and pass the written part of the makeup exam . For
makeup oral exam a maximum of 40 points can be earned. To achieve a
positive final grade student at this exam must achieve at least 20 points.
Students who do not achieve this minimum must repeat that course.
Prerequisites
Module title Object Oriented Analysis and Design
Module code ETF RIO OOAD I-2460
Programme ETF-B
Module
coordinator
Dr Dženana Đonko, Professor
Teaching staff
Dr Dženana Đonko, Associate Professor
Haris Hasić, MoE, TeachingAssistant
Kerim Hodžić, MoE, TeachingAssistant
Adnan Dželilhodžić, MoE, TeachingAssistant
Year of study 2
Semester 4
Module type Mandatory
ECTS 5
Lectures 38
Laboratory
exercises 22
Tutorials 0
Workload –
Independent Study 65
Module outcomes
At the end of this course students have the following knowledge, skills and
competencies:
The ability to analyze, identify and define the requirements of the
real environment systems that require computing support
The ability to design and implement a computer-based system,
including the necessary programming solutions
The ability of individual and team work, organizing and executing
projects
Good professional knowledge in the field of software engineering
related to the analysis, design and implementation
The ability to apply an iterative software development process
Page 46 of 82
Understanding the basic object-oriented concepts
Understanding the basic steps of object-oriented analysis and design.
Practical knowledge of UML diagrams and notations
The ability to apply object-oriented patterns
The ability to build an object-oriented model for the system
The ability to associate an object-oriented analysis and actual
programming
Module content
1. Basic concepts of object orientation.
2. Software development process and basic development
methodologies
3. Introduction to the fundamental concepts of UML, UML principles
and diagrams, UML and modeling of object-oriented systems.
4. The process of gathering user requirements collecting user
requirements, scenarios, use cases, UML use case diagram.
5. Analysis and design of logical views of the system diagrams to show
the structure and behaviour of systems, UML class, object, interaction, state
diagrams.
6. Modeling process view of a system, process view diagrams, UML activity
diagram.
7. Implementation view of the system, representation of implementation
view, UML deployment diagram.
8. Developmental view of the system, representation of development view,
UML package diagrams and components.
9. Metrics and principles of object-oriented design.
10. Design patterns.
11. Mapping UML models to an implementation level of object-oriented
languages (Java, C + +, C #).
Literature
Recommended
1. Notes and slides from lectures (See Faculty WEB Site)
2. Dženana Đonko, Samir Omanović, Object oriented analysis and
design applying UML notation, ETF Sarajevo, 2009
3. J. Rumbaugh, I. Jacobson, G Booch, The Unified Modeling Language
Reference Manual, Pearson Education, July 2004
Additional 1. E. Gamma, R. Helm, R. Johnson, John Vlissides, Design Patterns:
Elements of Reusable Object-Oriented Software, Addison-Wesley, 1994
Didactic methods
Theoretical concepts related to the topics of the course are presented during
lectures. The presented concepts are illustrated by examples and they are
discussed with the students.
Throughout the semester students will implement a project- software
solution; that is based on the model that has been built up with the assigned
homework.
Concrete tasks related to the course and continuous monitoring of the project
will be worked on in the lab.
Assessment
During the course students earn points according to the following system:
attending classes and tutorials: 10 points, the student with more than
three absences from lectures and/or tutorials cannot get these points;
homework: maximum of 10 points; assuming solving up to 5
assignments equally distributed throughout the semester;
project: maximum 30 points; implementation of the system is based on
the model;
partial exams: two partial exams, each partial exam a maximum of 20
points (pass mark 10 points);
oral exam: maximum 10 points, consisting of a presentation of the project
(5 points) and simple questions related to thematic units of the course (5
points).
A student who does not pass the partial exams has to retake an exam.
Page 47 of 82
Final grade is made on the basis of points collected for all activities during
the semester, based on the scale:
95-100 grade 10
85-94 grade 9
75-84 grade 8
65-74 grade 7
55-64 grade 6
Prerequisites
Software Development - ETF RIO RPR I-2360
Module title Automata and Formal Languages
Module code ETF RIO AFJ I-3545
Programme ETF-B CI
Module
coordinator Dr Haris Šupić, Associate Professor
Teaching staff Dr Haris Šupić, Associate Professor
Orhan Ljubunčić, MoE, Teaching Assistant
Year of study 2
Semester 4
Module type Mandatory
ECTS 5
Lectures 30
Laboratory
exercises 0
Tutorials 15
Workload –
Independent Study 65
Module outcomes
A student who successfully completes the course will have the ability to:
understand the basic terminology in theory of computation;
understand the limits of different models of computation;
understand different types of finite automata, their formal
specification and properties;
understand regular expressions and their connections to finite state
machines;
design simple deterministic, and nondeterministic finite automata;
design simple Turing machines;
understand the hierarchy of formal languages;
understand the basic complexity classes.
Module content
1. Introduction to theory of computation.
2. Finite automata. Deterministic finite automata. Nondeterministic
finite automata. Formal grammars and languages.
3. Regular expressions. Regular languages and regular grammars.
Properties of regular languages.
4. Finite automata with output.
5. Pushdown automata. Deterministic and nondeterministic pushdown
automata. Context-free languages and context-free grammars. Parsing
techniques.
6. Turing machines. Universal Turing’s machine. Nondeterministic
Turing’s machines. Turing’s thesis.
7. Recursive and recursively enumerable languages. Linear bounded
automata.
8. Context-sensitive languages and context-sensitive grammars.
Chomsky’s language hierarchy.
9. Decidable and undecidable problems.
10. Introduction to computational complexity. Complexity classes: P
and NP.
Page 48 of 82
Literature
Recommended
1. Notes and slides from lectures (See Faculty WEB Site)
2. J. E. Hopcroft, R. Motwani, J. D. Ullman, Introduction to Automata
Theory, Languages, and Computation, Addison-Wesley; 2000;
3. M.Sipser, Introduction to the Theory of Computation, Course
Technology, 2005
Additional
1. P. Linz, An Introduction to Formal Languages and Automata, Jones
and Bartlett Publishers, 2000
2. M.John, Introduction to Languages and Theory of Computation,
McGraw-Hill, 1997
Didactic methods
Lectures introduce fundamental concepts of automata and formal languages.
In this way students are introduced with general models of computation.
Besides presentation of the theory of computation, lectures also consist of the
presentations of appropriate examples illustrating introduced concepts.
Tutorials and home assignments include additional examples and problems
closely coordinated with the lectures. In this way, the tutorials and home
assignments contributes to the development of the student ability to
understand general models of computation, and to build simple finite state
machines and formal languages.
Assessment
The grading of the course is as follows:
Attending classes and laboratory exercises (maximum 10 points).
Student with more than three absences from lectures and/or laboratory
exercises cannot get these points.
Home assignments equally distributed throughout the semester
(maximum 10 points)
Two partial exams:
◦ First partial exam (maximum 20 points)
◦ Second partial exam (maximum 20 points)
Final exam (maximum 40 points)
The partial exams cover all material presented in the lectures, tutorials and
home assignments. During the partial exams students are tested for their
understanding of different types of finite automata and the ability to construct
simple finite state machines satisfying specified requirements.
Students who passed both partial exams (minimum 10 points) can get access
to the final exam. The final exam covers material from the entire semester,
including: lectures, tutorials and home assignments. Passing the final exam is
necessary for passing the course. In order to get positive final grade, students
must earn minimum of 55 points including: attending, home assignments,
two partial exams and final exam. Students who have not passed one or both
partial exams must repeat the failed partial exams (less than 10 points).
Prerequisites
Fundamentals of Computing – ETF OR I-1170
Module title Mobile Application Development
Module code ETF RII RMA I-2450
Programme ETF-B RI
Module
coordinator Dr Vensada Okanović, Assistant Professor
Teaching staff Dr Vensada Okanović, Assistant Professor
Irfan Prazina, MoE, TeachingAssistant
Year of study 2
Semester 4
Module type Elective
ECTS 5
Lectures 28
Page 49 of 82
Laboratory
exercises 22
Tutorials 0
Workload –
Independent Study 75
Module outcomes
Upon successful completion of this course, student will have the following
competencies:
• an understanding of basic concepts for mobile application
development, with emphasis on the differences between mobile and desktop
applications;
• an understanding of the specificities of human-computer interaction
for mobile devices;
• knowledge of common issues and problems in mobile application
development and approaches to their solution;
• basic experience and independence in development of applications
for Android platform.
Module content
1. Introduction: Hardware and software architecture of mobile devices.
Mobile hardware features. Mobile operating systems: overview, comparison.
Mobile vs. desktop vs. web apps: similarities and differences.
2. Principles of mobile application development: Languages and
paradigms. Tools. Multithreading: foreground vs. background, garbage
collection. Intents. Data storage.
3. Mobile user interface: Declarative UI. Tactile UI and gestures.
UI/UX design patterns in mobile app development, MVC. Trends: tangible
computing, wearable computing.
4. Communication: Characteristics of wireless networks, application
design for variable network performance. Client/server architecture, web
services for mobile apps. Common protocols and data formats. Cloud.
5. Mobile hardware integration: Location services. Camera, image
processing, sound processing. Tracking (barcode, RFID...) Sensors
(acellerometer, gyroscope...) 3D acceleration on mobile devices. Libraries
and APIs.
6. Issues in mobile application development: Energy conservation.
Mobile application security. App stores. Crossplatform mobile apps and
HTML5.
Literature
Recommended
1. Notes and slides from lectures (available on course web page).
2. Jeff McWherter, Scott Gowell, Professional Mobile Application
Development, John Wiley & Sons Inc, 2012.
3. Jakob Nielsen, Raluca Budiu, Mobile Usability, New Riders, 2012.
Additional
1. Steven Hoober, Eric Berkman, Designing Mobile Interfaces,
O'Reilly Media, 2011.
2. Rex Hartson, Pardha Pyla, The UX Book: Process and Guidelines
for Ensuring a Quality User Experience, Morgan Kaufmann, 2012.
Didactic methods
The module is conducted through theoretical lectures during which the
concepts of mobile application development are presented. These concepts
are demonstrated using sample applications on leading mobile platforms.
In laboratory exercises, students are introduced to Android platform, which
they use to solve practical assignments. Students are expected to analyse a
given problem and develop a simple mobile application for Android platform.
Independent work consists of a more elaborate mobile application which
students develop individually througout the semester, and that represents the
project assignment.
Assesment
Students' success in this module is assessed in the following way:
• Attendance to the lectures and exercises (maximum 10 points).
Student with over three absences from lectures and/or exercises is awarded 0
Page 50 of 82
points.
• Independent project carries 10 points.
• Two partial exams:
◦ First partial exam (maximum 20 points)
◦ Second partial exam (maximum 20 points)
Partial exams cover the subject matter that is presented during
lectures and laboratory exercises. During exams students are
expected to understand the basic concepts and independently
solve simpler assignments that are similar to the ones that are
solved during exercises.
• Final exam (maximum 40 points) consisting of the oral presentation
of independent project and discussion of the topics that are subject matter for
this module.
Only the students that obtained a minimum of 10 points on each partial exam
as well as finished their independent project can approach the final exam.
Students that obtained a total of 55 points or more are awarded a final grade.
Students that have less than 55 points total or obtained less then 10 points on
one or both partial exams take the remedial exam. Remedial exams are
structured in the same way as regular partial exams. Student takes the
remedial partial exam as the one in which they have less then 10 points, or
both remedial partial exams.
Prerequisites
Programming Techniques – ETF TP I-1270
Module title CAD-CAM Engineering
Module code ETF RII CCI I-2445
Programme ETF-B RI
Module
coordinator Dr Ingmar Bešić, Assistant Professor
Teaching staff Dr Ingmar Bešić, Assistant Professor
Enil Pajić, MoE, TeachingAssistant
Year of study 2
Semester 4
Module type Elective
ECTS 5
Lectures 30
Laboratory
exercises
15
Tutorials 0
Workload –
Independent Study
75
Module outcomes
Upon completion of the course student will be able to:
describe, choose and apply engineering principles to problems in the
field of computer-aided design and manufacturing,
to solve engineering problems by applying acquired knowledge and
specialist knowledge in computer graphics,
to use computer systems in CAD-CAM practice,
to analyze, explain, modify and create short computer programs for
typical CAD-CAM tools.
Module content
1. Introduction to CAD-CAM systems: product cycle, design,
specifications, feasibility study, analysis, documentation, process planning,
CNC programming, production, quality control
2. Components of CAD-CAM systems: vector-refresh graphic devices,
Page 51 of 82
raster graphic devices, hardware configuration, input and output devices,
software components, collaboration
3. The basic concepts of graphics programming: graphics libraries,
virtual devices, coordinate systems
4. Projections and graphical primitives: parallel projection, perspective
projection, view port, view volume, lines, polygons, text, bitmaps
5. Display list and transformations: display list, graphical memory,
hierarchical organization, translation matrix, rotation matrix, other matrix
transformations
6. Hidden line and hidden surface removal: Back face removal
algorithm, depth sorting, hidden line removal algorithm, z buffer method
7. Graphical rendering: shading, ray tracing
8. computer aided drafting systems: drawing setup, basic drawing
functions, annotation, parametric programming
9. Geometric modeling systems: wireframe modeling systems, solid
modeling systems, assembly modeling, representation of curves and surfaces
10. FEM analysis, optimization, prototyping, virtual engineering
11. Rapid prototyping and manufacturing: specific processes, stereo
lithography, selective laser sintering, 3D printing, applications, software
technology
12. AutoCAD Visual LISP and VBA programming: coordinate systems,
expressions, branches, loops, 2D primitives, 3D primitives
Literature
Recommended
1. Lee, K.,: Principles of CAD/CAM/CAE Systems, Addison Wesley
Longman, Reading, MA., 1999
2. Zeid, Sivasubramanian: “CAD/CAM : Theory & Practice”, McGraw
Hill, 2009
Additional 1. Zeid: “Mastering CAD/CAM”, McGraw Hill, 2005
Didactic methods
Students attend lectures on topics which are presented above in the contents
of the module. Each session includes a short quiz that gives students the
opportunity to analyze, discuss and solve problems. Students have the
opportunity to prepare a group presentation cases and present them. During
laboratory exercises students modify and create short computer programs for
typical CAD-CAM tools.
Assessment
A student who has up to three absences from lectures and / or
laboratory exercises gets 10 points on the basis of presence.
Laboratory exercises include 10 assignments, which are evenly
distributed throughout the semester and each carries one point.
The partial exams test knowledge of subjects covered by lectures
and the student's ability to solve simple programming problems such as the
problem presented during laboratory exercises. The first partial exam carries
a maximum of 20 points. The second partial exam carries a maximum of 20
points.
Students who passed both partial exams (at least 10 points per partial
exam) can take the final exam. Final exam carries a maximum of 40 points.
Student involvement into solving quizzes during the lectures as well as
individual presentations within the group of students who worked on the case
studies is taken into consideration when evaluating the final exam.
Students who have not passed one partial exam are given second chance to
pass that particular exam. Students who have not passed both partial exams
have the opportunity to take integral exam. Student is required to have 55 or
more points in total in order to pass the course.
Prerequisites
Module title Embedded Systems
Module code ETF RII US I-2450
Programme ETF-B
Page 52 of 82
Module
coordinator Dr Samim Konjicija, Associate Professor
Teaching staff
Dr Samim Konjicija, Associate Professor
Dr Emir Sokić, Assistant Profesor
Jasmina Zubača, MoE, TeachingAssistant
Year of study 2
Semester 4
Module type Elective
ECTS 5
Lectures 28
Laboratory
exercises 22
Tutorials 0
Workload –
Independent Study 75
Module outcomes
Course objective is to enable students to master application of
microcomputer systems as components of complex systems. After successful
completion of the course, students will acquire competencies:
• knowledge of specific application of microcomputers as embedded
components in a complex system,
• knowledge of architecutre, instruction set and specific peripheral
modules of a typical microprocessor used in embedded system,
• knowledge of methodology and procedure of development of
applications in assembly and high level programming languages used for
embedded computer systems,
• ability to develop hardware and software component of embedded
system.,
• ability to implement algorithms in an embedded system,
• skills and knowledge necessary to document procedures activities
and results.
Module content
1. Embedded systems: characteristics of a microcomputer as
embedded component, process of design of embedded system, requirements,
specification, hardware and software architecture of an embeded system,
formal design of embedded system.
2. Architecture of typical embedded computer system: ARM
architecture, CPU, memory, input/output devices.
3. Instruction set of typical embedded microprocessor: characteristics
of RISC and CISC, instruction set of ARM processor, arithmetic-logic
instructions, program flow control instructions, specific instructions for
embedded use.
4. Input/output modules of typical embedded microcomputer: digital
inputs/outputs, analog inputs/outputs, PWM, counters, timers, EEPROM for
data storage as input/output module.
5. Input/output devices: switches/tasters, keyboards, potentiometers,
sensors with voltage, current and pulse signal, relay, H-bridge, LED, 7-
segment display, graphic display (LCD, OLED), touchscreen.
6. Communication in embedded systems: serial communication and
standards, RS-232, RS-485, RS-422, SPI, I2C, USB, Ethernet, wireless
communication (Bluetooth, ZigBee), CAN, Modbus.
7. Design of hardware for embedded system: specification of
requirements, development of hardware, definition of interface with
microcomputer system.
8. Development of software for embedded system: components of an
embedded application, finite state machines, standard implementation of
finite state machines, queues, models of embedded application, use of
interrupts.
9. Operating systems for embedded computers: multitasking, real-time
execution, inter-process communication.
Page 53 of 82
Literature
Recommended
1. Notes and slides from lectures (from web site)
2. Wolf, W.: "Computers as Components: Principles of Embedded
Computing System Design", Morgan Kaufmann, 2012
3. Noergaard, T.: "Embedded Systems Architecture: A Comprehensive
Guide for Engineers and Programmers", Elsevier, 2012
Additional
1. Lipansky, E.: "Embedded Systems Hardware for Software
Engineers", McGraw-Hill Professional, 2011
2. Samek, M.: "Practical UML Statecharts in C/C++: Event-Driven
Programming for Embedded Systems", Elsevier, 2009
3. Simon, D.: "An Embedded Software Primer", Pearson, 1999/2005
Didactic methods
Course is performed in form of lectures and laboratory exercises. During
lectures, the students get acquainted with topics covered by the course, as
well as with assignments for laboratory exercises. Students realize
assignments in teams consisting of a couple of students, where formalization
of procedures of teamwork is in focus. Based on explanations of laboratory
exercises, the students preprare their solutions, which they realize during
laboratory exercises, whereby they individually study additional literature
needed for successful solution of the assignment. Each laboratory exercise
consists of several sessions. After successful completion of the assignment,
the students hand over a written report, and present results.
In the second part of semester, the students get a project assignment, where
they solve more complex problem. The project implies design of hardvare
and software of an appliance, and a formal approach is obligatory. Each
design step should be adequately documented, following the
recommendations and requirements elaborated during lectures.
Assessment
The Assessment of students' work is as follows:
• Attendance to lectures and laboratory exercises (max. 10 points).
Student with more than three absences frmo lectures and laboratory exercises
can't get these points.
• Two partial exams (max. 2x20 points)
• Preparation for laboratory exercises and presentation of results
(max. 10 points)
• Realization of final project (max. 10 points)
• Final exam (max. 30 points)
During semester, the students take two written partial exams, where they
solve the problems covered by the topics of the course. A student with less
than 10 points on a partial exam takes remedial exam.
During the final exam, the students answer questions from topics covered by
the course, and demonstrate solving simpler versions of problems similar to
those from laboratory exercises.
In order to pass the exam, a student has to collect min. 55 points, including:
attendance, preparations and defense of laboratory exercises and project,
partial exams and final exam.
Prerequisites
Fundamentals of Computing – ETF OR I-1170
Fundamentals of Electrical Engineering – ETF OE I-1180 Operating Systems –
ETF RIO OS I-1260
Module title Digital Signal Processing
Module code ETF RII DPS I-3545
Programme ETF-B CI
Module
coordinator Dr Amila Akagić, Assistant Professor
Teaching staff Dr Amila Akagić, Assistant Professor
Year of study 2
Page 54 of 82
Semester 4
Module type Elective
ECTS 5
Lectures 28
Laboratory
exercises 7
Tutorials 10
Workload –
Independent Study 75
Module outcomes
After successful completion of the course, students will:
know and understand basic characteristics of discrete-time signals
and systems and their mathematical representation,
develop ability to apply algorthms for transformation of signals and
analysis of signals, understanding their characteristics and implementation,
develop ability to design and apply systems for digital signal
processing, understand theri characteristics and implementation,
know examples of hardware design and application of digital signal
processing.
Module content
1. Signals and signal processing: Characterization and classification of
signals. Typical operations of signal processing, Examples of typical signals.
Typical application of signal processing. Why digital processing of signals?
2. Time discreet signals and systems in time domain: Time discreet
signals. Typical sequence and presentation of sequence. Sampling process.
Time discreet systems. Characterization in time domain. LTI of time discreet
systems. LTI time discreet systems with finite dimensions. Correlation of
signals. Random signals.
3. Presentation of time discreet signals in transformation domain: Time
discreet Fourier's transformation. Discreet Fourier's transformation. Relation
between DTFT and DFT and their inverse transformations. Features of
discreet Fourier's transformation. Calculating real sequence DFT. Linear
convolution using DFT. Z transformation. Convergence area for rational z
transformation. Inverse z transformation. Features of z transformation.
Presenting random signals in transformation domain.
4. LTI time discreet systems in transformation domain: LTI time
discreet systems with finite dimensions. Frequency response. Transfer
function. Transfer function with minimum phase and transfer function with
maximum phase. Complementary transfer function. Algebraic stability test.
Processing random signals in discreet time. Matched filter.
5. Digital processing of time continual signals. Sampling time
continual signals. Sampling band-permeable signals. Design of analogue
low-permeable filter. Design of analogue high-permeable, band permeable
and band-non-permeable filter. Design of anti-aliasing filter. Sample-and-
hold circuit. Analogue/digital converter. Digital/analogue converter. Design
of reconstruction filters. Sample-and-hold operation effects.
6. Digital filter structure: Presenting block diagrams. Equivalent
structures. Basic FIR structures of digital filters. Basic IIR filter structures.
Realization of basic structures using MATLAB. Fully-permeable filters.
Tunable IIR digital filters. IIR cascade lattice structures. FIR cascade lattice
structure. Realization of IIR transfer function using parallel fully permeable
functions. Digital sine-cosine generator. Calculation complexity in digital
filter structures.
7. Digital filter design: IIR filter design using bilinear transformation
method. Low permeable IIR digital filter design. High permeable, band
permeable and band-non-permeable IIR digital filters. Spectral
transformation of IIR filters. FIR filter design based on window Fourier's
series. Digital filter design using computers. FIR filter design with Least-
Mean Square Error method. Designing filters using MAATLAB.
8. Considering DSP algorithm implementation: Simulation and
verification using MATLAB. Calculating discreet Fourier's transformation.
Page 55 of 82
Number presentation. Arithmetic operations. Overflow. Tunable digital
filters. Parallelism in DS algorithm execution.
9. Analysis of finite word length effect: Quantization process and
errors. Quantization of Fixed point numbers. Floating point numbers
quantization. A/D noise conversion analysis. Round off arithmetic errors
analysis. Relation signal-noise with IIR filters of lower order. Low sensibility
digital filters. Limit cycles with IIR filters. Round-Off errors in FFT
algorithms.
10. Multi-rate digital processing of signals: Basic devices for sampling
speed change. Filters in systems with sampling speed change. Multi-level
design of decimators and interpolators. Poly-phase decomposition. Digital
filter banks. Nyquist's filters. Two-Channel Quadrature Mirror two channel
filter bank. Perfect reconstruction. FIR filter banks with L channels. Multi-
level filter banks. Applying digital processing of signals: Dual-Tone multi-
frequency signal detection. Spectral analysis of sine signals. Spectral analysis
of non-stationary signals. Spectral analysis of random signals. Music signal
processing. Generating digital FM stereo signal. Generating time discreet
analytical signal. Podband coding of speech and audio signal. Trans-
multiplexers. Discreet multi-sound transmission of digital data. Sampling
speed conversion using digital audio signals. Over-sampling A/D converter.
Over-sampling D/A converter.
Literature
Recommended
1. Notes and slides from lectures (from web site);
2. Sanjit K. Mitra, Digital Signal Processing, McGraw-Hill,
3. A.V. Oppenheim and R.W.Schafer, Discrete Time Signal Processing,
Prentice Hall,
4. Proakis and Manolakis, Digital Signal Processing, Prentice Hall
Additional 1. R. Crochiere and L. R. Rabiner, Multirate Digital Signal Processing,
Englewood Cliffs, NJ: Prentice-Hall, Inc.,
Didactic methods
Module is performed through theoretical lectures. These are supported by
solving of problems by the lecturer with goal to enable students to master
instruments and methods introduced during lectures. Lectures are also
followed by laboratory exercises where different theoretical concepts
presented during lectures are demonstrated using MATLAB software.
Lectures have a goal to provide students with comprehensive frame of all
program parts. Lectures are performed directly in classroom; so that students
may easily follow their rhythm and immediately recognize issues they deem
less clear. After the end of presentation for each logically rounded unit of the
curriculum, lecturer will formulate and solve examples and problems
enabling students to comprehend instruments and methodologies given
during lectures. Other examples and exam problems will be considered and
solved during tutorials (under tutor guidance), in a manner which will ensure
constant checks of readiness level which students reached in control of
knowledge and skills required to be gained through this course.
Assessment
During the course students earn points according to the following system:
Attending classes and tutorials: 10 points, student with more than
three absences from lectures and/or tutorials cannot get these points.
Home assignments: maximum of 10 points, assuming solving 5 to
10 assignments equally distributed throughout the semester.
Partial exams: two partial exams; each positively evaluated partial
exam 20 points.
Students who gained less than 20 points during the semester must repeat that
course. Students who earned 40 or more points during the semester will take
a final exam; the exam consists of discussion of problems from partial
exams, home assignments and answers to simple questions related to module.
Final oral exam provides maximum of 40 points. In order to get positive final
grade, students must earn minimum of 20 points in this exam. Student failing
to earn the minimum must take the makeup oral exam. Student, who earned
20 or more, and less than 40 points during the semester, will have to take the
Page 56 of 82
makeup exam. The makeup exam is organized in the following manner:
Written part structured similarly to partial written exam, during
which students solve problems in topics they failed on partial exams (less
than 10 points);
Oral part structured the same as the oral part of the final exam. Only
students who managed to earn total score of 40 or more points in written part
of the makeup exam will be allowed to take the oral part of the makeup
exam, where the mentioned score consists of points earned through attending
lectures, solving home assignments, passing partial exams and passing the
written part of makeup exam. Oral makeup exam provides maximum of 40
points. In order to achieve positive final grade students must earn minimum
of 20 points in this exam. Student failing to earn the minimum will have to
retake the course.
Prerequisites
Module title Web Technologies
Module code ETF RIO WT I-3560
Programme ETF-B
Module coordinator Dr Vensada Okanović, Assistant Professor
Teaching staff
Dr Vensada Okanović, Assistant Professor
Irfan Prazina, MoE, TeachingAssistant
Sumejja Porča, MoE, Teaching Assistant
Year of study 3
Semester 5
Module type Mandatory
ECTS 5
Lectures 38
Laboratory
exercises 22
Tutorials 0
Workload –
Independent Study 65
Module outcomes
By the end of the course, students should be able to:
understand the concepts of Internet and also its technologies
design web pages with various scripting languages
understand the concept and technologies of server programming
develop web applications with server-side programming and
database support
Module content
1. Introduction to Web technologies: standard architectures and modes
of programiming, thin-client model, based on Browser/WebServer,web
architecture
2. HTML, structure, paragraphs, formatting tags, forms, tables
3. Cascade Style Sheets, types of selectors, selectors of HTML
elements, class selectors, attribute selectors
4. JavaScript, language syntax, page level event handling, accesing
HTML document, HTML DOM
5. Web protocols: HTTP, HTTPS, methods, headers, URI, requests
and responses
6. Web server principles, CGI interfaca
7. Java web programming, servlets and servlet containers
8. Java Server Pages, scriptlets, JSTL tags, MVC separation,
comparison with Active Server Pages
9. PHP langugage, syntax, variables, arrays, page generation, regular
expressions, sessions
10. Accessing databases from web applications
11. XML, structure, application, XML validation, queries, XML data
Page 57 of 82
processing
12. Web services, SOAP and REST models, WSDL, web service
programming
Literature
Recommended
1. Slides available on web pages and lecture notes in printed form
2. Robert W. Sebesta, “Programming the World Wide Web”, 4th Edition,
Pearson Addison Wesley, 2008.
3. Harvey M. Deitel and Paul J. Deitel Internet & World Wide Web How to
Program, 5/e, Prentice Hal, 2011
Additional 1. Marty Hall and Larry Brown, “Core Web Programming”, Prentice Hall,
2nd
Edition, 2001
Didactic methods
The lectures include basic technologies required for dynamic web
application development. The students will get involved with basic client and
server programming languages and libraries used in application development
executed inside web browser. The lectures also include some examples
which illustrate said concepts. The labs and homework also include some
additional examples and problems closely related with lectures. Therefore,
labs and homework contribute to competencies to learn web protocols
principles and page description languages. In addition, students get
competencies to know how to develop software in programming languages
like JavaScript, PHP, and Java servlets in order to solve simple computing
web related problems.
Assessment
The final score is obtained as follows:
10 points for attendance and activities during lecture and laboratory
exercises
10 points for homeworks. Problem-solving assignements with
development of web applications
20 points first partial written exam, programming and problem
solving, 10 points is considered pass
20 points second partial written exam, programming and problem
solving, 10 points is considered pass
40 points and a final oral exam (where 15 points is considered
passed the exam), checking the facts. Only the students who have achieved
the above criteria by at least 40 points can participate.
Students who did not pass required parts of the course have two chances for
remedial exam.
Final score: Below 20 points retake course, score 21-54 grade 5, score 55-64
grade 6, score 65-74 grade 7, score 75-84 grade 8, score 85-94 grade 9, score
95-100 grade 10.
Prerequisites
Programming Techniques – ETF TP I-1270
Fundamentals of Database Systems – ETF RIO OBP I-2360
Fundamentals of Computer Networks - ETF RIO RM I-2460
Module title Computer Graphics
Module code ETF RIO RG I-3560
Programme ETF-B
Module
coordinator Dr Selma Rizvić, Associate Professor
Teaching staff
Dr Selma Rizvić, Associate Professor
Dr Vensada Okanović, Assistant Professor
Irfan Prazina, MoE, TeachingAssistant
Year of study 3
Semester 5
Module type Mandatory
ECTS 5
Lectures 22
Page 58 of 82
Laboratory
exercises 30
Tutorials 8
Workload –
Independent Study 65
Module outcomes
After completion of the course, the students will develop:
specialist knowledge from computer graphics field
ability of Graphics User Interface design and implementation
according to the graphics design and colour theory principles
understanding and basic knowledge from 3D modelling and
rendering techniques, web 3D technologies and game authoring
environments
Module content
1. Computer display systems: CRT displays, LCD displays, Touch
screen displays
2. Raster graphics: Pixel, picture resolution, color depth, raster image
formats, compression with and without loss
3. Vector graphics: Concept of Cartesian coordinates, camera
coordinate system, pinhole camera, cutting the camera view, frustum view
4. Basics of graphic design: Visual language, colour theory, colour
systems, basic colour harmonies, composition and layout, perspective,
typography
5. 3D Modelling: Wire frame model, border presentation, extruding,
ruled surfaces, Bezier's surface pieces, and volume presentation, schemes of
space division, procedural modelling, fractals, soft objects, procedural
manipulation, photogrammetry
6. Unity3D game authoring tool: Project, Scene, Package, Prefab,
Game object, components, Assets, Scripts
7. Web 3D technologies – x3Dom: VRML, JAVA applets, ActiveX,
O3D, WebGL, OSG4Web, x3D, x3Dom
8. Basics of HTML: Tags, text editing, lists, tables, forms, HTML5
9. Web design and development: Site planning and development,
interface design, navigation, site design, information organization, page
design, typography, web graphics
10. Rendering: Rendering pipeline steps and descriptions
11. Local illumination algorithms: Illumination models, reflection
models, ambient, diffuse and specular reflection, shading, anti aliasing, back
face culling
Literature
Recommended
1. J. F. Hughes, A. van Dam, M. McGuire, David F. Sklar, J. D. Foley,
S. K. Feiner, K. Akeley Computer Graphics: Principles and Practice (3rd
Edition), Addison-Wesley Professional; 3 edition (July 22, 2013), ISBN-10:
0321399528
2. P. Shirley,M. Ashikhmin, S. Marschner, Fundamentals of Computer
Graphics, A K Peters/CRC Press; 2009, ISBN-10: 1568814690
3. W. Goldstone, Unity 3.x Game Development Essentials, Packt
Publishing, 2011, ISBN-10: 1849691444
Additional
1. Shalini Govil-Pai – Principles of Computer Graphics, Theory and
Practice using OpenGL and Maya, Springer 2004.
2. J. Behr,Y. Jung, J. Keil, T. Drevensek, M. Zoellner, P. Eschler, D.
Fellner, A Scalable Architecture for the HTML5/ X3D Integration Model
X3DOM, Web3D '10 Proceedings of the 15th International Conference on
Web 3D Technology, Pages 185-194, ACM New York, NY, USA ©2010,
ISBN: 978-1-4503-0209-8
Didactic methods
Lectures, individual studying of recommended literature, analysis of
examples, comparison of notions and theories, discussions.
Tutorials to introduce students with 3D modelling and image processing
tools.
Laboratory projects where students apply their knowledge to practical
Page 59 of 82
projects.
Home assignments– final project, synthesis of gained knowledge.
Assessment
During the course students earn points according to the following system:
Attending classes and tutorials: 10 points, student with more than
three absences from lectures and/or tutorials cannot get these points.
Lab projects and home assignments (final project), max 60 points; 4
lab projects + final project
Partial exams: two partial exams; each positively evaluated partial
exam 20 points. Students who gained less than 20 points during the semester
must repeat that course.
Students who gained more than 10 points from each partial exam do
not have to take the final exam.
Oral exam consists of discussion of problems from partial exams,
home assignments and answers to simple questions related to course topics.
After successfully passed the oral exam the student gets a final
grade as sum of written exams, attendance, lab projects and final project
marks
Student, who less than 20 points during the semester, will have to
take the makeup exam.
The makeup exam is organized in the following manner: - Written
part structured similarly to partial written exam, during which students solve
problems in topics they failed on partial exams (less than 10 points);
Oral part structured the same as the oral part of the final exam.
After successfully passed the oral makeup exam the student gets a
final grade as sum of written exams, attendance, lab projects and final project
marks
Prerequisites
Module title Fundamentals of Information Systems
Module code ETF RIO OIS I-2460
Program ETF-B
Module
coordinator Dr Anel Tanović, Assistant Professor
Teaching staff Dr Anel Tanović, Assistant professor
Kenan Halilović, MSc, Teaching Assistant
Year of study 3
Semester 5
Module type Mandatory
ECTS 5
Lectures 30
Laboratory
exercises 20
Tutorials 10
Workload –
Independent Study 65
Module outcomes
Student who completed the module successfully has competencies as follow:
Understanding how IS integrated in organizations
including how knowledge its employees are supported and how
important IS for an organization’s success
Understanding differences between IS and IT, be able to
identify the components of IS, understanding the relationships
between the components of IS, understand the reasons for having an
IS, be able to assess the value of IS from the financial as well as
managerial points of view
Understanding why process management is important, be
able to explain what a process is and the different types of
Page 60 of 82
processes, state the difference between process orientation and other
organizational principles, understand the necessity of process
modeling, and be able to name and briefly summarize some
methods used for analysis of processes
Define in general terms what is a methodology, describe of
the role of methodology in IS and the main features of methodology,
break down methodology in its fundamental components; assess
methodology using an evaluation framework.
Module content
1. Introduction: IS, what is it? IT is not IS; 4 components of
IS: technology (hardware), process (software), structure, and people
2. Efficiency and effectiveness: IS budgeting and return on
investment (ROI); information usage; customer and employee
satisfaction
3. Development process of IS: technology and innovation;
overall development strategy; iterative development; alternative
approaches
4. Requirements: requirements analysis and prioritization;
functional and quality requirements formulation
5. Architecture of IS: importance of architecture; selecting,
extending or creating an architecture
6. Design of IS: external design; physical interaction;
interaction flow: data, media content; internal design
7. Code; test: why test it? The V model of verification,
validation, testing; how to test; prepare to test; execute the test and
record the results; find and correct errors
8. Prototyping, maintain
9. Business process modeling and process management
10. Information systems methodologies
Literature
Recommended
1. Notes and slides of lectures (taken from ETF website)
2. Fahrudin Oručević, Osnove informacionih sistema
3. David A. Bray, Being a System Innovator
4. Gabrielle Piccoli and Iris Liu, Achieving Efficiency and
Effectiveness through Systems
Additional
1. Fahrudin Oručević, Informacioni sistemi, Analiza, ETF
2. Per Flatten, Achieving Efficiency and Effectiveness
through Systems Design
3. Franz Lehner, Business Process Modeling and Process
Management
4. Salam Abdallah, Information Systems methodologies
Didactic methods
The module is taught through lectures on which are presenting the basic
concepts of IS development, design and implementation. These lectures are
supported with series of practical and empiric examples by lecturer with the
goal to enable students to understand better using tools and methods for
development of IS during lectures.
Other problems including practical issues and tasks from previous exams are
solved under tutor guidance during the tutorials. These activities are
organized to enable continuous checking through home works and midterm
exams of students’ capability level required to comprehend knowledge and
skills required from them to achieve as part of this module.
Assessment
During the module students earn points such as follow:
Attending classes, exercises and tutorials: 10 p (if the
student has no more than 3 absences)
Home assignments: 10 p
Two midterm exams: 2 x 20 = 40 p max
Student who gained less than 20 p during the semester must repeat the
module.
Student who earned 40 or more points during the semester will take a final
Page 61 of 82
examination. Final exam is oral and it consists of discussion of issues from
midterm exams, home assignments and answers questions related to module
topics.
Final oral exam provides up to 40 p max.
In order to get positive final grade, students must earn 20 p min in this final
oral exam. Student failing to earn the minimum must take the repeat oral
exam.
Student who earned 20 or more, and less than 40 p during the semester will
have to take the makeup exam.
The makeup exam is structured such as follow:
Written part of the makeup exam structured similarly to
midterm written exam, during which students solve issues in topics
they failed on midterm exam
Oral part of the makeup exam structured the same as the
oral part of the final exam
Only students who earned 10 p or more (midterm makeup exam) i.e. 40 p or
more (the whole exam) will be allowed to take the oral part of the makeup
exam.
Oral makeup exam provides up to 40 p max. In order to achieve positive
final grade student must earn 20 p min.
Student failing to earn the minimum will have to retake the module.
Prerequisites
Module title Introduction to Operations Research
Module code ETF RIO OOI I-3560
Programme ETF-B CI
Module
coordinator Dr Razija Turčinhodžić, Assistant Professor
Teaching staff Dr Razija Turčinhodžić, Assistant Professor
Hana Haseljić, MoE, TeachingAssistant
Year of study 3
Semester 5
Module type Mandatory
ECTS 5
Lectures 40
Laboratory
exercises 14
Tutorials 6
Workload –
Independent Study 65
Module outcomes
The student that completes the course successfully will get the following
competences:
Knowledge of theoretical basis and metodologies for algorithmic
solving of problems of optimization of activities and allocation of resources
where their amount is limited.
Ability of presentation of simpler real cases where optimization
problems are presented, using mathematical models of linear programming
and graph theory.
Ability of solving above mentioned problems using appropriate
algorithms.
Ability of implementation of algorithms for solving basic
optimization problems on the computer in some standard programming
languages.
Module content
1. Introduction to the problematics of the operations research: Subject
of operations research; Characteristics of operations research; Phases of
applications of operations research.
Page 62 of 82
2. Linear programming (LP): General notes about mathematical
programming and convex programming; General, canonical and standard
form of LP; Graphical interpretation and graphical method of solving LP;
Simplex algorithm; Criteria of optimality; Degeneration; Searching for initial
base solution; Dual problem and its interpretation; Dual simplex algorithm.
3. Special cases of LP: Transportation problem; Methods for solving
transportation problem; Assignment problem; Methods for solving
assignment problem;
4. Optimization on graphs: Basic algorithms of graph theory; Minimal
spanning trees; Shortest path problem; Maximal flow problem.
5. Project management: Network planning; CPM and PERT
techniques.
Literature
Recommended
J. Petrić: “Operaciona istraživanja”, Nauka, Beograd, 1997.
L. Neralić: “Uvod u matematičko programiranje 1”, Element,
Zagreb, 2003.
M. W. Carter, C. C. Price: “Operations Research – A Practical
Introduction”, CRC Press, 2011.
F. S. Hiller, G. J. Lieberman: “Introduction to Operations Research”,
McGrow-Hill, New York, 2005.
Additional
S. Krčevinac i dr.: “Operaciona istraživanja”, Fakultet
organizacionih nauka, Beograd, 1997.
D. Cvjetićanin: “Operaciona istraživanja”, Ekonomski fakultet,
Beograd, 1992.
K. R. Chandrasekhara: “Operations Research”, Alpha Science
International Ltd., 2005.
D. A. Pierre: “Optimization Theory with Applications”, Dover
Publications, New York, 1986.
Didactic methods
The lectures covers theoretical concepts based on linear programming and
graph theory. They are illustrated through simpler examples from the
practice, with emphasize on the algorithmic aspects. Also, students are
prepared for studying the literature independently. On the tutorials, various
simpler and moderate complex problems related to lectures are analysed and
solved, with more detailed explanation of presented algorithms. Harder
problems and case studies are covered through homeworks. On the lab
exercises, students implement various algorithms and solve problems which
are presented on the lectures and the tutorials using the computer.
Assessment
The valuation of the student success is as follows:
Active participation in lectures and tutorials (presence, discussion),
10 points. The student that have 4 or more absences will not get these points.
I partial written exam, 20 points, 3-5 easy to moderately difficult
problem solving tasks, exam duration 2 hours.
II partial written exam, 20 points, 3-5 easy to moderately difficult
problem solving tasks, exam duration 2 hours.
Homeworks, 10 points, 15-30 moderately difficult to hard problem
solving tasks, divided in 5 blocks (in average every 2 weeks), the time limit
for solving one block is 7 days.
Final oral examination, 40 points, checking of factual knowledge
and understanding of the theoretical concepts, exam duration 20 min.
Only students that pass both partial exams may approach to the final
examination. For the overall pass, the student must pass the oral exam and
must achieve at least 55 points in summary.
Prerequisites
Linear Algebra and Geometry – ETF LAG I-1160
Programming Techniques – ETF TP I-1270
Discrete Mathematics – ETF RIO DM I-2360
Module title Software Verification and Validation
Page 63 of 82
Module code ETF RII VVS I-3650
Programme ETF-B CI
Module
coordinator Dr Dženana Đonko, Professor
Teaching staff
Dr Dženana Đonko, Professor
Haris Hasić, MoE, TeachingAssistant
Kerim Hodžić, MoE, TeachingAssistant
Year of study 3
Semester 5
Module type Elective
ECTS 5
Lectures 30
Laboratory
exercises 20
Tutorials 0
Workload –
Independent Study 75
Module outcomes
Students at the end of this course has the following knowledge, skills and
competencies:
good professional knowledge in the field of software engineering
related to assurance and software quality control
the ability to evaluate computer-based systems, processes and
components, the ability of classification errors and the use of statistical
evaluation of defects density
knowledge of the use of software systems in practice, knowledge of
standards and understanding the influence that computing systems, their
operation and maintenance have on the environment
understanding of the needs and achievement of continued tracking of
software systems development and learning new principles, techniques and
technologies
the ability of individual and team work, organization and execution
of projects
the ability to design testing plans and applying different techniques
of software testing
the ability to integrate software quality assurance techniques in the
life cycle of software development
ability to carry out checks and inspections of development
documents and program code, as well as process control and code control
using metrics
Module content
1. Software quality control - basic terms and definitions: quality,
software, software quality, control of quality, verification, validation, testing,
standards, quality attributes of the software.
2. Standardization of software quality assurance: Components of the
software quality assurance system; ISO standards, IEEE standards of the
software quality assurance and other commercial standards; Standardized
forms of reporting for individual software quality assurance activities; The
human components of software quality assurance
3. Integration of quality activities in the software development process:
Pre-project component of quality assurance; Development plan and quality
plan; Software development methodologies and software quality assurance;
Effectiveness and cost of removing defects in the software development
process
4. Review –formal design review, inspections, walk-through, peer
review of documents of certain phases of software development and code.
5. Testing - basic concepts, strategies and testing techniques: The
testing process; Design of test cases (Unit testing based on the assert method,
White-box testing techniques, Black-box testing techniques, Software
Page 64 of 82
testing tools, Automatic testing, Testing of user interfaces)
6. Software metrics: Metrics of code quality control; Metrics and
code refactoring; Metrics of quality control of software development process
7. Statistical methods - quantitative methods for monitoring and
improving software quality and process.
Literature
Recommended
1. Notes and slides from lectures (See Faculty WEB Site)
2. G. Gordon Schulmeyer, James I. Mcmanus, The Handbook of Software
Quality Assurance, Prentice Hall PTR (4rd Edition) 2007
3. Daniel Galin, Software Quality Assurance : From Theory to
Implementation, Addison Wesley 2003
Additional 1. Stephen H. Kan, Metrics and Models in Software Quality Engineering,
Addison-Wesley Professional; 2 edition 2002
Didactic methods
Theoretical concepts related to the topics of the course are presented during
lectures. The presented concepts are illustrated by examples and they are
discussed with the students.
Students organized in the teams will search the literature and will perform
synthesis of research for a selected topic related to technology and security
aspects of software quality in the form of a seminar paper.
Throughout the semester students will be getting homework which is
thematically consistent with the lectures and exercises.
Concrete tasks related to the course and continuous monitoring of homework
will be worked on in the lab.
Assessment
During the course students earn points according to the following system:
attending classes and tutorials: 10 points, student with more than
three absences from lectures and/or tutorials cannot get these points;
homework: a maximum of 30 points; assuming solving up to 4
assignments equally distributed throughout the semester;
seminar paper: maximum 10 points; research on a given topic, and a
synthesis study in writing form;
partial exams: two partial exams, each partial exam earns a maximum of
20 points (pass mark is 10 points and more);
oral exam: maximum of 10 points; consists of presentation of seminar
paper/homework (5 points) and questions related to the thematic units of the
course (5 points).
A student who does not pass the partial exams has to retake an exam.
Final grade is made on the basis of points collected for all activities during
the semester, based on the scale:
95-100 grade 10
85-94 grade 9
75-84 grade 8
65-74 grade 7
55-64 grade 6
Prerequisites
Software Development- ETF RIO RPR I-2360
Module title Business Web Systems
Module code ETF RII PWS I-3550
Program ETF-B
Module
coordinator Dr Anel Tanović, Assistant Professor
Teaching staff Dr Anel Tanović, Assistant Professor
Ajla Ćerimagić Hasibović, Teaching Assistant
Year of study 3
Semester 5
Module type Elective
ECTS 5
Page 65 of 82
Lectures 35
Laboratory
exercises 15
Tutorials 7
Workload –
Independent Study 75
Module outcomes
Student who completed the module successfully has competencies as follow:
Understand basic elements of electronic business in
Internet and WWW environments
The knowledge student’s gained allows him to differ in
models of Internet economy, electronic business classification, and
the importance of electronic business security
Describe opportunities of IS integrated in B2B systems and
its importance to B2B economy
Define integration concept of IS in B2B system
Describe ERP systems and describe several technologies of
B2B systems (EDI, eMarketplaces, Web services)
Module content
1. Introduction: what is Internet economy; electronic business
vs. electronic commerce
2. Electronic business models: classification by provider and
consumer
3. Electronic business security: key security concerns within
electronic business; common security measures, and security
solutions
4. Integration of IS in B2B systems: why is important
integration of IS in B2B systems
5. ERP systems: the means of internal integration
6. B2B systems: what is B2B system; B2B technologies;
challenges for B2B systems adoption
Literature
Recommended
1. Notes and slides of lectures (taken from ETF website)
2. Fahrudin Oručević, Internet ekonomija
3. Gary P. Schneider, Electronic Commerce
Additional
Didactic methods
The module is taught through lectures on which are presenting the basic
concepts development, design and implementation of electronic business
applications. These lectures are supported with series of practical and
empiric examples by lecturer with the goal to enable students to understand
better using tools and methods for development of eBusiness applications
during lectures.
Other problems including practical issues and tasks from previous exams are
solved under tutor guidance during the tutorials. These activities are
organized to enable continuous checking through home works and midterm
exams of students’ capability level required to comprehend knowledge and
skills required from them to achieve as part of this module.
Assessment
During the module students earn points such as follow:
Attending classes, exercises and tutorials: 10 p (if the
student has no more than 3 absences)
Home assignments: 10 p
Two midterm exams: 2 x 20 = 40 p max
Student who gained less than 20 p during the semester must repeat the
module.
Student who earned 40 or more points during the semester will take a final
examination. Final exam is oral and it consists of discussion of issues from
midterm exams, home assignments and answers questions related to module
topics.
Page 66 of 82
Final oral exam provides up to 40 p max.
In order to get positive final grade, students must earn 20 p min in this final
oral exam. Student failing to earn the minimum must take the repeat oral
exam.
Student who earned 20 or more, and less than 40 p during the semester will
have to take the makeup exam.
The makeup exam is structured such as follow:
Written part of the makeup exam structured similarly to
midterm written exam, during which students solve issues in topics
they failed on midterm exam
Oral part of the makeup exam structured the same as the
oral part of the final exam
Only students who earned 10 p or more (midterm makeup exam) i.e. 40 p or
more (the whole exam) will be allowed to take the oral part of the makeup
exam.
Oral makeup exam provides up to 40 p max. In order to achieve positive
final grade student must earn 20 p min.
Student failing to earn the minimum will have to retake the module.
Prerequisites
Module title Programming Languages and Compilers
Module code ETF RII PJP I-3550
Programme ETF-B
Module
coordinator Dr Samir Ribić, Associate Professor
Teaching staff Dr Samir Ribić, Associate Professor
Kerim Hodžić, MoE, Teaching Assistant
Year of study 3
Semester 5
Module type Elective
ECTS 5
Lectures 36
Laboratory
exercises 14
Tutorials 0
Workload –
Independent Study 75
Module outcomes
To become familiar with many of the common procedural languages
as well as representative functional, logic oriented and object-oriented
languages.
To understand components and features of programming languages
necessary for program development and maintenance across various
applications.
To develop skills to evaluate a language for its purposes, capabilities,
limitations, environment requirements.
To study the phases and components of typical programming
language translators.
To study relevant language theory and understand its use in
translation.
To design, develop and test a large software project, utilizing several
software tools, resulting in a compiler for a small programming
language.
Module content
1. Low level programming, Evolution of the major programming
languages
2. Describing syntax and semantics
Page 67 of 82
3. Lexical analysis, Syntactic analysis
4. Names and binding, Scope, lifetime, environments
5. Primitive data types, Arrays ,Other types and type checking
6. Arithmetic expressions , Boolean expressions, assignments, mixed
mode
7. Imperative programming and structured programming, Statement
control: selection ,iteration, branching
8. Subprograms and parameter passing , Subprogram issues ,
implementing subprograms , Implementing nested subprograms, blocks
9. Abstract data types and encapsulation
10. Object oriented programming , examples of object oriented
languages
11. Functional programming , examples of functional languages
12. Logical, declarative and domain specific languages
13. Exception handling, event driven programming and concurrency
Literature
Recommended
1. Slides and lecture notes available on the web page
2. Robert Sebesta, Concepts of Programming Languages, 10th edition,
Addison-Wesley, 2012
Additional
1. Michael L. Scott, Programming Language Pragmatics, Third
Edition, Morgan Kaufmann, 2009
2. Keith Cooper and Linda Torczon Engineering a Compiler, Second
Edition Morgan Kaufmann, 2011
Didactic methods
The lecture theoretically explain programming languages and paradigm
through comparative analysis. The labs are intended to solve simple problems
and understand the topics of programming language paradigms and
implementation. The group project is related to iterative implementation of
compiler and interpreter, while research paper evaluates one programming
language. The group project and research paper contribute to develop
competencies of high level programming language understanding, without
constrain to single development model.
Assessment
The final score is obtained as follows
• 10 points for attendance and activities during lecture and lecitations
• 10 points for research paper and group project
• 20 points first partial written exam, problem solving, 10 points is
considered pass
• 20 points second partial written exam, problem solving, 10 points is
considered pass
• 40 points and a final oral exam (where 15 points is considered
passed the exam), checking the facts.
Only the students who have achieved the above criteria by at least 40 points
can participate.Students who did not pass required parts of the course have
two chances for remedial exam.
Final score: Below 20 points retake course, score 21-54 grade 5, score 55-64
grade 6, score 65-74 grade 7, score 75-84 grade 8, score 85-94 grade 9, score
95-100 grade 10.
Prerequisites
System Programming – ETF RII SP I-2350
Automata and Formal Languages – ETF RIO AFJ I-2460
Module title Computer Modeling and Simulation
Module code ETF RII RMS I-3660
Programme ETF-B
Module coordinator Dr Kemal Hajdarević, Associate Professor
Teaching staff Dr Kemal Hajdarević, Associate Professor
Zoran Cico,MSc, TeachingAssistant
Year of study 3
Semester 5
Page 68 of 82
Module type Elective
ECTS 5
Lectures 35
Laboratory
exercises 15
Tutorials 0
Workload –
Independent Study 75
Module outcomes
Students who successfully complete the course will have the following
competencies:
• the ability to choose and apply appropriate engineering principles
and mathematical and computational methods to solve problems in the field
of computer modeling and simulation.
• ability to solve problems by applying queuing with acquired
engineering knowledge, general knowledge of mathematics, and electrical
engineering, computer communications, and specialized knowledge in
computer modeling and simulation with the help of appropriate literature
that are trained to find
• ability to design and implement tests and experiments in the field
of computer modeling and simulation from which they can draw
conclusions and verify hypotheses.
• the ability to analyze, design and implementation of system
components with the help of computer modeling and simulation (programs,
applications, hardware communication equipment, etc.) using appropriate
methods and techniques taking into account the scientific, technical, social,
environmental and economic conditions and standards
• knowledge of the use of computer modeling and simulation in
computer communications and data processing, knowledge of standards and
understanding the influence that computer modeling and simulation, their
operation and maintenance are in actual systems
Module content
1. Models and discrete event simulation. Discrete statics and dynamic
conditions of the system. Modeling paradigm. Method of programming
events, methods of interaction with the process.
2. Queuing theory and applications in computer communications, and
processing of data
3. The design of the experiment and the use of simulation as a tool for
decision making
4. The structure of the computer program for modeling and
simulation.
5. Using a modeling language. Interfaces and interpretation. Results
of modeling and simulation.
6. Software tools and packages for modeling and simulation system.
7. Algorithms and numerical integration methods used in software
packages for modeling and simulation.
8. Software support for creating models and algorithms in the target
hardware to work in real time.
Literature
Recommended
1. Lecture slides will be available on faculty WEB site;
2. Discrete event simulation, Udo W. Pooch, James A. Wall, Jr.CRC
PressINC, 1993
3. Protocols Modeling and Analysis by Mischa Schwartz, Addison-
Wesley, 1987;
4. Queueing Systems I by L. Kleinrock, John Wiley & Sons, 1975. 2.
Telecommunications
Additional
Didactic methods
Lectures take place in the lecture hall, using a projector, so that the student
can easily and clearly monitor the given lectures. Each teaching unit would
Page 69 of 82
be presented to the students through the university's website to help students
in advance to prepare for attending classes. Certain topics to illustrate
through examples and simulation. Exercise would be organized in the
laboratory and would be designed so that the individual thematic units
handled in a manner that students easily master this theory from lectures.
Tutorial would consist of development projects, as well as certain tasks with
the help of a tutor.
Assessment
During the course students earn points according to the following system:
• The student’s presence to lectures and exercises (maximum 10
points). Students who have more than three absences from lectures and / or
laboratory exercises will not get these points.
• 5 homeworks that are evenly distributed throughout the semester
(maximum 10 points)
• Two partial exams:
◦ The first partial exam (maximum 20 points)
◦ The second partial exam (maximum 20 points)
Partial exams cover the whole the lectures, laboratory exercises and
homework. On partial exams students knowledge is evaluated to test their
understanding of basic concepts in the field of computer modeling and
simulation.
• Final exam (maximum 40 points).
Students who have passed both partial exams (at least 10 points per partial
exam) can take the final exam. The final exam covers material from the
entire semester, including lectures, laboratory exercises and homework. For
taking the course it is required to pass the exam. To obtain a positive final
grade, students must score a minimum of 55 points, including: attendance,
homework, two partial exams and a final exam. Students who have not
passed one partial exam, the exam is taken at the reformatory. Students who
have not passed both exams on the partial correction of an integral graded
exam, which includes material from the entire semester.
Prerequisites
Module title Software Engineering
Module code ETF RIO SI I-3660
Programme ETF-B
Module
coordinator Dr Novica Nosović, Professor
Teaching staff Dr Novica Nosović, Professor
Hana Haseljić, MoE, TeachingAssistant
Year of study 3
Semester 6
Module type Mandatory
ECTS 5
Lectures 35
Laboratory
exercises 0
Tutorials 25
Workload –
Independent Study 65
Module outcomes
After successful finish of the course student should be able to:
• understand principles of software engineering (unite the knowledge
acquired during the previous 5 semesters of studies),
• understand different software processes (production) ,
• understand principles, methods and techniques for design and
development of complex software systems
• develop software products in teams, with short deadlines and
Page 70 of 82
constant requirements changes.
Module content
1. Introduction to software engineering – software crises and
technological trends – short historical background.
2. Software processes, waterfall and derivatives – incremental and
iterative models.
3. Agile software development methods, pair programming and
constant refactoring, extreme programming.
4. Requirements engineering, functional and non-functional
requirements, specification, documenting and validation of requirements.
5. System modeling, context modeling, interaction modeling,
structural modeling, behavioral modeling.
6. Software architecture, decisions that lead to architecture definition,
different architectural views, architectural patterns.
7. Software design and implementation, object-oriented design with
UML, design patterns, component reuse, open source software development.
8. Software testing, verification and validation, functional testing,
structural testing, test-driven software development.
9. Software evolution, processes and dynamics, software maintenance,
legacy system management.
10. Planning and software project management, risk Assessment, risk
management, team work and managing people.
Literature
Recommended
1. Lecture notes and slides (see the faculty web page)
2. Ian Sommerville, “Software Engineering”, 9. edition, Addison-
Wesley , 2012.
Additional
1. Bernd Bruegge, Alan H. Dutoit, “Object-Oriented Software
Engineering Using UML, Patterns and Java”, Prentice-Hall, 2004.
2. Roger Pressman, “Software Engineering: A Practicioner's
Approach”, 7. Edition, McGraw-Hill, 2009.
Didactic methods
The lectures cover basic concepts of software engineering. Students are
introduced to fundamental software processes, testing and maintenance.
Tutorials are project and team-work based on medium complexity software
development and include examples and problems that help better
understanding of lecture material. Work on projects support students
competences development to understand basic problems of software
engineering within limited resources environment and with constant changes.
Assessment
Assessment of students achievements at the course are:
Presence at lectures and exercises (max. 10 points). Student that fail
to attend lectures and/or labs for more then three times, does not get this
points.
Project assignments are equally spread throughout the semester
(max. 20 points)
Two midterm exams:
• The first midterm exam ( max. 20 points)
• The second midterm exam ( max. 20 points)
Midterm exams reflect entire course materials covered on lectures and
tutorials. Midterm exams assess the understanding of basic principles of
software engineering, as well as abilities to understand advantages and
disadvantages of different approaches to software production.
Final exam (max. 30 points).
Students that pass both midterms (min. 10 points each) can take the final
exam. Final exam cover all the course materials, including lectures and
tutorials. To pass the course, it is compulsory to pass the final exam. To get
passing final mark, student must collect minimally 55 points, including:
presence, project work, two midterm exams and final exam. Student that fail
Page 71 of 82
one midterm exam, takes remedially exam. Student that fail both midterms
repeats the whole exam including the entire course materials.
Prerequisites
Module title Design of Information Systems
Module code ETF RIO IS 3560
Programme ETF-B
Module
coordinator Dr Almir Karabegović, Associate Professor
Teaching staff Dr Almir Karabegovic, Associate Professor
Marina Miličević, MoE, TeachingAssistant
Year of study 3
Semester 6
Module type Mandatory
ECTS 4
Lectures 38
Laboratory
exercises 11
Tutorials 11
Workload –
Independent Study 40
Module outcomes
Students who successfully complete the course will have the following
competencies:
• knowledge and understanding of all phases of information systems
development;
• to be involved in developing the model of a complex information
system;
• to study an information system, define user requirements for a new
system, propose and evaluate alternative solutions, develop a design for the
new system, develop project documentation and deliver, maintain and
support corporate information system.
Module content
This course elaborates both structured and object oriented methods and
techniques used in development of information systems. The course
examines analysis and design techniques, feasibility analysis, information
systems development approaches, systems testing procedures, installation
and migration, and maintenance procedures. Organizational issues with
respect to information system development will be considered.
• Foundations for Systems Development: The Systems Development
Environment. The Origins of Software. Managing the Information Systems
Project.
• Planning: Identifying and Selecting Systems Development Projects.
Initiating and Planning Systems Development Projects.
• Analysis: Determining System Requirements. Structuring System
Process Requirements. Structuring System Data Requirements.
• Design: Business Process Reengineering. Designing Databases.
Designing Forms and Reports. Designing Interfaces and Dialogues.
Designing Distributed and Internet Systems
• Implementation and Maintenance: System Implementation.
Maintaining Information Systems.
Literature
Recommended
1. Lecture Notes (to download from Faculty WEB site);
2. Hoffer, J. A., George J., Valacich J., Modern Systems Analysis and
Design 7th Edition, Prentice Hall, 2013
Additional
1. Whitten, J.L., Bentley, L.D., Systems Analysis and Design Methods,
McGraw-Hill/Irwin, 7th Edition, 2007;
2. Dennis, A., Wixom, B.H., Tegarden, D., Systems Analysis and
Page 72 of 82
Design with UML 2.0: An Object-Oriented Approach, 3rd Edition, Wiley,
2009
Didactic methods
Theoretical part of module is done through lectures used for presentation of
basic concepts. Focus of module is on tutorials through which students
practically apply concepts presented through lectures. Students are divided in
groups with each group working on some specific example in precise
organization context. Flow of theoretical presentation of individual topics
during lectures, which are related to information systems development, is
followed by direct application of those acknowledgements in concrete
examples processed by each group. Students apply new knowledge in form
of homework which is done at home with consultations with tutors in the
laboratory.
Assessment
During the course students earn points according to the following system:
• Attending classes and tutorials: 10 points, student with more than
three absences from lectures and/or tutorials cannot get these points.
• Home assignments: maximum of 10 points, assuming solving 5 to
10 assignments equally distributed throughout the semester.
• Partial exams: two partial exams; each positively evaluated partial
exam 20 points. Students who gained less than 20 points during the semester
must repeat that course.
Students who earned 40 or more points during the semester will take a final
exam; the exam consists of discussion of problems from partial exams, home
assignments and answers to simple questions related to module.
Final oral exam provides maximum of 40 points. In order to get positive final
grade, students must earn minimum of 20 points in this exam. Student failing
to earn the minimum must take the makeup oral exam.
Student, who earned 20 or more, and less than 40 points during the semester,
will have to take the makeup exam. The makeup exam is organized in the
following manner:
• Written part structured similarly to partial written exam, during
which students solve problems in topics they failed on partial exams (less
than 10 points);
• Oral part structured the same as the oral part of the final exam.
Only students who managed to earn total score of 40 or more points in
written part of the makeup exam will be allowed to take the oral part of the
makeup exam, where the mentioned score consists of points earned through
attending lectures, solving home assignments, passing partial exams and
passing the written part of makeup exam.
Oral makeup exam provides maximum of 40 points. In order to achieve
positive final grade students must earn minimum of 20 points in this exam.
Student failing to earn the minimum will have to retake the course.
Prerequisites
Object-oriented Analysis and Design – ETF RIO OOAD I-2460
Fundamentals of Database Systems – ETF RIO OBP I-2360
Fundamentals of Information Systems – ETF RIO OIS I-3560
Module title Artificial Intelligence
Module code ETF RIO VI I-3660
Programme ETF-B
Module
coordinator Dr Zikrija Avdagić, Professor
Teaching staff
Dr Zikrija Avdagić ,Professor
Muamer Kafadar, Teaching Assistant
Vedad Letić, Teaching Assistant
Sabina Muratović, MoE, Teaching Assistant
Year of study 3
Semester 6
Module type Mandatory
Page 73 of 82
ECTS 5
Lectures 35
Laboratory
exercises 25
Tutorials 0
Workload –
Independent Study 65
Module outcomes
Students after finishing the course shall poses the following:
basics of knowledge engineering,
basics of artificial intelligence,
capabilities for development and system analysis based on knowledge
and genesis of artificial intelligence,
capabilities to integrate techniques and strategies required for design
and simulation and implementation of intelligent systems.
Module content
1. TERMINOLOGY AND DEFINITIONS OF ARTIFICIAL
INTELLIGENCE: intelligence, demonstrating intelligence, intuition,
common sense, heuristics, knowledge, cognitive psychology, artificial
intelligence tree, historic overview.
2. GENESIS OF ARTIFICIAL INTELLIGENCE: knowledge
engineering, games, expert systems, decision making support systems,
software intelligent agents, evolution machine, evolution tree of artificial
intelligence, fuzzy systems, artificial neuron networks, genetic algorithms.
3. FUZZY EXPERT SYSTEMS: fuzzy set, fuzzy logic, fuzzy
operators, modifiers and numbers, fuzzy relations, generalized modus
ponens, approximate reasoning, defuzzyfication methods, Mamdani
reasoning model, Sugeno reasoning model, Tsukamoto reasoning model.
4. EXPERT SYSTEMS: terminology and definitions, structures of
expert systems, development cycle of expert systems, actors, knowledge
acquisition, knowledge presentation, inherent machine, conclusion strategies,
proposition logic, predicative logic, production systems, uncertainty,
backward chaining, forward chaining, rule anomalies, solution search
techniques and state space, blind techniques, heuristic techniques, expert
system classes, specifications of expert systems.
5. ARTIFICIAL NEURAL NETWORKS: introduction, perceptron,
network topology, learning rules.
6. GENETIC ALGORITHMS: introduction, evolutionary computation
and classification, simple genetic algorithm.
7. INTELIGENT SOFTWARE AGENTS: terminology and definitions,
classification of agents, agent technology factors, functional learning agent
architecture, agent models, agent communication and migration.
Literature
Recommended 1. Fuzzy logika u inžinjerskim aplikacijama, Zikrija Avdagić,
Elektrotehnički fakultetu Sarajevu, 2008.
Additional
1. Artificial intelligence- Structures and Strategies for Complex
Problem Solving, George F.Luger˛&William A Stubblefield, Addison
Wesley Longman Inc.1999.
2. Expert systems, principles and programming, Giarratano˛Riley,
PWS Publishing Company, 1998.
3. Agent sourcebook, Caglayan, C. Harrison, JohnWiley &Sons,
Inc.,1997
4. Vjestacka inteligencija& fuzzy-neuro-genetika , Zikrija Avdagic,
Grafoart,2003.
Didactic methods
Students will be introduced with theory, problems and application examples
through topic of lectures. Lectures consist of theoretical part, presentation of
descriptive examples, genesis and explanation of specific problems. In this
way students can have the foundation for application of studied material in
engineering applications. Additional examples and exam problems are
Page 74 of 82
considered and solved during laboratory exercises. Laboratory exercises and
homework enable continuous work and knowledge testing using
MATLAB/Simulink/Fuzzy Logic Toolbox, Neural Network Toolbox,
Optimization Toolbox/Genetic Algorithms.
Assessment
Home assignments: maximum of 20 points, assuming solving 10 assignments
equally distributed throughout the semester.
Partial exams: two written partial exams; maximal grade per each exam is 20
points.
Final oral exam provides maximum of 40 points.
In order to get positive final grade, students must earn minimum of 55 points
in this exam.
Prerequisites
Linear Algebra and Geometry – ETF LAG I-1160
Discrete Mathematics – ETF RIO DM I-2360
Module title Software Project Organization
Module code ETF RII OSP I-3650
Programme ETF-B RI
Module
coordinator Dr Samir Omanović, Associate Professor
Teaching staff
Dr Samir Omanović, Associate Professor
Dr Razija Turčinhodžić, Assistant Professor
Lejla Kadrić, MoE, TeachingAssistant
Year of study 3
Semester 6
Module type Elective
ECTS 4
Lectures 30
Laboratory
exercises 20
Tutorials 0
Workload –
Independent Study 50
Module outcomes
Students who successfully complete the course will have the following
competencies:
• identify, select and implement organizational and communication
skills necessary for the implementation of the software project;
• adapt to the needs of the team, bearing in mind the circumstances of
the project, the psychological aspects of teamwork and emotional
intelligence;
• manage software as a product;
• have a professional attitude towards software engineering in terms of
accreditation, licensing and certification.
Module content
1. Introduction: The basic elements of a software project, the position
of project participants in the organization of the project.
2. Types of teams on the project, roles, tasks, work products, schedule.
3. Communication on the project: types, mechanisms, problems,
professionalism in communication, solving communication problems.
4. Organizational activities: forming teams, joining the team, meetings,
learning about ways to communicate on the project, reviews - client and
team.
5. Project Planning: work breakdown structure, task scheduling, cost,
schedule, agile aspects, and simple methods of assessment.
Page 75 of 82
6. Risks of the project: identification, assessment, behavior, reporting.
7. Teamwork: dynamics, cognitive problems, interaction, psychological
aspects, emotional intelligence, overcoming insecurity, overcoming
uncertainty, multicultural environment.
8. Project control: monitoring and reporting, measurement and analysis
results, discipline.
9. Manipulation software products, versioning, change management,
tracking errors.
10. Professionalism in the software engineering, training, accreditation,
licensing, certification.
Literature
Recommended
1. R. E. Fairley, Managing and Leading Software Projects, Hoboken,
NJ: Wiley-IEEE Computer Society Press, 2009.
2. F. Bott, et al., Professional Issues in Software Engineering, 3rd ed.
New York: Taylor&Francis, 2000.
3. B. Bruegge and A. H. Dutoit, Object-Oriented Software
Engineering, 2nd ed., poglavlja 3,13 i 14, Pearson Prentice Hall, 2004.
Additional 1. I. Sommerville, Software Engineering, 9th ed., poglavlja 22, 23 i
25, Addison-Wesley, 2010
Didactic methods
Lectures deal with the basic concepts of software projects organization and
professional behavior in the software engineering. Students are theoretically
and through examples familiarized with the elements of a software project,
organization, communication, planning, risk management, control, and team
work - all from the perspective of project participants. Through lectures are
analyzed problems of software projects organization and positive experiences
related to overcoming them in practice are presented to students. In addition,
students are theoretically and through examples familiarized with
professionalism in software engineering and software products manipulation.
Through lectures are analyzed problems related to professionalism in
software engineering and positive experiences related to overcoming them in
practice are presented to students. Lectures also theoretically handle aspects
related to software products manipulation as well as tools to be used for that
purpose. Laboratory exercises include additional examples of problems that
are closely related to the lectures. Through laboratory exercises are
implemented practical tasks related to: organization, communication, control,
planning, teamwork and manipulation software product, which contributes to
better develop students' competence.
Assessment
Evaluating the success of students in the course is as follows:
• Attendance on lectures and exercises (with maximum of 3 absences)
and / or participation in discussions in class (maximum 10 points).
• Standalone essay (maximum 10 points)
• Two partial exams:
- The first partial exam (maximum 20 points)
- The second partial exam (maximum 20 points)
• Partial exams cover the whole lectures and laboratory exercises.
• Oral exam or a team project (maximum 40 points).
Students that at both partial exams have in sum 20 points or more are allowed
to take the oral exam. Oral exam covers material from the entire semester,
including lectures and laboratory exercises. Instead of an oral exam, students
can choose the team project that demonstrates the practical application of
their knowledge and competences. Projects are presented in the front of other
students and the teacher. All team members must take part in the presentation.
For successful finishing the course it is necessary to have in sum of both
partial exams 20 or more points, pass the oral exam or finish and present a
project, and have in sum 55 or more points for all, including: attendance,
essay, two partial exams and oral exam / team project. Students who have not
passed one of the partial exams take it as the corrective exam. Students who
have not passed both partial exams take them as the corrective exam
composed of both partial exams separately, one after the other, and with the
Page 76 of 82
duration like on a regular exam.
Prerequisites
Module title Computer Network Administration
Module code ETF RII ARM I-3545
Programme ETF-B CI
Module coordinator Dr Saša Mrdović, Associate Professor
Teaching staff Dr Saša Mrdović, Assistant Professor
Haris Šemić, MoE, Teaching Assistant
Year of study 3
Semester 6
Module type Elective
ECTS 4
Lectures 35
Laboratory
exercises 15
Tutorials 0
Workload –
Independent Study 50
Module outcomes
After successfully passing the course, students should be able to:
identify and describe basic components of computer networks that
include hardware (cables, network devices and computers) and software (OS
and applications that provide network services)
analyze and test existing network systems and find their weaknesses
and a space for improvement
compare different implementations of network services and choose
and recommend the most appropriate one
analyze the need for network services and design a system that
provides them
Module content
1. Introduction and overview of courses Operation Systems and
Computer Networks.
2. Components and organization of computer network.
3. Network and system policy
4. Computer network configuration
5. Operating systems installation
6. Process and system devices management
7. User administration
8. Network services (directory services, DNS, mail, WWW...)
9. Computer network maintenance (updating problem solving...)
10. Security principles (confidentiality, integrity, availability)
11. Security implementation (backup, ssh, SSL, firewall, IDS...)
12. Automation of administration jobs (scripts)
13. Complete example of a computer network implementation.
Literature
Recommended
1. Lecture Notes (to download from Faculty WEB site);
2. Mark Burges, Principles of Network and System Administration,
John Wiley & Sons, 2004.
Additional
1. Thomas A. Limoncelli, Christine Hogan, The Practice of System
and Network Administration, Addison-Wesley Professional, 2007.
2. Creig Hunt, TCP/IP Network Administration, O'Reilly, 2002.
Didactic methods
Teaching activities include lectures and practical work in lab. Lectures
present theory and general principles of each area listed in course content.
During lab work, that is synchronized with lectures, students, monitored and
guided by teaching assistant, analyze practical examples, solve problems,
Page 77 of 82
install components and learn how to design network services, all based on
principles presented during lectures. Through lectures and lab work student
prepare for project implementation and seminar paper that describes it. There
is continuous evaluation of student preparedness to master knowledge and
skills within course through project implementation phases.
Assessment
During the course students collect point according to the following system:
• Attendance: 10 points
• Partial exams (2 x 10): 20 points
• Project: 20 points
• Seminar paper: 10 points
• Final exam: 40 points
Partial exams are written with short question in form of simple problems.
Project is group work (four students) where students design and implement a
computer network with predefined set of services.
Seminar paper is an essay with technical description of system component
implementation that student was in charge with as a part of the project.
Final exam is an oral exam where students present their participation and
experiences gained through project, and show ability to present and connect
knowledge and skills obtained during course.
Prerequisites
Operating Systems – ETF RIO OS I-1260
Computer Architecture – ETF RIO RA I-2460
Module title Design and Architecture of Software Systems
Module code ETF RII DSS I-3650
Programme ETF-B RI
Module
coordinator Dr Amila Akagić, Assistant Professor
Teaching staff Dr Amila Akagić, Assistant Professor
Zoran Cico, MsC, Teaching Assistant
Year of study 3
Semester 6
Module type Elective
ECTS 4
Lectures 30
Laboratory
exercises 20
Tutorials 0
Workload –
Independent Study 50
Module outcomes
Students who successfully complete the course will have the following
competencies:
• designing large software systems at a high level of abstraction;
• select and apply different architectural concepts in building large
software systems;
• configuration management of large software systems;
• selection and application of Commercial Off-The-Shelf (COTS)
software in building software systems;
• overcoming problems with the complexity, components distribution,
and components integration in large software systems.
Module content
1. Basic characteristics of large software systems (structure, elements,
interaction), aspects of distribution and complexity, integration problems.
2. Architecture of large software systems (characteristics, independent
Page 78 of 82
of implementation, algorithm and representation, architecture reuse).
3. Designing large software systems at a high level of abstraction,
specification and validation of the system, the impact of context on the
application design.
4. Application of COTS software for rapid construction of large
software systems, compatibility problems, configuration problems, analyzing
the possibilities of the COTS software, COTS software selection.
5. Components integration in large software systems, integration types,
development of software components for software integration.
6. Configuration management of large software systems, problems
caused by a large number of configuration parameters, problems with
interdependences.
Literature
Recommended
1. L. Bass et all., Software Architecture in Practice, 3rd ed., Addison-
Wesley Professional, 2012.
2. B. Bruegge and A. H. Dutoit, Object-Oriented Software
Engineering, 2nd ed., Pearson Prentice Hall, 2004.
3. G.Booch et all., Object-Oriented Analysis and Design with
Applications, 3rd ed., Addison-Wesley Professional, 2007.
Additional 1. I. Sommerville, Software Engineering, 9th ed., poglavlja 10, 13, 17,
18 i 25, Addison-Wesley, 2010.
Didactic methods
Lectures deal with the basic concepts of design and architecture of large
software systems. Students are theoretically and through examples
familiarized with: aspects of distribution and complexity of large software
systems, problems of integration, architectural styles, designing at high level
of abstraction, using COTS software in building software systems and
configuration management. Through lectures are analyzed various problems
related to the design and architecture of software systems and positive
experiences in overcoming them in practice are presented. Laboratory
exercises include additional examples of problems that are closely related to
the lectures. Through laboratory exercises are implemented practical tasks
related to: design, architecture selection, use of COTS software, configuration
management and software integration, which contributes to better develop
students' competence.
Assessment
Evaluating the success of students in the course is as follows:
• Attendance on lectures and exercises (with maximum of 3 absences)
and / or participation in discussions in class (maximum 10 points).
• Standalone essay (maximum 10 points)
• Two partial exams:
• - The first partial exam (maximum 20 points)
• - The second partial exam (maximum 20 points)
• Partial exams cover the whole lectures and laboratory exercises.
• Oral exam or a team project (maximum 40 points).
Students that at both partial exams have in sum 20 points or more are allowed
to take the oral exam. Oral exam covers material from the entire semester,
including lectures and laboratory exercises. Instead of an oral exam, students
can choose the team project that demonstrates the practical application of
their knowledge and competences. Projects are presented in the front of other
students and the teacher. All team members must take part in the presentation.
For successful finishing the course it is necessary to have in sum of both
partial exams 20 or more points, pass the oral exam or finish and present a
project, and have in sum 55 or more points for all, including: attendance,
essay, two partial exams and oral exam / team project. Students who have not
passed one of the partial exams take it as the corrective exam. Students who
have not passed both partial exams take them as the corrective exam
composed of both partial exams separately, one after the other, and with the
duration like on a regular exam.
Prerequisites
Page 79 of 82
Module title Digital System Design and Synthesis
Module code ETF RII PDS I-3650
Programme ETF-B
Module
coordinator Dr Amila Akagić, Assistant Professor
Teaching staff Dr Amila Akagić, Assistant Professor
Year of study 3
Semester 6
Module type Elective
ECTS 4
Lectures 30
Laboratory
exercises 20
Tutorials 0
Workload –
Independent Study 50
Module outcomes
The overall course objective of this module is to provide fundamental
knowledge of digital system design and synthesis to computer science
students with emphasis on a hardware description language approach. At the
end of this course, students are expected to:
• Describe the design of complex, high speed digital systems (not just
circuits) using a (VHDL based) behavioral synthesis approach.
• Understand the programmable implementation technologies and
modern electronic design automation (EDA) design flows and tools.
• Have hands-on experience in the implementation of digital systems
using programmable logic (e.g. FPGAs).
• Understand how digital building blocks (such as memory chips,
microprocessors, arithmetic circuits etc.) work.
• Understand how to interface microprocessors and computers (from
hardware point of view).
• Test complex digital systems.
• Familiarize with digital system design examples and applications.
Module content
1. Introduction to design methodologies and implementation
technologies. Programmable Logic Devices. PLD Technologies:
Floating Gate/Flash, SRAM and Antifuse Programming Technology.
Basic PLDs: PLAs and PALs. Complex Programmable Logic
Devices (CPLDs), Field Programmable Gate Arrays (FPGAs).
2. Overview of modern FPGA Architectures. Altera Stratix
II/III, Xilinx’s Virtex family, 6-input LUT. Programmable Power
Technology.
3. Review of hardware description languages (HDL) and
behavioural synthesis of digital systems. Basic Language Contructs
of VHDL. Concurrent Signal Assignment Statements of VHDL.
Sequential Statements of VHDL.
4. Simulation of HDL-based digital systems designs through
modern electronic design automation (EDA) software.
5. Synthesis of VHDL Code suitable for implementation on
programmable device technologies. Introduction to basic EDA tools.
VHDL Synthesis flow. Timing considerations. Combinational and
Sequential Circuit Design. Structuring of digital systems designs in
a hierarchical, reusable format.
6. Finite State Machine: Principle and Practice. Overview of
FSM, FSM representation. Timing and performance of an FSM.
VHDL description of an FSM.
7. Principle of register transfer methodology. Introduction to
FSM with a data path (FSMD). FSMD design of a
repetitive/addition multiplier. Timing and performance analysis of
Page 80 of 82
FSMD. Examples of register transfer methodology: One-shot pulse
generator, SRAM controller, GCD circuit, Square-root
approximation circuit.
8. Hierarchical Design in VHDL. Introduction to components,
generics, configuration, library, subprogram, package and partition.
9. Principles of Clock and Synchronization. Overview of a
clock distribution network. Overview of a multiple-clock system.
10. System-on-chip (SoC) design and intellectual property (IP)
cores. Digital Design Examples and Applications.
11. Reconfigurable Computing.
Literature
Recommended
1. Notes and slides from lectures (available through Faculty website).
2. Pong P. Chu: RTL Hardware Design Using VHDL, Coding for
Efficiency, Portability, and Scalability, Wiley-IEEE Press, 2006
3. Volnei A. Pedroni: Circuit Design with VHDL, Burlington-MA:
Elsevier / Morgan Kaufmann, 2008
Additional 1. Steve Kilts, Advanced FPGA Design: Architecture, Implementation,
and Optimization, Wiley-IEEE Press, June 2007
Didactic methods
The course is conducted through theoretical lectures in which concepts of
digital system design and synthesis are presented. The emphasize is on
presenting modern technologies for designing complex digital systems and
providing many digital desing examples and applications.
During laboratory exercises students solve practical assignments where it is
required from them to analyze the problem and
design complex digital system from scratch.
These activities are organized to enable continuous Assessment through term
paper and practical exercise.
Assessment
During the course students earn points according to the following system:
• Attending classes and tutorials: 10 points, student with more than
three absences from laboratory exercises cannot get these points.
• Term paper: maximum of 10 points. Student is required to prepare
one term paper uniformly distributed throughout the semester.
• Partial exams: two partial exams; each positively evaluated partial
exam with 20 points.
Students who gained less than 20 points during the semester must repeat the
course. Students who earned 40 or more points during the semester will take
a final exam; the exam consists of discussion of problems from partial exams,
home assignments and answers to simple questions related to course topics.
Final oral exam provides maximum of 40 points. In order to get positive final
grade, students must earn minimum of 20 points in this exam. Student failing
to earn the minimum must take the repeat oral exam. Student, who earned 20
or more, and less than 40 points during the semester, will have to take the
repeat exam. The repeat exam is organized in the following manner:
• Written part is structured similarly to partial written exam, during
which students solve problems in topics they failed on partial exams (less
than 10 points);
• Oral part is structured the same as the oral part of the final exam.
Only students who managed to earn total score of 40 or more points in
written part of the repeat exam will be allowed to take the oral part of the
repeat exam, where the mentioned score consists of points earned through
attending lectures, solving home assignments, passing partial exams and
passing the written part of repeat exam. Oral repeat exam provides maximum
of 40 points. In order to achieve positive final grade students must earn
minimum of 20 points in this exam. Student failing to earn the minimum will
have to retake the module.
Prerequisites
Module title Final Thesis
Page 81 of 82
Module code ETF RIO ZR 36130
Programme ETF-B CI
Module
coordinator
Teaching staff
Dr Zikrija Avdagić, Professor
Dr Haris Šupić, Professor
Dr Dženana Đonko, Professor
Dr Novica Nosović, Professor
Dr Željko Jurić, Associate Professor
Dr Selma Rizvić, Associate Professor
Dr Samir Ribić, Associate Professor
Dr Samim Konjicija, Associate Professor
Dr Saša Mrdović, Associate Professor
Dr Almir Karabegović, Associate Professor
Dr Kemal Hajdarević, Associate Professor
Dr Samir Omanović, Associate Professor
Dr Amila Akagić, Assistant Professor
Dr Vensada Okanović, Assistant Professor
Dr Emir Buza, Assistant Professor
Dr Ingmar Bešić, Assistant Professor
Dr Anel Tanović, Assistant Professor
Dr Vedran Ljubović, Assistant Professor
Dr Dinko Osmanković, Assistant Professor
Year of study 3
Semester 6
Module type Mandatory
ECTS 12
Lectures
Laboratory
exercises
Tutorials
Workload –
Independent Study 300
Module outcomes
In implementing and defending their final thesis students shall:
• master their skills in solving practical problems within the scope of
the study programme and by using theoretical knowledge and practical skills
gained during the study
• improve and demonstrate ability to search literature in the area of
their studies, to interpret relevant data, to make conclusions including
reflections on relevant social, scientific and ethical issues.
• validate their written and oral communication skills, and ability to
transfer information, ideas, and solutions in the written (final thesis) and oral
form (presentation and defence of the thesis
• demonstrate ability to decompose a complex problem, to model and
formally describe the problem, conduct an experiment, and write an expert
technical document
• demonstrate ability to perform a literature review and research
independently.
Module content
1. Problem definition. Hypothesis, task, project. Literature review. Method
selection.
2. Practical work plan. Practical work implementation (software, model,
device). Conducting the experiment. Developed solution verification and
validation.
3. Consultation, for-against debate, adopting suggestions, time planing and
meeting deadlines.
4. Interim text version drafting. Expert and technical writing. Literature
review. Citations. Methods assessment. Interpreting the results. Formal and
visual results presentation.
5. Completing the thesis, adoption of the adviser suggestions and comments.
Page 82 of 82
Text editing.
6. Results presentation. Writing presentation. Oral presentation. Presentation
techniques, time and content planning. Focus on important issues and on
personal achievements. Answering questions.
Literature
Recommended Defined in thesis description
Additional Defined in thesis description
Didactic methods
Problem/task/project/hypothesis definition. Guidance and advising.
Deadlines planning. Consultative work. Independent work. Guiding student
through independent literature review. Project/software/device
implementation. Technical paper writing. Validating/systematization/
presenting results. Conducting experiment / simulation.
Assesment
Plan and activities for timely completion: 20 points;
Practical and implementation: 30 points;
Final thesis: 20 points;
Writing presentation: 10 points;
Oral presentation: 20 points.
Prerequisites