Você está na página 1de 99

UNIVERSITY IN SARAJEVO FACULTY OF ELECTRICAL ENGINEERING SARAJEVO

THREE-YEAR BACHELOR STUDY AT FACULTY OF ELECTRICAL ENGINEERING (Programme: Computing and Informatics) proposal for an updated programme

Comments on the updated Programme Computing and Informatics This document contains a proposal for the updated Programme Computing and Informatics, which reflects comments and requirements from the ASIIN Accreditation Report for Bachelor Degree Programmes ACE, PE, CI and TC, relating the Programme CI. The requirement No. 6 from this document states that: Name of the programme, study objectives, learning outcomes and curriculum must be consistent. In order to enhance the competences of students in the area of software engineering and fundamentals of informatics the curriculum and the qualification profile need to be adjusted accordingly. The Report addresses the following aspects of the Programme CI: the name of the Programme Computing and Informatics (p. 5), lack of formal methods and formal languages, emphasized hardware CS orientation, lack of software orientation, recommendation to revise the learning outcomes (p. 11), technological bias, underrated logic-related fundamentals and knowledge from Software Engineering, necessity of adjusting the curriculum and the qualification profile (p. 16), lack of logical and formal fundamentals (p. 21), suggestion to extend the expertise in areas of algorithmics, programming languages and software development (p. 22). Additional recommendation No. 8 was stated on page 35: It is recommended extending the expertise in the areas algorithmics, programming languages and software development. In order to address the forementioned requirements, recommendations and observations, ETF proposed an updated Programme Computing and Informatics. This updated programme was adopted by the Faculty Council (decision No. 04-1-1590/13 dated on April 8, 2013). If approved from ASIIN, this updated programme is to be in use starting from study year 2014/2015. During analysis of observations from the Report and planning the activities, the ACM/IEEE recommendations for computing curricula were taken into account. Regarding the programme name, it was concluded that it reflects the main orientation of the updated programme towards Computer Science (with certain number of Software Engineering topics), and to a lesser extent towards Information Technology/Information Systems). Having in mind that several observations were given in the Report, which address lack of expertise in certain core subjects of the field (algorithms, logical and formal methods, programming languages and software development), it was concluded that these subjects should be covered by introducing new courses. In order to do so, it was necessary to remove the courses which divert from the basic programme's orientation (mostly non-CS, hardwareoriented and technology-focused courses). Because of that, a decision was made to introduce programme-electives on the second semester of the study, where several courses were identified, which are not of crucial importance for the programme outcomes (such as Engineering Physics 2, Electical Circuits 1 and Electronic Elements and Circuits). They were replaced by more fundamental courses, which prepare students for the more advanced courses on the higher semesters (Mathematical Logic and Computability, Probability and Statistics). These programme-electives would be taken by the students studying according to the Programme CI (therefore, they are mandatory for them). Beside that, technology-focused courses offered from other programmes (such as Mobile Communications, Digital Control Systems, Communications Protocols and Networks) were also removed and replaced by the courses with focus on Computer Science and Software Engineering (such as Programming Languages and Compilers, Mobile Application Development, Software Project Organization, Design and Architecture of Software Systems).

Further, certain courses are moved to lower or higher semesters, in order to enable students to acquire competences required by following courses. To summarize the main changes in the updated Programme Computing and Informatics in comparison to the current programme: introduction of fundamental courses: Mathematical Logic and Computability, Probability and Statistics (now mandatory for CI and with changed contents), Numerical Algorithms, Automata and Formal Languages (now mandatory), introduction of courses focusing on programming languages and software development: Programming Languages and Compilers, Mobile Application Development, introduction of courses focusing on topics of Software Engineering: Verification and Validation of Software (replaced the course Reliability and Software Quality Control, which will be moved to Master study), Software Project Organization, Design and Architecture of Software Systems, introduction of courses focusing on other more modern topics: Embedded Systems (replaced Lab Work in Automatics and Informatics), Digital System Design and Synthesis, some courses were renamed and their contents updated: Business Web Systems, Design of Information Systems, some courses were moved to lower semesters: Operating Systems, Fundamentals of Database Systems, Fundamentals of Computer Networks, Automata and Formal Languages, Web Technologies, some courses were moved to higher semesters: Fundamentals of Information Systems, Business Web Systems, Design of Information Systems, contents of most of the courses were updated (such as Computer Modeling and Simulation).

Programme: Year Semester

ACE, PE, CI, TC First year First semester

Courses N 1. 2. 3. 4. 5. Title Mathematics for Engineers 1 Fundamentals of Electrical Engineering Physics for Engineers 1 Linear Algebra and Geometry Fundamentals of Computing TOTAL: Code
ETF IM1 I-1175 ETF OE I-1180 ETF IF1 I-1160 ETF LAG I-1160 ETF OR I-1170

ECTS 7,0 7,0 5,0 5,0 6,0 30

H/S 75 80 70 60 70 345

P 49 48 39 39 44 219

L 0 4 0 0 0 4

T 26 28 21 21 26 122

Programme: Year Semester

ACE, PE, CI, TC First year Second semester

Courses N 1. 2. 3. 4. 5. Title Mathematics for Engineers 2 Programming Techniques Elective course 1.1 Elective course 1.2 Elective course 1.3 TOTAL: Code
ETF IM2 I-1280 ETF TP I-1270

ECTS 7,0 6,0 7,0 5,0 5,0 30

H/S 80 70

P 52 44

L 0 26

T 28 0

345

Elective course 1.1, Elective course 1.2, Elective course 1.3 N 1. 2. 3. 4. 5. 6. Title Electrical Circuits 1 (ACE, PE, TC) Physics for Engineers 2 (ACE, PE, TC) Electronic elements and circuits (ACE, PE, TC) Mathematical Logic and Computability (CI) Probability and Statistics (CI) Operating Systems (CI) Code
ETF EK1 I-1275 ETF IF2 I-1260 ETF EES I-1260 ETF RIO ML I-1270 ETF RIO VS I-1260 ETF RIO OS I-1260

ECTS 7,0 5,0 5,0 7,0 5,0 5,0

H/S 75 60 60 70 60 60

P 45 39 39 42 38 38

L 10 0 0 0 0 22

T 20 21 21 28 22 0

Page 4 of 99

Programme: Year Semester

Computing and Informatics Second year Third semester

Courses N 1. 2. 3. 4. 5. 6. Title Algorithms and Data Structures Logic Design Software Development Fundamentals of Database Systems Discrete Mathematics Elective Course 3.1 TOTAL: Elective course 3.1 N 1. 2. Title System Programming Numerical Algorithms Code
ETF RII SP I-2350 ETF RII NA I-2350

Code
ETF RIO ASP I-2360 ETF RIO LD I-2360 ETF RIO RPR I-2360 ETF RIO OBP I-2360 ETF RIO DM I-2360

ECTS 5,0 5,0 5,0 5,0 5,0 5,0 30

H/S 60 60 60 60 60 50 350

P 38 38 35 38 39

L 22 10 25 22 0

T 0 12 0 0 21

ECTS 5,0 5,0

H/S 50 50

P 36 35

L 14 10

T 0 5

Legend: H/S P L T

Hours per semester Lectures per semester Laboratory exercises Tutorials

Page 5 of 99

Programme: Year Semester

Computing and Informatics Second year Fourth semester

Courses N 1. 2. 3. 4. 5. 6. Title Computer Architecture Fundamentals of Computer Networks Object-oriented Analysis and Design Automata and Formal Languages Elective course 4.1 Elective course 4.2 TOTAL: Elective course 4.1, Elective course 4.2 N 1. 2. 3. 4. Title Mobile Application Development CAD-CAM Engineering Embedded Systems Digital Signal Processing Code
ETF RII RMA I-2450 ETF RII CCI I-2450 ETF RII US I-2450 ETF RII DPS I-2450

Code
ETF RIO RA I-2460 ETF RIO ORM I-2460 ETF RIO OOAD I-2460 ETF RIO AFJ I-2460

ECTS 5,0 5,0 5,0 5,0 5,0 5,0 30

H/S 60 60 60 60 50 50 340

P 40 40 38 38

L 20 1 22 0

T 0 6 0 22

ECTS 5,0 5,0 5,0 5,0

H/S 50 50 50 50

P 35 35 28 28

L 15 15 22 10

T 0 0 0 12

Legend: H/S P L T

Hours per semester Lectures per semester Laboratory exercises Tutorials

Page 6 of 99

Programme: Year Semester

Computing and Informatics Third year Fifth semester

Predmeti N 1. 2. 3. 4. 5. 6. Title Web Technologies Computer Graphics Fundamentals of Information Systems Introduction to Operations Research Elective course 5.1 Elective course 5.2 TOTAL: Elective course 5.1, Elective course 5.2 N 1. 2. 3. 4. Title Software Verification and Validation Business Web Systems Programming Languages and Compilers Computer Modeling and Simulation Code
ETF RII VVS I-3550 ETF RII PWS I-3550 ETF RII PJP I-3550 ETF RII RMS I-3550

Code
ETF RIO WT I-3560 ETF RIO RG I-3560 ETF RIO OIS I-3560 ETF RIO OOI I-3560

ECTS 5,0 5,0 5,0 5,0 5,0 5,0 30

H/S 60 60 60 60 50 50 340

P 40 22 40 40

L 20 30 10 14

T 0 8 10 6

ECTS 5,0 5,0 5,0 5,0

H/S 50 50 50 50

P 30 35 36 35

L 20 15 14 15

T 0 0 0 0

Legend: H/S P L T

Hours per semester Lectures per semester Laboratory exercises Tutorials

Page 7 of 99

Programme: Year Semester

Computing and Informatics Third year Sixth semester

Predmeti N 1. 2. 3. 4. 5. Title Software Engineering Design of Information Systems Artificial Intelligence Elective course 6.1 Final Thesis TOTAL: Elective course 6.1 N 1. 2. 3. 4. 5. Title Software Project Organization Computer Network Administration Design and Architecture of Software Systems Digital System Design and Synthesis Elective from other faculty Code
ETF RII OSP I-3650 ETF RII ARM I-3650 ETF RII ASS I-3650 ETF RII PDS I-3650 ETF RIO ZR I-36130

Code
ETF RIO SI I-3660 ETF RIO PIS I-3660 ETF RIO VI I-3660

ECTS 5,0 4,0 5,0 4,0 12,0 30

H/S 60 60 60 50 300 340

P 35 38 35

L 25 11 25

T 0 11 0

ECTS 4,0 4,0 4,0 4,0 4,0

H/S 50 50 50 50

P 30 35 30 30

L 20 15 20 20

T 0 0 0 0

Legend: H/S P L T

Hours per semester Lectures per semester Laboratory exercises Tutorials

Page 8 of 99

MODULE CONTENTS Module title Module code Programme Module coordinator Mathematics for Engineers 1 ETF IM1 I-1175 ETF-B Dr Huse Fatki, Associate Professor

Dr Huse Fatki, Associate Professor Teaching staff Alvin Abdagi, MoE, Teachnig Assistant Mehmed Brki, MoE, Teaching Assistant 1 Year of study Semester 1 Mandatory Module type ECTS 7 49 Lectures Laboratory 0 exercises Tutorials 26 Workload Independent 100 Study 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 mathemati cal 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 properti es; apply the basic techniques of differential and inte gral 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 func tions: Algebraic operations involving real numbers. Decimal re presentation of real numbers. Triangle inequality. Bounded and unbounded intervals. General concepts on real-valu ed 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 loga rithmic functions, hyperbolic and their inverse functions, trigonometric and their inverse functions. 2. Single variable real functions I:

Page 9 of 99

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. Inequali ties for limits of functions. Algebraic operations with limits. Indefinite expressions. Limit existence of a monotone func tion. Limit inferior and limit superior of a monotone functi on. Techniques for evaluating a limit. Limits for common functions (power, exponential, logarithmic and trigonome tric functions). Hierarchy of infinity: logarithms, power fun ctions, 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 Bolzanos theorem for continuous functions on an interval. Definition of continuous functions on an interval. Continuity of inverse function to a continu ous monotone function on an interval. Continuity of elemen tary functions and algebraic combinations of continuous functions. Point of absolute maximum and minimum of a function. Weierstrass theorem about minimum and maxi mum of continuous functions on a segment. 4. Complex numbers Algebraic form: real and imaginary part, modulus, conjuga ted complex numbers and their properties. Triangle inequ ality. Argument. Trigonometric form. De Moivres theorem about product, quotient and power of complex numbers, nth root of a complex number. 5. Infinite sequences and series of numbers and func tions: Concept of an (infinite) series, nth partial sum. Convergence and divergence, regular and alternating series. Geometric series. Necessary condition for convergence of series; har monic series. Series with non-negative terms, (limit) compa rison test, (limit) ratio test, (limit) root test. General harmo nic series. Absolute and conditional convergence of infinite series. Absolute convergence is sufficient for ordinary co nvergence. Leibniz criterion for alternating series. Complex sequences and series. Infinite sequences and series of func tions: uniform convergence, Cauchy and Weierstrass crite rion of uniform convergence; power series with complex terms, Taylor and Laurent series. 6. Differential calculus of single variable real functi ons 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 differenti ability 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 determi ned with the sign of derivative. Function with zero derivati ve at an interval. 7. Differential calculus of single variable real functi ons II: Derivatives of higher order, finding extrema and linear ap proximations. Concavity and convexity. Flexion: definition and application of second derivative. Application of first and second derivatives to examination of a graph of a function. LHospital rule. Taylor series. Remainder of an approximati on of second order in Peanos and Lagranges form.

Page 10 of 99

8. Integral calculus of single variable real functions I: (Definite/Riemann) integral, primitive functions and funda mental theorems. Riemann integral single variable real fun ctions defined of closed intervals. Basic properties of defini te integrals. Mean-value theorem. Primitive and integral functions defined on an interval. Fundamental theorems of integral calculus. Definition and basic properties of indefini te integral. 8. Integral calculus of single variable real functions II: (Methods of integration and improper integrals). Methods for evaluation of definite and indefinite integrals. Integrati on by substitution and integration by parts. Techniques for finding integrals of some classes of functions (rational, tri gonometric, irrational). Definition of improper integral. In tegrability criterion: (limit) comparison criterion. Literature 1. H. Fatki: Inenjerska matematika 1, Slajdovi i biljeke, Sarajevo, 2013, http://www.etf.unsa.ba/. 2. H. Fatki: Inenjerska matematika 1, tamparija Fojnica d.d., Fojnica-Sarajevo, 2012. (University book) 3. M. Merkle: Matematika analiza, Akademska misao, Recommended Beograd, 2001. 4. H. Fatki, B. Mesihovi: Zbirka rijeenih zadataka iz matematike I, ETF, Sarajevo, 1973.; Corons, Sarajevo, 2002. 5. M. P. Uumli, P. M. Milii: Zbirka zadataka iz vie matematike I i II, Graevinska knjiga, Beograd, 2004. 1. D. Adnaevi, Z. Kadelburg, Matematika 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. Dragievi, H. Fatki: Odreeni i viestruki integrali,Svjetlost, Zavod za udbenike, Sarajevo, 1979; 2. izd. 1987. (Textbook) 6. D. Juki, R. Scitovski: MatematikaI, Elektrotehniki fakultet & Prehrambeno-tehnolokifakultet Odjel za matematiku, Sveuilite J. J. Strossmayera u Osijeku, Additional Osijek, 2000. 7. J. Lewin, An interactive introduction to mathematical analysis. With CD-ROM, Cambridge: Cambridge University Press, 2003. 8. . Markovi: Uvod u viu analizu, I. dio, kolska knjiga, Zagreb, 1956. 9. M. Pai: MatematikaI. S vie od 800 primjera i zadataka, Merkur ABD, Zagreb, 2005. 10. R. ivkovi, H. Fatki, Z. Stupar: Zbirka zadataka iz matematikesa rjeenjima,uputama i rezultatima (Matematika logika i skupovi, Relacije i funkcije, Algebarske strukture, Brojevi, Jednaine i nejednaine, Polinomi, Aritmetiki niz i geometrijski niz), Svjetlost OOUR Zavod za udbenike i nastavna sredstva, Sarajevo, 1987. (Book) Didactic methods The course is carried out through theoretical lectures that

Page 11 of 99

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 dont 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

Page 12 of 99

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. Module title Module code Programme Module coordinator Fundamentals of Electrical Engineering ETF OE I-1175 ETF-PGS Dr Narcis Behlilovi, Full Professor Dr Senad Smaka, Assistant Professor Mirza Milii, MSc, Senior Teaching Assistant Mirza Hamza, MSc, Senior Teaching Assistant Teaching staff Irma Sokolovi, MSc, Senior Teaching Assistant Mirsad osovi, Teaching Assistant Lejla Ahmethodi, Teaching Assistant Year of study 1 1 Semester Module type Mandatory 7 ECTS Lectures 48 Laboratory 4 exercises 28 Tutorials Workload Independent 95 Study Module outcomes Module has a goal to present basic concepts of electromagnetism 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: Gausss theorem for electric field in integral and differential form, divergence of electric field, examples of application of Gausss 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. Poissons 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

Page 13 of 99

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, Ohms law of electrical conductivity, electric resistance, serial and parallel connected resistors. Joules 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. Halls effect. Motion of charged particle in magnetic field. 8. Sources of magnetic field, Amperes law in basic and general form, magnetic properties of matter, electrically induced magnetic field, Biot-SavartLaplace's law, electro-dynamic force, magnetic properties of matter: permeability and susceptibility of material, hysteretic loop, Gausss law for magnetic field. 9. Basic magnetic circuits: Analogy with electric circuits. 10. Time-variable electric and magnetic fields: Properties of electromagnetic field, Faradays law of electromagnetic induction, Lenz's principle, induced electromotive force. Application of Faradays law: alternating current generators, electric motors. Selfinduction, inductive electric circuit, magnetic energy in linear and non-linear environments. Mutual induction, calculation of mutual inductivity. Literature 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. 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.

Recommended

Additional

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: Ohms law, I&II Kirchoffs 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

Page 14 of 99

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 modules 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 8 th 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 (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

Page 15 of 99

year. Prerequisites

Module title Module code Programme Module coordinator

Physics for engineers 1 ETF IF1 I-1160 ETF-PGS Dr Hasnija ami, Associate Prof.

Dr Hasnija ami, Associate Prof. Teaching staff Selma Hanjali, MSc, Senior Teaching Assistant Bojan Nikoli, Teaching Assistant Year of study 1 Semester 1 Mandatory Module type ECTS 5 39 Lectures Laboratory exercises Tutorials 21 Workload Independent 65 Study 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

Page 16 of 99

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. 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 1. H.ami, Inenjerska fizika 1, Slajdovi i biljeke, , http://www.etf.unsa.ba/ 2. S.Mari, Fizika, Svjetlost, 2001 3. H.ami, B.Nikoli, S.Hanjali Inenjerska fizika 1 odabrani problemi sa rjeenjima, Sarajevo, 2013 4. D.Halliday, R.Resnick, J.Walker, Fundamenatls of Physics, John Wiley & Sons, 2001. 1. D.Giancoli, Physics for Scientists and Engineers, Prentice Hall, New Jersey, 2000

Recommended

Additional

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

Page 17 of 99

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. Prerequisites

Module title Module code Programme Module coordinator

Linear algebra and geometry ETF LAG I-1160 ETF-B Dr Almasa Odak, Assistant Professor

Dr Almasa Odak, Assistant Professor Teaching staff Mirza Batalovi, MSc, Senior Teaching Assistant Selma Grebovic, MoE, Teaching Assistant Year of study 1 Semester 1 Mandatory Module type ECTS 5 39 Lectures Laboratory 0 exercises Tutorials 21 Workload Independent 65 Study 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,

Page 18 of 99

Module content

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.

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. Cramers 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. 10. Second order surfaces: Ellipsoid. Hyperboloid. Elliptical paraboloid. Hyperbolic paraboloid. Cylinder. Cone. Surface of revolution. Literature 1. A. Odak: Lecture notes, Sarajevo, 2013, http://www.etf.unsa.ba/ 2. D. S. Mitrinovi, D. Mihailovi, P. M. Vasi: Linearna algebra, polinomi i analitika geometrija, Graevin ska knjiga Beograd,1990. 3. B. Mesihovi, . Arslanagi: Zbirka rijeenih zadataka i problema iz matematike sa osnovma teorije i ispitni zadaci, Svjetlost, Sarajevo, 1988. 4. P. Milii, M. Uumli: Zbirka zadataka iz matemati ke I, Beograd, 1989. 1. G. Strang: Introduction to Linear Algebra. 4th ed. Wellesley-Cambridge Press, 2009. 2. L.E. Spence, A.J. Insel, S.H. Friedberg: Elementary

Recommended

Additional

Page 19 of 99

Linear Algebra: 3. A Matrix Approach, 2nd ed , Pearson, 2008. 4. O. Bretcher: Linear Algebra with Applications, Pearson, New Jersey, 2009. 5. M. Brakovi: Matematika determinante, sistemi lin earnih jednaina, elementi vektorske algebre i anal itike geometrije, Svjetlost, Sarajevo, 1990. 6. N. Elezovi: Linearna algebra, Element, Zagreb, 1996. 7. N. Elezovi, A. Agli: Linearna algebra, Zbirka zada taka, 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 students 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 closedbook, 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 questions. Through this exam analytical and critical thinking and general understanding of the course material is verified in a controlled fashion.

Page 20 of 99

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 Module code Programme Module coordinator

Fundamentals of Computing ETF OR I-1170 ETF-B ACE, PE, CI, TC Dr Haris upi, Associate Professor

Dr Haris upi, Associate Professor Vedran Ljubovi, MSc, Senior Teaching Assistant Teaching staff Teo Eterovi, MoE, Teaching Assistant Alvin Abdagi, MoE, Teaching Assistant Dario Raca, MoE, Teaching Assistant Year of study 1 1 Semester Module type Mandatory 6 ECTS Lectures 44 Laboratory 26 exercises 0 Tutorials Workload Independent 80 Study 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

Page 21 of 99

3.

4. 5. 6.

7. 8. Literature

and registry, RAM and ROM memory, input and output, peripheral memories. 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 Programming language C: syntax, data types, local and global variables. Control structures, operators, arrays, pointers, pointer declaration and initialization, strings Functions, function definitions, function prototype, function arguments, function calls and passing arguments to functions: passing by value and passing by reference, recursive functions Structures, arrays of structures, accessing array elements, operations on structures Files, work with files, modular programming in C, library functions, dynamic allocation.

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

Page 22 of 99

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

Module title Module code Programme Module coordinator Teaching staff Year of study Semester Module type ECTS Lectures Laboratory exercises Tutorials

Mathematics for Engineers 2 ETF IM2 I-1280 ETF-B ACE, PE, CI, TC Dr Huse Fatki, Associate Professor Dr Huse Fatki, Associate Professor Alvin Abdagi, MoE, Teaching Assistant Mehmed Brki, MoE, Teaching Assistant 1 2 Mandatory 7 52 0 28

Workload Independent 95 Study 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 equ ations; 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 inte

Page 23 of 99

gral 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 optimizati on problems applying standard and conditional ex trema of functions of multiple variables; understand basic terms of theory of scalar and vec tor 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. Iso clines. Separation of variables. Linear differential equati ons of the first order. Variation of constants. 2. Ordinary differential equations of the higher or der: Homogeneous linear differential equations of second order with constant coefficients. General solution. Cauchy's equ ation. Homogeneous differential equations of higher order with constant coefficients. Nonhomogeneous linear diffe rential equations. General method for solving nonhomoge neous equations. Systems of differential equations. 3. Laplace transform: Direct and inverse Laplace transform. Basic properties. La place transform of derivatives and integrals. Transformati on 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. Po lar coordinates in the plane. Calculating limits using a co ordinate transformation. Directional derivative. Higher or der partial derivatives. Gradient. Derivative of a composite function. 6. Taylors formula Optimization I : Local extrema. Necessary condition for existing local extre mes (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 criti cal point. Necessary condition for the local extrema of fun ction defined on the curve or surface (interpretation of the Lagrange multipliers and applications to optimization pro blems). 8. Vector field theory: Scalar and vector fields. Vector calculus. Curves. Arc leng

Page 24 of 99

th. Tangent. Curvature and involution. Speed and accelera tion. Directional derivative. Gradient of a scalar field. Di vergence and rotor of vector fields. 9. Integral calculus of functions of several real vari ables: 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'the orems. Line integrals & independence of path. Literature 1. H. Fatki: Inenjerska matematika 2, Slajdovi i biljeke, Sarajevo, 2013, http://www.etf.unsa.ba/. 2. H. Fatki, V. Dragievi, Diferencijalni raun funkci ja dviju i vie promjenjivih, I.P. Svjetlost, Sarajevo, 2006. (University book) 3. D. Mihailovi, D. . Toi, Elementi matematike analize II, (Funkcije vie promjenljivih, vektorska analiza, viestruki integrali i teorija polja), Nauna knjiga, Beograd, 1976; 1988; 1991. (Textbook) 4. P. M. Milii, M. P. Uumli: Zbirka zadataka iz vie matematike II, Graevinska knjiga, Beograd, 1971; ..., 1988. 5. M. Pai, Matematika 2 sa zbirkom rijeenih primjera i zadataka, Merkur A.B.D., Zagreb, 2006. 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 rijeenih zadataka, ETF, Sarajevo, 2010. 3. B. P. Demidovi i dr., Zadaci i rijeeni primjeri iz vie matematike s primjenom na tehnike nauke (prijevod), Tehnika knjiga, Zagreb, 1971; Danjar, Zagreb, 1995. 4. V. Dragievi, H. Fatki, Odreeni i viestruki integrali, IGKRO Svjetlost, Zavod za udbenike, Sarajevo, 1979. (I. izd.); 1987. ( II izd.). (Textbook)) 5. M. Gali, E. Osmanagi, Matematika III, Normirani i metriki prostori, diferencijalne jednaine i redovi, Elektrotehniki fakultet, Sarajevo, 1977. 6. S. Kurepa, Matematika analiza. Trei dio. Funkcije vie varijabli, Tehnika knjiga, Zagreb, 1975. 7. M. Nurkanovi, Z. Nurkanovi, Laplaceova transformacija i primjena, PrintCom d.o.o. grafiki inenjering, Tuzla, 2010. 8. F. Vajzovi, M. Malenica, Diferencijalni i integralni raun funkcija vie promjenljivih, Univerzitetska knjiga, Studentska tamparija Univerziteta u Saraje vu, Sarajevo, 2002. (University book) 9. M. Vukovi, Diferencijalne jednaine, Prvi dio, Uni verzitetska knjiga, Studentska tamparija Univerzi teta u Sarajevu, Sarajevo, 2000. (University book) The course is carried out through theoretical lectures that serve to present the concepts of differential and integral

Recommended

Additional

Didactic methods

Page 25 of 99

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 dont 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.

Page 26 of 99

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 Module code Programme Module coordinator Teaching staff Year of study Semester Module type ECTS Lectures Laboratory exercises Tutorials Programming Techniques ETF TP I-1270 ETF-B ACE, PE, CI, TC Dr eljko Juri, Associate Professor Dr eljko Juri, Associate Professor Enio Kalji, MoE, Teaching Assistant Darijo Raca, MoE, Teaching Assistant 1 2 Mandatory 6 44 26 0

Workload Independent 80 Study 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,

Page 27 of 99

2.

3.

4.

5.

deques and strings; Exceptions; References; Default function parameters; Function overloading; Generic functions and remplates; Concepts and models. 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 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. 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. 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 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 1. . Juri: Principi programiranja (kroz programski jezik C++), ETF Sarajevo, in preparation, working version available 2. J. ribar, B. Motik: Demistificirani C++ (2 nd 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. 4. L. Kraus: Programski jezik C++ (sa reenim zadacima), Elektrotehniki fakultet Univerziteta u Beogradu, 1997. 5. S. Oualline: Kako ne treba programirati na jeziku C++ (translation), translated by Mikro Knjiga, Beograd, 2003. 6. B. Stroustrup: The C++ Programming Language

Recommended

Additional

Page 28 of 99

(2nd Edition), Addison-Wesley, Reading, MA, 1991. 7. 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 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 Module code Programme Module coordinator Mathematical Logic and Computability Theory ETF ML I1270 ETF-B CI Dr eljko Juri, Associate Professor

Dr eljko Juri, Associate Professor Teaching staff Razija Turinhodi, MSc, Senior Teaching Assistant Harun iljak, MoE, Teaching Assistant 1 Year of study Semester 2 Mandatory (for Computing and Informatics) Module type

Page 29 of 99

7 ECTS Lectures 42 Laboratory exercises 28 Tutorials Workload 55 Independent Study 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; Quines method for deriving minimal Sum of Products and Product of Sums; Sheffers and Pierces 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; 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

Page 30 of 99

machine; Universal register machines; Kleenes concept of recursive functions; Posts rewritting systems; Normal algorithms of Markov; Churchs calculus. Literature 1. . Juri: Diskretna matematika za studente tehnikih 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. 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.

Recommended

Additional

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 Module code Programme Module Probability and Statistics

ETF RIO VS I-1260


ETF-B CI Dr Amela Muratovi Ribi, Associate Professor

Page 31 of 99

coordinator Teaching staff Dr Amela Muratovi Ribi, Associate Professor Year of study 1 Semester 2 Mandatory (for Computing and Informatics) Module type ECTS 5 38 Lectures Laboratory 0 exercises Tutorials 22 Workload Independent 65 Study 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 1. Slides available on the web page 2. Ronald E. Walpole, Raymond H. Myers, Sharon L. Recommended 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

Page 32 of 99

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. 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 7584 grade 8, score 85-94 grade 9, score 95-100 grade 10. Prerequisites Mathematics for Engineers 1 ETF IM1 I-1175 Module title Module code Programme Module coordinator Teaching staff Operating Systems ETF RIO OS 1260 ETF-B Dr Samir Ribi, Assistant Professor Dr Samir Ribi, Assistant Professor Alvin Huseinovi, MoE, Teaching Assistant 1 2 Mandatory 5 38

Year of study Semester Module type ECTS Lectures Laboratory 22 exercises 0 Tutorials Workload Independent 65 Study 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

Page 33 of 99

Module content

interface. Understand how design decisions Systems affect users of the system. Use and modify operating systems.

in

Operating

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 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. 1. Ribi S, Linux distribucija BHLD, prirunik, Elektrotehniki fakultet u Sarajevu, 2011 2. orevi B., Pleskonji D, Maek N, Operativni sistemi, teorija, praksa i reeni 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.

Additional

Page 34 of 99

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 grade 6, score 65-74 grade 7, score 7584 grade 8, score 85-94 grade 9, score 95-100 grade 10. Prerequisites Fundamentals of Computing ETF OR I-1170 Module title Module code Programme Module coordinator Algorithms and Data Structures ETF RIO ASP I-2360 ETF-B Dr Haris upi, Associate Professor

Dr Haris upi, Associate Professor Teaching staff Vedran Ljubovi, MSc, Senior Teaching Assistant Alvin Abdagi, MoE, Teaching Assistant Year of study 2 Semester 3 Mandatory Module type ECTS 5 38 Lectures Laboratory 22 exercises Tutorials 0 Workload Independent 65 Study

Page 35 of 99

Module outcomes A student who successfully completes the course will have the ability to: understand time and space algorithm complexity ter minology 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 computati onal problems using them; design and implement in C++ programming langu age 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 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, Recommended 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) 1. A. Drozdek, Data Structures and Algorithms in C++, Additional 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

Page 36 of 99

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 Module code Programme Module coordinator Teaching staff Year of study Semester Module type ECTS Lectures Laboratory Logic Design ETF RIO LD I-2360 ETF-B Dr Novica Nosovi Dr Novica Nosovi, Alvin Huseinovi, MoE, Teaching Assistant 2 3 Mandatory 5 38 10

Page 37 of 99

exercises Tutorials 12 Workload Independent 65 Study 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 1. Notes and lecture slides (see the faculty web page) 2. Nosovi, N,:"OSNOVE DIGITALNIH RAUNARA" University textbook, Mag-Plus, Sarajevo 2003, Recommended 3. eljko Juri, Novica Nosovi, Logike osnove digitalnih i raunarskih sistema, Textbook, tamparija Fojnica, 2012. 1. Andrew S. Tanenbaum, "Structured Computer Organization", Prentice Hall, New Jersy, 1976/84/90/99 2. Thomas L. Floyd, Digital Fundamentals, PrenticeAdditional 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

Page 38 of 99

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: 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 Module code Programme Module coordinator Teaching staff

Software Development ETF RIO RPR I-2360 ETF-B Dr Denana onko, Associate Professor Dr Denana onko, Associate Professor Teo Eterovi, MoE, TeachingAssistant 2 3 Mandatory 5 38

Year of study Semester Module type ECTS Lectures Laboratory 22 exercises Tutorials 0 Workload Independent 65 Study 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

Page 39 of 99

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 implementation of the parts of the project and

Module content

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

1. Advanced concepts of object-oriented programming. 2. Principles and methods of organizing and decomposition of projects / 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 objectoriented languages. 10. Programming of persistent data manipulation. 11. Multithreading. Literature 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

Recommended

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

Page 40 of 99

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: 96-100 grade 10 86-95 grade 9 76-85 grade 8 66-75 grade 7 55-65 grade 6 Prerequisites Programming Techniques - ETF TP I-1270 Module title Module code Programme Module coordinator Teaching staff Fundamentals of Database Systems ETF RIO OBP I-2460 ETF-B CI, ACE Dr Almir Karabegovi, Assistant Professor Dr Almir Karabegovi, Assistant Professor Emir Buza, MSc, Senior Teaching Assistant 2 4 Mandatory 5 40

Year of study Semester Module type ECTS Lectures Laboratory 20 exercises Tutorials 0 Workload Independent 65 Study 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

Page 41 of 99

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 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, OReilly, 2005 3. ANSI/ISO/IEC International Standard (IS), Database Language SQL, 1999 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.

Recommended

Additional

Didactic methods 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

Page 42 of 99

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 Module code Programme Module coordinator Teaching staff

Discrete Mathematics ETF RIO DM I-2360 ETF-B CI, ACE Dr eljko Juri, Associate Professor Dr eljko Juri, Associate Professor Razija Turinhodi, MSc, Senior Teaching Assistant Harun iljak, MoE, Teaching Assistant 2 3 Mandatory (CI), Elective (ACE) 5 39

Year of study Semester Module type ECTS Lectures Laboratory 0 exercises Tutorials 21 Workload Independent 65 Study Module outcomes The student that completes the course successfully will get

Page 43 of 99

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; Quines method for deriving minimal Sum of Products and Product of Sums; Sheffers and Pierces 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-Eulers 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 Bayess

Page 44 of 99

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; Ztransform; Inverse z-transform; Applications of ztransform. 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; Kleenes concept of recursive functions; Posts rewritting systems; Normal algorithms of Markov; Churchs calculus. Literature 1. . Juri: Diskretna matematika za studente tehnikih 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), AddisonWesley Publishing Company, 1994. 1. D. Veljan: Kombinatorika (s teorijom grafova), kolska knjiga, Zagreb, 1989. 2. D. M. Cvetkovi, M. Mili: Teorija grafova i njene primjene, Nauna knjiga, Beograd, 1990. 3. S. Mufti: Matematske osnove kompjuterskih nauka, Veselin Maslea, Sarajevo, 1984. 4. R. Johnsonbaugh: Discrete Mathematics, Pearson Prentice Hall, 2005.

Recommended

Additional

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

Page 45 of 99

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 Module code Programme Module coordinator Teaching staff System Programming ETF RII SP I-2345 ETF-B Dr Samir Ribi, Assistant Professor Dr Samir Ribi, Assistant Professor Lamija emalovi, Teaching Assistant 2 3 Elective 5 36

Year of study Semester Module type ECTS Lectures Laboratory 14 exercises Tutorials 0 Workload Independent 75 Study 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. Naddress 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).

Page 46 of 99

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, singlepass 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. 1. 2. 3. 4. Lecture notes available at web page and printed form IA-32 Software developers manual, Intel corporation Hyde R. The Art of Assembly language Programming Crenshaw J., Let's build compiler Patt and Pattel, Introduction to Computing Systems: From bits & gates to C & beyond , McGraw Hill, 2003

Additional

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 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

Page 47 of 99

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 7584 grade 8, score 85-94 grade 9, score 95-100 grade 10. Prerequisites Fundamentals of Computing ETF OR I-1170 Module title Numerical Algorithms ETF RII DM I3560 Module code Programme ETF-B CI Module Dr eljko Juri, Associate Professor coordinator Teaching staff Dr eljko Juri, Associate Professor Year of study 2 3 Semester Module type Elective 5 ECTS Lectures 35 Laboratory 10 exercises 5 Tutorials Workload 75 Independent Study 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. 3. Algorithms with quasi-real numbers: Polynomial and rational approximations; Continuous fractions; Algorithms for evaluation of polynomials and rational

Page 48 of 99

4.

5.

6. 7.

8.

functions; Algorithms for evaluation of basic elementary functions; Interpolation algorithms. Algorithms of Linear Algebra: Matrix multiplication; Strassens algorithm; Algorithms for matrix inversion and similar problems; Gaussian elimination; LU factorization. Algorithms of Calculus: Algorithms for finding limits; Richardsons princple of extrapolation towards the limit; Algorithms for numerical derivation; Dual numbers and automatic diferentiation; Algorithms for numerical integration; Trapezoid rule; Simpsons rule; Rombergs method; Algorithms for solving differential equations; Applications in Physics and Technics. Algorithms of equations theory: Algorithms for approximate solving of equations; Algorithms for approximate solving of systems of equations. Fast Fourier transform and its applications: Fast convolution; Algorithms for fast multiplication based on fast Fourier transform; Approximate harmonic analysis. Algorithms of Number Theory: Algorithms for primality testing; Algorithms for factorization; Cryptographics algorithms.

Literature 1. . Juri: Numeriki 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. 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.

Recommended

Additional

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

Page 49 of 99

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 Module title Module code Programme Module coordinator Teaching staff Computer Architecture ETF RIO RA I-2460 ETF-B Dr Novica Nosovi Dr Novica Nosovi, Alvin Huseinovi, MoE, Teaching Assistant 2 4 Mandatory 5 40

Year of study Semester Module type ECTS Lectures Laboratory 20 exercises Tutorials Workload Independent 65 Study 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

Page 50 of 99

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 raunarskih arhitektura", Univerzitetski udbenik, ETF-Sarajevo, 2012, 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.

Additional

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 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

Page 51 of 99

remedially exam. Student that fail both midterms repeats the whole exam including the entire course materials. Prerequisites

Module title Module code Programme Module coordinator Teaching staff

Fundamentals of Computer Networks ETF RIO ORM I-3560 ETF-B CI Dr Kemal Hajdarevi, Assistant Professor Dr Kemal Hajdarevi, Assistant Professor Razija Turinhodi, MSc, Senior Teaching Assistant 3 5 Mandatory 5 40

Year of study Semester Module type ECTS Lectures Laboratory 14 exercises Tutorials 6 Workload Independent 65 Study 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 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

Page 52 of 99

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 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 1. Warland, J., Communication Networks, Akson Ass. Inc. Publishers, 1991. 2. L. L. Peterson and B.S. Davie, Computer Networks, Morgan Kaufmann Publishers, 2003.

Recommended

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 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

Page 53 of 99

semester; 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 Module code Programme Module coordinator

Object Oriented Analysis and Design ETF RIO OOAD I-2460 ETF-B Dr Denana onko, Associate Professor

Dr Denana onko, Associate Professor Teaching staff Teo Eterovi, MoE, Teaching Assistant Nadina Zaimovi, MSc, Teaching Assistant Year of study 2 Semester 4 Mandatory Module type ECTS 5 38 Lectures Laboratory 22 exercises Tutorials 0 Workload Independent 65 Study Module outcomes At the end of this course students have the following knowledge, skills and competencies: The ability to analyze, identify and define the

Page 54 of 99

requirements of the real environment systems that require computing support The ability to design and implement a computerbased 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 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 1. Notes and slides from lectures (See Faculty WEB Site) 2. Denana 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 1. E. Gamma, R. Helm, R. Johnson, John Vlissides, Design Patterns: Elements of Reusable Object-

Recommended

Additional

Page 55 of 99

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 projectsoftware 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. Final grade is made on the basis of points collected for all activities during the semester, based on the scale: 96-100 grade 10 86-95 grade 9 76-85 grade 8 66-75 grade 7 55-65 grade 6 Prerequisites Software Development - ETF RIO RPR I-2360 Automata and Formal Languages Module title Module code ETF RIO AFJ I-3545 ETF-B CI Programme Module Dr Haris upi, Associate Professor coordinator Teaching staff Dr Haris upi, Associate Professor Year of study 3 Semester 5 Elective Module type ECTS 5 30 Lectures Laboratory 0 exercises Tutorials 15 Workload Independent 80 Study Module outcomes

Page 56 of 99

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 Turings machine. Nondeterministic Turings machines. Turings thesis. 7. Recursive and recursively enumerable languages. Linear bounded automata. 8. Context-sensitive languages and context-sensitive grammars. Chomskys language hierarchy. 9. Decidable and undecidable problems. 10. Introduction to computational complexity. Complexity classes: P and NP. Literature 1. Notes and slides from lectures (See Faculty WEB Site) Recommended 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 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

Additional

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,

Page 57 of 99

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 Module code Programme Module coordinator Teaching staff Mobile Application Development ETF RII RMA I-2450 ETF-B RI Dr Denana onko, Associate Professor Dr Denana onko, Associate Professor Vedran Ljubovi, MSc, Senior Teaching Assistant 2 4 Elective 5 28

Year of study Semester Module type ECTS Lectures Laboratory 22 exercises Tutorials 0 Workload Independent 75 Study 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;

Page 58 of 99

Module content

an understanding of the specificities of humancomputer 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.

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 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. 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.

Recommended

Additional

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:

Page 59 of 99

Attendance to the lectures and exercises (maximum 10 points). Student with over three absences from lectures and/or exercises is awarded 0 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 Module code Programme Module coordinator Teaching staff CAD-CAM Engineering ETF RII CCI I-2445 ETF-B RI Dr Samir Omanovi, Assistant Professor Dr Samir Omanovi, Assistant Professor Ingmar Bei, MSc, Senior Teaching Assistant 2 4 Elective 5 30 15

Year of study Semester Module type ECTS Lectures Laboratory exercises 0 Tutorials Workload 80 Independent Study 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,

Page 60 of 99

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, 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 1. Zeid: Mastering CAD/CAM, McGraw Hill, 2005

Additional 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

Page 61 of 99

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 Module code Programme Module coordinator

Embedded Systems ETF RII US I-2450 ETF-B Dr Samim Konjicija, Assistant Professor

Dr Samim Konjicija, Assistant Professor Teaching staff Nedim Osmi, MSc, Senior Teaching Assistant Emir Soki, MSc, Senior Teaching Assistant Year of study 2 4 Semester Module type Elective 5 ECTS Lectures 28 Laboratory 22 exercises 0 Tutorials Workload 75 Independent Study 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

Page 62 of 99

Module content

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.

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, RS422, 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. Literature 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 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

Recommended

Additional

Page 63 of 99

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 Module code Programme Module coordinator Teaching staff Year of study Semester Digital Signal Processing ETF RII DPS I-3545 ETF-B CI Dr Haris upi, Associate Professor Dr Haris upi, Associate Professor 3 5

Page 64 of 99

Elective Module type ECTS 5 28 Lectures Laboratory 7 exercises Tutorials 10 Workload Independent 80 Study 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

Page 65 of 99

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. 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 multisound transmission of digital data. Sampling speed conversion using digital audio signals. Over-sampling A/D converter. Over-sampling D/A converter. Literature 1. Notes and slides from lectures (from web site); 2. Sanjit K. Mitra, Digital Signal Processing, McGrawHill, 3. A.V. Oppenheim and R.W.Schafer, Discrete Time Signal Processing, Prentice Hall, 4. Proakis and Manolakis, Digital Signal Processing, Prentice Hall 1. R. Crochiere and L. R. Rabiner, Multirate Digital Signal Processing, Englewood Cliffs, NJ: PrenticeHall, Inc.,

Recommended

Additional

Page 66 of 99

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 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.

Page 67 of 99

Prerequisites

Module title Module code Programme Module coordinator

Web Technologies ETF RIO WT I-3560 ETF-B Dr Samir Ribi, Assistant Professor

Dr Samir Ribi, Assistant Professor Teaching staff Vedran Ljubovi, MSc, Senior Teaching Assistant Teo Eterovi, MoE, Teaching Assistant Year of study 3 5 Semester Module type Mandatory 5 ECTS Lectures 38 Laboratory 22 exercises 0 Tutorials Workload 65 Independent Study 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, thinclient 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 processing 12. Web services, SOAP and REST models, WSDL, web service programming Literature 1. Slides available on web pages and lecture notes in Recommended

Page 68 of 99

Additional

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 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 7584 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 Module code Programme Module coordinator Teaching staff Year of study Semester Module type ECTS Lectures Computer Graphics ETF RIO RG I-3560 ETF-B Dr Selma Rizvi, Associate Professor Dr Selma Rizvi, Associate Professor Razija Turinhodi, MSc, Senior Teaching Assistant 3 5 Mandatory 5 22

Page 69 of 99

Laboratory 30 exercises 8 Tutorials Workload 65 Independent Study 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 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 Recommended 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 1. Shalini Govil-Pai Principles of Computer Graphics, Additional

Page 70 of 99

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 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 Module code Program Module coordinator Teaching staff

Fundamentals of Information Systems ETF RIO OIS I-2460 ETF-B Dr Fahrudin Oruevi, Associate Professor Dr Fahrudin Oruevi, Associate professor

Page 71 of 99

Year of study Semester Module type ECTS Lectures Laboratory 20 exercises 10 Tutorials Workload 65 Independent Study 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 organizations 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 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

Keman Halilovi, MSc, Teaching Assistant 2 4 Mandatory 5 30

Page 72 of 99

correct errors 8. Prototyping, maintain 9. Business process modeling and process management 10. Information systems methodologies Literature 1. 2. 3. 4. 1. Additional 2. 3. 4. Notes and slides of lectures (taken from ETF website) Fahrudin Oruevi, Osnove informacionih sistema David A. Bray, Being a System Innovator Gabrielle Piccoli and Iris Liu, Achieving Efficiency and Effectiveness through Systems Fahrudin Oruevi, Informacioni sistemi, Analiza, ETF Per Flatten, Achieving Efficiency and Effectiveness through Systems Design Franz Lehner, Business Process Modeling and Process Management Salam Abdallah, Information Systems methodologies

Recommended

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 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

Page 73 of 99

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 Module code Programme Module coordinator Teaching staff

Introduction to Operations Research ETF RIO OOI I-3560 ETF-B CI Dr eljko Juri, Associate Professor Dr eljko Juri, Associate Professor Razija Turinhodi, MSc, Senior Teaching Assistant 3 5 Mandatory 5 40

Year of study Semester Module type ECTS Lectures Laboratory 14 exercises 6 Tutorials Workload 65 Independent Study 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. 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

Page 74 of 99

theory; Minimal spanning trees; Shortest path problem; Maximal flow problem. 5. Project management: Network planning; CPM and PERT techniques. Literature Recommended Additional J. Petri: Operaciona istraivanja, Nauka, Beograd, 1997. L. Nerali: Uvod u matematiko 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. S. Krevinac i dr.: Operaciona istraivanja, Fakultet organizacionih nauka, Beograd, 1997. D. Cvjetianin: Operaciona istraivanja, 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

Page 75 of 99

Discrete Mathematics ETF RIO DM I-2360 Module title Module code Programme Module coordinator Softvare Verification and Validation ETF RII VVS I-3650 ETF-B CI Dr Denana onko, Associate Professor

Dr Denana onko, Associate Professor Teaching staff Duanka Bokovi, MSc, Senior Teaching Assistant Muris Hadimejli, Teaching Assistant Year of study 3 Semester 6 Elective Module type ECTS 5 30 Lectures Laboratory 20 exercises Tutorials 0 Workload Independent 75 Study 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

Page 76 of 99

3.

4. 5.

6. 7.

individual software quality assurance activities; The human components of software quality assurance 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 Review formal design review, inspections, walkthrough, peer review of documents of certain phases of software development and code. 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 testing tools, Automatic testing, Testing of user interfaces) Software metrics: Metrics of code quality control; Metrics and code refactoring; Metrics of quality control of software development process Statistical methods - quantitative methods for monitoring and improving software quality and process.

Literature 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 1. Stephen H. Kan, Metrics and Models in Software Quality Engineering, Addison-Wesley Professional; 2 edition 2002

Recommended

Additional

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;

Page 77 of 99

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: 96-100 grade 10 86-95 grade 9 76-85 grade 8 66-75 grade 7 55-65 grade 6 Prerequisites Software Development- ETF RIO RPR I-2360 Module title Module code Program Module coordinator Teaching staff Business Web Systems ETF RII PWS I-3550 ETF-B Dr Fahrudin Oruevi, Associate Professor Dr Fahrudin Oruevi, Associate professor Ajla erimagi, Teaching Assistant 2 4 Elective 5 35

Year of study Semester Module type ECTS Lectures Laboratory 15 exercises 7 Tutorials Workload 75 Independent Study 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 students 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

Page 78 of 99

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 5. Notes and slides of lectures (taken from ETF website) 6. Fahrudin Oruevi, Internet ekonomija 7. 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. 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

Page 79 of 99

Programming Languages and Compilers Module title Module code ETF RII PJP I-3550 ETF-B Programme Module Dr Samir Ribi, Assistant Professor coordinator Teaching staff Dr Samir Ribi, Assistant Professor Year of study 3 Semester 5 Elective Module type ECTS 5 36 Lectures Laboratory 14 exercises Tutorials 0 Workload Independent 75 Study 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 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

Page 80 of 99

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 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

Additional

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 7584 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 Module code Programme Module coordinator Teaching staff Year of study Semester Module type ECTS Lectures Laboratory Computer Modeling and Simulation ETF RII RMS I-3660 ETF-B Dr Kemal Hajdarevi, Assistant Professor Dr Kemal Hajdarevi, Assistant Professor 3 5 Elective 5 35 15

Page 81 of 99

exercises Tutorials 0 Workload Independent 75 Study 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 1. Lecture slides will be available on faculty WEB site; Recommended 2. Discrete event simulation, Udo W. Pooch, James A. Wall, Jr.CRC PressINC, 1993

Page 82 of 99

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 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 students 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 Module code Programme Module coordinator Teaching staff Year of study Semester

Software Engineering ETF RIO SI I-3660 ETF-B Dr Novica Nosovi Dr Novica Nosovi, Vedran Ljubovi, MSc, Senior Teaching Assistant 3 6

Page 83 of 99

Mandatory Module type ECTS 5 35 Lectures Laboratory 0 exercises Tutorials 25 Workload Independent 65 Study 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 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 nonfunctional 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 1. Lecture notes and slides (see the faculty web page) 2. Ian Sommerville, Software Engineering, 9. edition, Recommended Addison-Wesley , 2012. 1. Bernd Bruegge, Alan H. Dutoit, Object-Oriented Software Engineering Using UML, Patterns and Java, Prentice-Hall, 2004. Additional 2. Roger Pressman, Software Engineering: A Practicioner's Approach, 7. Edition, McGraw-Hill, 2009.

Page 84 of 99

Didactic methods The lectures cover basic concepts of software engineering. Students are introduced to fundamental software processes, testing and maintenance. Tutorials are project and teamwork 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 one midterm exam, takes remedially exam. Student that fail both midterms repeats the whole exam including the entire course materials. Prerequisites

Module title Module code Programme Module coordinator Teaching staff

Design of Information Systems ETF RIO IS 3560 ETF-B Dr Almir Karabegovi, Assistant Professor Doc.dr Almir Karabegovic, Assistant Professor Muris Hadimejli, Teaching Assistant 3 6 Mandatory 4 38

Year of study Semester Module type ECTS Lectures Laboratory 11 exercises 11 Tutorials Workload 40

Page 85 of 99

Independent Study 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 1. Lecture Notes (to download from Faculty WEB site); Recommended 2. Hoffer, J. A., George J., Valacich J., Modern Systems Analysis and Design 7th Edition, Prentice Hall, 2013 1. Whitten, J.L., Bentley, L.D., Systems Analysis and Design Methods, McGraw-Hill/Irwin, 7th Edition, 2007; Additional 2. Dennis, A., Wixom, B.H., Tegarden, D., Systems Analysis and Design with UML 2.0: An ObjectOriented 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

Page 86 of 99

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 Module code Programme Module coordinator Artificial Intelligence ETF RIO VI I-3660 ETF-B Dr Zikrija Avdagi, Full Professor

Dr Zikrija Avdagi , Full Professor Muamer Kafadar, Teaching Assistant Teaching staff Neira Odobai, MoE, Teaching Assistant Emir Buza, MSc, Senior Teaching Assistant Year of study 3 Semester 6 Mandatory Module type ECTS 5 35 Lectures

Page 87 of 99

Laboratory 25 exercises 0 Tutorials Workload 65 Independent Study 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 1. Fuzzy logika u ininjerskim aplikacijama, Zikrija Recommended Avdagi, Elektrotehniki fakultetu Sarajevu, 2008. 1. Artificial intelligence- Structures and Strategies for Additional Complex Problem Solving, George F.Luger&William A Stubblefield, Addison Wesley Longman Inc.1999. 2. Expert systems, principles and programming, GiarratanoRiley, PWS Publishing Company, 1998.

Page 88 of 99

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 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 Dr Samir Omanovi, Assistant Professor coordinator Teaching staff Dr Samir Omanovi, Assistant Professor Year of study 3 6 Semester Module type Elective 4 ECTS Lectures 30 Laboratory 20 exercises 0 Tutorials Workload Independent 50 Study 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;

Page 89 of 99

have a professional attitude towards software engineering in terms of accreditation, licensing and certification. 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. 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.

Module content

Literature 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. 1. I. Sommerville, Software Engineering, 9th ed., poglavlja 22, 23 i 25, Addison-Wesley, 2010

Recommended

Additional

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

Page 90 of 99

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 duration like on a regular exam. Prerequisites

Module title Module code Programme Module coordinator Teaching staff

Computer Network Administration ETF RII ARM I-3545 ETF-B CI Dr Saa Mrdovi, Assistant Professor Dr Saa Mrdovi, Assistant Professor Alvin Huseinovi, MoE, Teaching Assistant 3 5 Elective 4 35

Year of study Semester Module type ECTS Lectures Laboratory 15 exercises 0 Tutorials Workload 50

Page 91 of 99

Independent Study 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 1. Lecture Notes (to download from Faculty WEB site); Recommended 2. Mark Burges, Principles of Network and System Administration, John Wiley & Sons, 2004. 1. Thomas A. Limoncelli, Christine Hogan, The Practice of System and Network Administration, AddisonWesley Professional, 2007. Additional 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, 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

Page 92 of 99

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 Dr Samir Omanovi, Assistant Professor coordinator Teaching staff Dr Samir Omanovi, Assistant Professor Year of study 3 6 Semester Module type Elective 4 ECTS Lectures 30 Laboratory 20 exercises 0 Tutorials Workload Independent 50 Study 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. 1. Basic characteristics of large software systems

Module content

Page 93 of 99

2. 3.

4.

5. 6.

(structure, elements, interaction), aspects of distribution and complexity, integration problems. Architecture of large software systems (characteristics, independent of implementation, algorithm and representation, architecture reuse). Designing large software systems at a high level of abstraction, specification and validation of the system, the impact of context on the application design. 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. Components integration in large software systems, integration types, development of software components for software integration. Configuration management of large software systems, problems caused by a large number of configuration parameters, problems with interdependences.

Literature 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. 1. I. Sommerville, Software Engineering, 9th ed., poglavlja 10, 13, 17, 18 i 25, Addison-Wesley, 2010.

Recommended

Additional

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).

Page 94 of 99

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

Module title Digital System Design and Synthesis Module code ETF RII PDS I-3650 Programme ETF-B Module Dr Samir Ribi, Assistant Professor coordinator Teaching staff Amila Akagic, MSc, Senior Teaching Assistant Year of study 3 6 Semester Module type Elective 4 ECTS Lectures 30 Laboratory 20 exercises 0 Tutorials Workload Independent 50 Study 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) be havioral synthesis approach. Understand the programmable implementation tech nologies 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. FP GAs). Understand how digital building blocks (such as me mory chips, microprocessors, arithmetic circuits etc.) work. Understand how to interface microprocessors and computers (from hardware point of view).

Page 95 of 99

Module content

Test complex digital systems. Familiarize with digital system design examples and applications.

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, Xilinxs 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 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 multipleclock system. 10. System-on-chip (SoC) design and intellectual property (IP) cores. Digital Design Examples and Applications. 11. Reconfigurable Computing. Literature 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 1. Steve Kilts, Advanced FPGA Design: Architecture, Implementation, and Optimization, Wiley-IEEE Press, June 2007

Recommended

Additional Didactic methods

Page 96 of 99

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 Module code Programme Module coordinator Teaching staff

Final Thesis ETF RIO ZR 36130 ETF-B CI Dr Zikrija Avdagi, Full Professor Dr Fahrudin Oruevi, Associate Professor Dr Haris upi, Associate Professor

Page 97 of 99

Year of study Semester Module type ECTS Lectures Laboratory exercises Tutorials Workload Independent 300 Study 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. 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

Dr Denana onko, Associate Professor Dr eljko Juri, Associate Professor Dr Selma Rizvi, Associate Professor Dr Samir Ribi, Assistant Professor Dr Samim Konjicija, Assistant Professor Dr Saa Mrdovi, Assistant Professor Dr Almir Karabegovi, Assistant Professor Dr Kemal Hajdarevi, Assistant Professor Dr Samir Omanovi, Assistant Professor 3 6 Mandatory 12

Page 98 of 99

Recommended Defined in thesis description Defined in thesis description Additional 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

Page 99 of 99

Você também pode gostar