description of the course -...

24
DESCRIPTION OF THE COURSE Name of the course Web based technologies Code: MCT01 Semester: 1 Type of teaching: Lectures and laboratory works, Course work/project (selectable) Lessons per week: L 2 hours; LW 1 hour Number of credits: 6 LECTURER: Prof. PhD. Eng. Mariana Goranova (FCST), e-mail: [email protected] Ass. Prof. PhD. Eng. Dimo Chotrov (FCST), e-mail: [email protected] Technical University of Sofia COURSE STATUS IN THE CURRICULUM: Compulsory for the full time students’ specialty “Computer Technologies and Application Programming” for Master degree, Faculty on Computer Systems and Technologies of the Technical University of Sofia. AIMS AND OBJECTIVES OF THE COURSE: At the end of the course the students are expected to have skills to design and implement Web based interactive programs including related software, databases, interfaces and will be able to work with modern computing systems and networks. The course also motivates further study of Internet and World Wide Web (WWW). DESIRIPTION OF THE COURSE: The material could be selected in 3 parts. (1) Introduction to Internet technologies: structure of WWW, HTTP protocol, creating of HTML/XHTML documents, XML syntax, presentation technologies Cascading Style Sheets and DHTML. (2) Client-side programming Java Script. (3) Development of Web applications: design and implementation of Web interface, server-side programming generating dynamic content with ASP.NET, ASP.NET MVC, design and implement a Web site to underlying databases. PREREQUISITES: Object-oriented programming, Programming in C#, Database systems. TEACHING METHODS: Lectures and laboratory works by using multimedia presentations and discussions. The labs provide self-development of a Web site. METHOD OF ASSESSMENT: Written examination by personally test and program preparation for fixed time. Current check of the knowledge will be organized during the semester by credits collection based on 3 self-development programs. INSTRUCTION LANGUAGE: Bulgarian BIBLIOGRAPHY: [1] Tanenbaum, A., D. J. Wetherall, Computer Networks, 5 th Edition, Prentice Hall PTR, 2010. [2] Coyle, D., Introduction to Web 2.0, Second Edition, Pearson, 2012. [3] Duckett, J., Beginning HTML, XHTML, CSS, and JavaScript, Wrox, 2010. [4] Fawcett, J., D. Ayers, L. R. E. Quin, Beginning XML, 5th Edition, Wrox, 2012. [5] HTML, The language for building web pages, http://www.w3schools.com/default.asp. [6] Imar Spaanjaars, Beginning ASP.NET 4.5.1: in C# and VB (Wrox Programmer to Programmer) 1st Edition, John Wiley & Sons, Inc., 2014. [7] Jason N. Gaylord, Christian Wenz, Pranav Rastogi, Todd Miranda, Scott Hanselman, Scott Hunter, Professional ASP.NET 4.5 in C# and VB 1st Edition, John Wiley & Sons, Inc., 2013. [8] Jon Galloway, Brad Wilson, K. Scott Allen, David Matson, Professional ASP.NET MVC 5 1st Edition, John Wiley & Sons, Inc., 2014.

Upload: phungliem

Post on 09-Sep-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

DESCRIPTION OF THE COURSE

Name of the course

Web based technologies Code: MCT01 Semester: 1

Type of teaching:

Lectures and laboratory works,

Course work/project (selectable)

Lessons per week:

L – 2 hours; LW – 1 hour

Number of credits:

6

LECTURER:

Prof. PhD. Eng. Mariana Goranova (FCST), e-mail: [email protected]

Ass. Prof. PhD. Eng. Dimo Chotrov (FCST), e-mail: [email protected]

Technical University of Sofia

COURSE STATUS IN THE CURRICULUM: Compulsory for the full time students’ specialty “Computer

Technologies and Application Programming” for Master degree, Faculty on Computer Systems and

Technologies of the Technical University of Sofia.

AIMS AND OBJECTIVES OF THE COURSE: At the end of the course the students are expected to have

skills to design and implement Web based interactive programs including related software, databases,

interfaces and will be able to work with modern computing systems and networks. The course also motivates

further study of Internet and World Wide Web (WWW).

DESIRIPTION OF THE COURSE: The material could be selected in 3 parts. (1) Introduction to Internet

technologies: structure of WWW, HTTP protocol, creating of HTML/XHTML documents, XML syntax,

presentation technologies – Cascading Style Sheets and DHTML. (2) Client-side programming – Java Script.

(3) Development of Web applications: design and implementation of Web interface, server-side

programming – generating dynamic content with ASP.NET, ASP.NET MVC, design and implement a Web

site to underlying databases.

PREREQUISITES: Object-oriented programming, Programming in C#, Database systems.

TEACHING METHODS: Lectures and laboratory works by using multimedia presentations and

discussions. The labs provide self-development of a Web site.

METHOD OF ASSESSMENT: Written examination by personally test and program preparation for fixed

time. Current check of the knowledge will be organized during the semester by credits collection based on 3

self-development programs.

INSTRUCTION LANGUAGE: Bulgarian

BIBLIOGRAPHY: [1] Tanenbaum, A., D. J. Wetherall, Computer Networks, 5th

Edition, Prentice Hall

PTR, 2010. [2] Coyle, D., Introduction to Web 2.0, Second Edition, Pearson, 2012. [3] Duckett, J.,

Beginning HTML, XHTML, CSS, and JavaScript, Wrox, 2010. [4] Fawcett, J., D. Ayers, L. R. E. Quin,

Beginning XML, 5th Edition, Wrox, 2012. [5] HTML, The language for building web pages,

http://www.w3schools.com/default.asp. [6] Imar Spaanjaars, Beginning ASP.NET 4.5.1: in C# and VB

(Wrox Programmer to Programmer) 1st Edition, John Wiley & Sons, Inc., 2014. [7] Jason N. Gaylord,

Christian Wenz, Pranav Rastogi, Todd Miranda, Scott Hanselman, Scott Hunter, Professional ASP.NET 4.5

in C# and VB 1st Edition, John Wiley & Sons, Inc., 2013. [8] Jon Galloway, Brad Wilson, K. Scott Allen,

David Matson, Professional ASP.NET MVC 5 1st Edition, John Wiley & Sons, Inc., 2014.

DESCRIPTION OF THE COURSE

Name of the course:

Distributed computer systems and

applications

Code: MCT02 Semester: 1

Type of teaching:

Lectures and laboratory work, examinations,

Optional coursework/ project

Hours per week:

L -2 hours, LW – 1 hour

Credits: 5

LECTURER:

Professor. Dr. Ivan Momtchev, phone: 02 965 2052, email: ivan.momtchev @ tu-sofia.bg

Technical University – Sofia

COURSE STATUS IN THE CURRICULUM: Compulsory for the students in the specialty "Computer

Technology and Application Programming” of the Faculty of Computer Systems and Technologies, Master

degree course

OBJECTIVES OF THE COURSE :

Learning the fundamental concepts of competitive and distributed programming by means of the

programming language Java. Consider the technology of multi-threaded programming, socket programming

SSL sockets and distributed objects. As a result, students will acquire knowledge and skills for the use of the

technology to solve engineering problems.

DESCRIPTION OF THE COURSE:

The main topics: Exceptions; Input-output; Threads - creating, life-cycle model with a single thread, the

example of many threads priorities; Synchronization - producer/consumer without synchronization,

synchronization via monitor, example with two monitors, blocking avoid; Working with timers; Interlocking;

Network programming, package java.net, identification of machine on the network, working with sockets

programming standard network protocols, programming specialized networking protocols, SSL sockets,

Graphical user interfaces , distributed objects . RMI.

PREREQUISITES: Object- Oriented Programming

TEACHING METHOD: Lectures, including programs on the site; presented in real-time using multimedia

projector, laboratory demo programs, published on the Internet and course work preparation and defense.

METHODS OF ASSESSMENT: Development work individually or in a group (80%), and 20% of the

individual participation of each student in the labs.

LANGUAGE: Bulgarian

BIBLIOGRAPHY:

Момчев И., Java конкурентно програмиране и интернет. http://refg.tu-sofia.bg/AdvJava/. 2014

further Reading

Casimir Saternos,Client-Server Web Apps with JavaScript and Java, O’Reilly 2014

M. Teresa Higuera-Toledano, Andy J. Wellings, Distributed, Embedded and Real-time Java Systems

O’Reilly 2014

DESCRIPTION OF THE COURSE

Name of the course:

Software Architectures and

Patterns

Code: MCT03 Semester: 1

Type of teaching:

Lectures and laboratory work

Course work/project (selectable)

Lessons per week:

L – 2 hours, LW – 1 hour

Number of credits: 6

LECTURER:

Assistant Prof. Ph.D. Vesselin Gueorguiev (FCST), tel: 965 2192, email: [email protected]

Technical University of Sofia

COURSE STATUS IN THE CURRICULUM: Mandatory course for the students specialty “Computer

technologies and applied programming” of the Faculty of Computer Systems and Technologies, educational

master’s degree.

AIMS AND OBJECTIVES OF THE COURSE: At the end of the course the students are expected to be

able to apply the software architectures and patterns for design of different computer systems and

applications. The subjects studied and the skills developed in this course are applied in the subsequent

engineering courses and projects.

DESCRIPTION OF THE COURSE: Software Architecture and Patterns teaches the principles and

concepts involved in the analysis and design of different types of software systems and applications. The

course provides attendees with in-depth coverage of the concepts needed to effectively analyze and design

software architecture, and correctly select and implement software patterns. The main software architectures

and patterns are considered. Special attention is given to engineering point-of-view to software development

methods and models. Knowledge and skills to solve concrete problems are developed.

PREREQUISITES: Computer Graphics and Geometric Modeling.

TEACHING METHODS: Lectures are delivered by the use of demonstration materials and slides in

electronic format, presented with computer and multimedia projector. The laboratory exercises are carried

out in computer labs with local and global network. Additional educational materials for the lab assignments

are provided to the students in electronic format.

METHOD OF ASSESSMENT: Current control

INSTRUCTION LANGUAGE: Bulgarian

BIBLIOGRAPHY:

1. Lecture notes; 2. H. Cervantes, R. Kazman,Designing Software Architectures: A Practical Approach,

Addison-Wesley Professional (2016), 3. O. Vogel, I. Arnold, A. Chughtai, T. Kehrer, Software

Architecture: A Comprehensive Framework and Guide for Practitioners, Springer (2011), 4. Gorton,

Essential Software Architecture, Springer Science & Business Media ( 2011), 5. R. S. Sangwan,

Software and Systems Architecture in Action, CRC Press (2014), 6. R. N. Taylor, N. Medvidovic, E.

Dashofy, Software Architecture: Foundations, Theory, and Practice, Wiley (2009), 7. F. Buschmann,

P. Sommerlad, M. Stal, R. Meunier, H. Rohnert, Pattern-Oriented Software Architecture, A System of

Patterns, Ashish Raut (2013)

DESCRIPTON OF THE COUSE

Name of the course:

Information systems

Code: MCT04.1 Semester: 1

Type of teaching:

Lectures and laboratory work

Course work/project (selectable)

Lessons per week:

L – 2 hours, LW – 1

hours

Number of credits: 4

LECTURER:

Assoc. Prof. Lyudmila Stoyanova Ph.D. tel. 965 34 53; e-mail: [email protected];

Technical University of Sofia

COURSE STATUS IN THE CURRICULUM: Elective course for the students’ specialty “Computer

Technologies and Application programming” of the Faculty of Computer Systems and Technologies,

educational master’s degree.

AIMS AND OBJECTIVES OF THE COURSE: The Information Systems course is aimed at giving

students knowledge for Management Information Systems and their development process. The course

prepares the students to develop Management Information Systems..

DESCRIPTION OF THE COURSE: The course main topics are: Concept of Information, Decision

Making Process, The Impact of Information Systems on Management. During the course students get

knowledge to diferentiate between Management Information systems (MIS) and Decision Support Systems

(DSS). The course reveals the cycle of Decision Analysis and the design and Development of Management

Information Systems.

PREREQUISTES: Data Bases etc.

TEACHING METHOODS: Lectures are supported by multimedia, laboratory work, class discussions.

Software packages are used to help absorption of knowledge and knowledge consolidation from the lectures.

A course work is to be developed, and defended in the end of the semester.

METHOD OF ASSESSMENT: Exam

INSTRUCTION LANGUADGE: Bulgarian.

BIBLIOGRAPHY: 1. Lecture notes; 2. Kenneth, C. Laudon, Jane P.Laudon. Management Information

Systems. Managing the Digital Firm., Prentice Hall, 2012;ISBN – 978-1-4082-7160-5 3. Rafael L.Alcami,

Carlos D. Caranana, Introduction to Management Information Systems, Primera edicio, 2012, ISBN: 978-84-

695-1639-0 4. Benett, McRobb and Farmer, Object Oriented System Analysis and Design Using UML,

McGraw Hill 1999 5. Management Information System. Tutorialspoint - Simply Easy Learning – www.

tutorialspoint.com 6. Греъм Къртис, Бизнес информационни системи, София, 1995

DESCRIPTION OF THE COURSE

Name of the course:

Data Management and Analysis

Code: MCT05.1 Semester: 1

Type of teaching:

Lectures and laboratory work,

examinations, Optional

coursework/ project

Lessons per week:

L – 2 hours, LW – 1 hour

Number of credits: 4

LECTURER:

Assoc. Prof. Veska Gancheva (FCST), tel: 965 2192, email: [email protected]

Technical University of Sofia

COURSE STATUS IN THE CURRICULUM: Optional course for the students from the “Computer

Technologies and Applied Programming” MSc degree programme at the Faculty of Computer Systems and

Technologies, Technical University – Sofia.

AIMS AND OBJECTIVES OF THE COURSE: To provide the students with fundamental qualification

and expertise in data collection, storage, analysis and visualization by implementing modern methods and

algorithms for business intelligence.

DESCRIPTION OF THE COURSE: The main topics concern introduction to the fundamental concepts

of data management and analysis. The students get acquainted with the terminology, methodology and

software instruments for data extraction, transformation and integration. They acquire knowledge about

multidimensional architectures and modern technologies for data storage, data processing and data mining.

Laboratory practice illustrates solving real data analysis tasks by means of building and implementation of

data cubes.

PREREQUISITES: Basic knowledge in mathematics, databases and information systems.

TEACHING METHODS: Lectures, delivered by use of demonstration materials in electronic format,

presented within multimedia environment; Laboratory practice, case studies and application demos, carried

out in a networked computer laboratory with appropriate data analysis software installed. Learning resources

are provided to the students by means of a content management system.

METHOD OF ASSESSMENT: Exam on theory and practice

INSTRUCTION LANGUAGE: Bulgarian

BIBLIOGRAPHY:

Han, J., M. Kamber. Data Mining. Concepts and Techniques, Morgan Kaufmann Publ., 2011, ISBN-10:

0123814790; Provost, F., T. Fawcett Data Science for Business: What you need to know about data mining

and data-analytic thinking, O'Reilly Media, 2013, ISBN-10: 1449361323; Nisbet, R., J. Elder IV, G. Miner.

Handbook of Statistical Analysis and Data Mining Applications, Academic Press, 2009, ISBN-10:

0123747651; Turban, E., R. Shard, D. Delen. Business Intelligence, Prentice Hall, 2010, ISBN-10:

013610066X; MacLennan, J. Tang, Z.H., B. Crivat. Data Mining with SQL Server 2008, Wiley Publishing

Inc., 2008, ISBN-10: 0470277742; Legorreta, L., J Valentine, Business Intelligence, Wikimedia, 2010,

http://en.wikibooks.org/wiki/Business_Intelligence/Introduction.

DESCRIPTON OF THE COUSE

Name of the course:

Geographic Information Systems

Code: MCT06.1 Semester: 1

Type of teaching:

Lectures and laboratory work,

Course work/project (selectable)

Lessons per week:

L – 2 hours, LW – 1

hours

Number of credits: 4

LECTURER:

Assoc. Prof. Ph.D. Maria Angelova (FCST) tel.: 9653064, email: [email protected]

Technical University of Sofia

COURSE STATUS IN THE CURRICULUM: Elective for the students of Faculty of Computer Systems

and Technologies – TU-Sofia, specialty “Computer Technologies and Applied Programming”, Master

Degree.

AIMS AND OBJECTIVES OF THE COURSE: Course "Geographic Information Systems" is designed

for students to learn about the characteristics and principles of geographical information systems design and

analyses of the included attribute information for effective problems solving.

DESCRIPTION OF THE COURSE: Knowledge and skills in this course acquaint students with basic

theoretical issues in the design of geographic information systems (GIS) and methods for analyzing the

information. At the end of the course students will be familiar with the principles of operation of the

geographic information system and their application in practice, will know the methods of analysis and

interpretation of geographic and attribute information in a GIS, will be able to solve complicated problems,

will able to create functional applications in the environment of the specialized GIS software.

PREREQUISTES: Basic geography knowledge from secondary school.

TEACHING METHOODS: Lectures, using a laptop and multimedia projector, which are published with

free access to the Internet. In laboratory classes many specific tasks, related to the application of different

methods of data processing and creation of software are performed.

METHOD OF ASSESSMENT: Current assessment - two tests during the semester - 45%; students' work

during the semester - 10%.

INSTRUCTION LANGUADGE: Bulgarian.

BIBLIOGRAPHY: 1. Course lectures, presented as Power Point presentations; 2. Jonathan Campbell,

MIchael Shin (2011), Essentials of Geographic Information Systems, Flat World Knowledge, ISBN-13: 978-

1453321973. 3. Bhuiyan Monwar Alam (2012), Application of Geographic Information Systems, IN-TECH,

ISBN-13: 978-953-51-0824-5. 4. O. Huisman, and R.A. de By (2009), Principles of Geographic Information

Systems (GIS): an Introductory Textbook, ITC Educational Textbook Series, ISBN-13: 978-90-6164-269-5.

DESCRIPTION OF THE COURSE

Name of the course

Graphics Programming

Code: MCT04.2 Semester: 1

Type of teaching:

Lectures and laboratories, Course

work/project (selectable)

Lessons per week:

L – 2 hours; Labs. – 1 hours

Number of credits: 4

LECTURER:

Assoc. prof. Virginiya Dimitrova, Ph.D. (FCST) – tel.: 965 3339, е-mail: [email protected];

Technical University of Sofia

COURSE STATUS IN THE CURRICULUM: Optional course in the curriculum for Master’s degree in

Computer Technologies and Applied Programming, at the Faculty of Computer Systems and Technologies.

AIMS AND OBJECTIVES OF THE COURSE: To give students an additional knowledge of the: selected

algorithms in computer graphics; contemporary programming technologies and standards in computer

graphics; skills to adopt and implement methods, techniques and algorithms for processing and visualization

of (geometric) data, 2D and 3D graphics.

DESCRIPTION OF THE COURSE: Selected algorithms in computer graphics; 3ds max graphics package

and its MaxScript object-oriented script language; possibilities of the Visual Studio .NET and C# object-

oriented program language for development of 2D (GDI+) and 3D (Silverlight) graphics applications;

graphical standard OpenGL; applying computer graphics techniques for processing and visualization of

(geometric) data; extending the functionality of the existing graphics package; development of Windows-

based 2D and 3D graphics applications for desktop and mobile; creation of 2D and 3D objects using C

program language and OpenGL graphics library.

PREREQUISITES: Advanced knowledge in the following subjects in the curriculum for Bachelor’s degree:

object-oriented programming; development of Windows-based applications; Computer graphics.

TEACHING METHODS: Lectures based on slides. Laboratory exercises for development of graphics

applications.

METHOD OF ASSESSMENT: Two hours written test at the end of the semester that includes 40 questions

(both opened and closed) all over the material to be answered, as well as an individual task to be solved during

the semester. The final grade is formed by the assessment from the test (with weighting coefficient 0.6) and

the assessment from the task solution during the semester with weighting coefficient 0.4.

INSTRUCTION LANGUAGE: Bulgarian

BIBLIOGRAPHY: 1. Lectures (at http://sopko-tu-sofia.bg); 2. Benyon D., Designing Interactive Systems.

A comprehensive guide to HCI and interaction design, 2th, Addison Wesley, 2010; 3.Foley J., van Dam A.,

Feiner S., Hughes M., Computer Graphics: Principles and Practice, Addison Wesley, 1990; 4. Galitz,

Wilbert, The Essential Guide to User Interface Design, Wiley, 2. Auflage, 2007; 5. Benyon, David, Turner,

Phil and Turner, Susan, Designing Interactive Systems, Addison Wesley Verlag, 2005; 6. Shneiderman, Ben

and J. Preece, Designing the User Interface, 5. Auflage, Addison Wesley, 2009; 7. Mayhew D., Usability

Engineering, Morgan Kau.

DESCRIPTION OF THE COURSE

Name of the course:

Virtual Reality Systems

Code: MCT05.2 Semester: 1

Type of teaching:

Lectures and laboratory work,

Course work/project (selectable)

Lessons per week:

L – 2 hours, LW - 1 hour

Number of credits: 4

LECTURER:

Assist. Prof. Ph.D. Dimo Chotrov (FCST), phone: 2442, e-mail: [email protected]

Technical University of Sofia

COURSE STATUS IN THE CURRICULUM: Optional course for students of the specialty “Computer

technologies and applied programming”, of the Faculty of Computer Systems and Technologies, educational

master’s degree .

AIMS AND OBJECTIVES OF THE COURSE: Main objectives of the course are studying diverse virtual

reality systems, their components and development of virtual reality applications.

DESCRIPTION OF THE COURSE: During the course different types of virtual reality systems and their

components are studied. The students learn how virtual scenes are built and presented. The course includes

techniques for stereoscopic visualization and interaction in virtual environments. During the lab exercises the

students work with different types of virtual reality systems and develop applications for them.

PREREQUISITES: Mathematics, Analysis and Design of Algorithms, Object-Oriented Programming,

Computer Graphics.

TEACHING METHODS: Lectures are delivered with slides in electronic format, presented with computer

and multimedia projector. The laboratory exercises are carried out in computer labs with local and global

network. Additional educational materials for the lab assignments are provided to the students in electronic

format.

METHOD OF ASSESSMENT: Exam

INSTRUCTION LANGUAGE: Bulgarian.

BIBLIOGRAPHY:

1.Grigore Burdea, Philippe Coiffet: Virtual Reality Technology, Second Edition, John Wiley & Sons, 2003.

2.Mashhuda Glencross, Alan G. Chalmers, Ming C. Lin, Miguel A. Otaduy and Diego Gutierrez. Exploiting

Perception in High-Fidelity Virtual Environments. SIGGRAPH Course 24. SIGGRAPH 2006.

3. Tony Parisi, Learning Virtual Reality: Developing Immersive Experiences and Applications for Desktop,

Web, and Mobile, O'Reilly Media, 2015

DESCRIPTION OF THE COURSE

Name of the course:

Realistic Visualization

Code: MCT06.2 Semester: 1

Type of teaching:

Lectures and laboratory work,

Course assignment

Lessons per week:

L – 2 hours, LW – 1 hour

Number of credits: 4

LECTURER:

Prof. Ph.D. Stoyan Maleshkov (FCST), tel: 965 2052, email: [email protected]

Technical University of Sofia

COURSE STATUS IN THE CURRICULUM: Optional course for the students specialty “Computer

technologies and applied programming” of the Faculty of Computer Systems and Technologies, educational

master’s degree.

AIMS AND OBJECTIVES OF THE COURSE: At the end of the course the students are expected to be

able to apply the methodology for creating of realistic image synthesis and computer animation. The subjects

studied and the skills developed in this course are applied in the subsequent engineering courses and projects.

DESCRIPTION OF THE COURSE: The main aim of the course is to make a study of the methods of

creation and editing object with complex geometry and hierarchical structure and to attain proficiency in

realistic computer visualization. The students gain knowledge and develop skills to use state-of-the-art

software products in working out specific tasks. This course presents the basic concepts and tasks of

geometric modeling and the techniques or realistic visualization. Some of the main algorithms and model

structures are considered. Special attention is given to applications in engineering areas. Knowledge and

skills to solve concrete problems are developed.

PREREQUISITES: Computer Graphics and Geometric Modeling.

TEACHING METHODS: Lectures are delivered by the use of demonstration materials and slides in

electronic format, presented with computer and multimedia projector. The laboratory exercises are carried

out in computer labs with local and global network. Students develop group and individual practically

oriented course works. Additional educational materials for the lab assignments are provided to the students

in electronic format.

METHOD OF ASSESSMENT: Exam

INSTRUCTION LANGUAGE: Bulgarian

BIBLIOGRAPHY:

1. Lecture notes; 2. Hearn, D., M. Baker. Computer Graphics with OpenGL, 4-th Edition, Prentice-Hall,

2010; 3. Hughes, Andries van Dam, Morgan McGuire and David F. Sklar. Computer Graphics: Principle and

Practice, 3-rd Edition, Addison Wesley, 2013; 4. Angel E., Interactive Computer Graphics – A Top-Down

Approach with Shader-Based OpenGL, 6-th Edition, Addison Wesley, 2011; 5. Watt, A. Fundamentals of

Three-Dimensional Computer Graphics, Addison-Wesley, 1989. 6. Материали, описващи

функционалните възможности на 3D Studio Max. (Harper, J., Mastering Autodesk 3ds Max 2013, Sybex,

2012.)

DESCRIPTON OF THE COUSE

Name of the course:

Introduction to Artificial

Intelligence

Code: MCT04.3 Semester: 2

Type of teaching:

Lectures and laboratory work,

Course work/project (selectable)

Lessons per week:

L – 2 hours, LW – 1

hour

Number of credits: 4

LECTURER:

Assoc. Prof. Ph.D. Maria Angelova (FCST), tel.: 9653064, email: [email protected]

Technical University of Sofia

COURSE STATUS IN THE CURRICULUM: Optional for the students of Faculty of Computer Systems

and Technologies – TU-Sofia, specialty “Computer Technologies and Applied Programming”, Master

Degree.

AIMS AND OBJECTIVES OF THE COURSE: The course "Introduction to Artificial Intelligence" aims

for students to learn and be able to apply the basic formalisms for representing and using knowledge in

artificial intelligence systems and to learn about logical programming.

DESCRIPTION OF THE COURSE: Knowledge and skills in this course acquaint students with basic

theoretical issues in building systems with artificial intelligence and logic programming. The course

considers the performance and characteristics of expert systems and neural networks as representatives of the

two main approaches in artificial intelligence systems building. At the end of the course students will be

familiar with the principles of operation of artificial intelligence systems and their application in practice

knows the peculiarities of logic programming and solves practical problems using language Prolog, will able

to design functional applications in the Visual Prolog Environment.

PREREQUISTES: Basic mathematic knowledge from secondary school.

TEACHING METHOODS: Lectures, using a laptop and multimedia projector, which are published with

free access to the Internet. In laboratory classes many specific tasks, related to the application of different

methods of data processing and creation of software are performed.

METHOD OF ASSESSMENT: Written exam in the end of semester – 90%, students’ performance during

the semester – 10%.

INSTRUCTION LANGUADGE: Bulgarian.

BIBLIOGRAPHY: 1. Course lectures, presented as Power Point presentations; 2. Luger, George F.; (2009).

Artificial Intelligence: Structures and Strategies for Complex Problem Solving (6th ed.). Pearson Education,

Inc. ISBN-10: 0-321-54589-3. 3. Russell, Stuart J.; Norvig, Peter (2009), Artificial Intelligence: A Modern

Approach (3rd ed.), Upper Saddle River, New Jersey: Prentice Hall, ISBN 0-13-604259-7. 4. Neapolitan,

Richard; Jiang, Xia (2012). Contemporary Artificial Intelligence. Chapman & Hall/CRC. ISBN 978-1-4398-

4469-4. 5. Thomas W. de Boer, A Beginners' Guide to Visual Prolog, 2009.

DESCRIPTION OF THE COURSE

Name of the course:

Information Retrieval

Code: MCT05.3 Semester: 1

Type of teaching:

Lectures and laboratory work,

Course work/project (selectable)

Lessons per week:

L – 2 hours, LW – 1 hour

Number of credits: 4

LECTURER:

Assoc. Prof. Ph.D. Veska Gancheva (FCST), tel: 965 2192, email: [email protected]

Technical University of Sofia

COURSE STATUS IN THE CURRICULUM: Optional course for the students specialty “Computer

technologies and applied programming” of the Faculty of Computer Systems and Technologies, educational

master’s degree.

AIMS AND OBJECTIVES OF THE COURSE: Purpose of the course is to acquaint students with

advanced methods, approaches, technologies and applications for extracting information from text, web

documents, databases and knowledge discovery from big data.

DESCRIPTION OF THE COURSE: Students are introduced to the basic notions and concepts related to

information retrieval and knowledge discovery. Issues related to study and analysis of big data, algorithms

and methods for extracting information from collections of data, text and web documents are discussed.

Technologies for the development of search engines and platforms for processing large datasets are

presented. Students learn intelligent methods, algorithms and software tools for data analysis, extraction and

detection of information in modern applications. Laboratory practice illustrates solving real data analysis

tasks by means of building and implementation of various mining models for discovering associations,

clustering, classification and prediction.

PREREQUISITES: Database, Information Systems, Distributed Systems, Algorithms.

TEACHING METHODS: Lectures are delivered by the use of demonstration materials and slides in

electronic format, presented with computer and multimedia projector. The laboratory exercises are carried

out in computer labs with local and global network applying tools for data retrieval.

METHOD OF ASSESSMENT: Exam

INSTRUCTION LANGUAGE: Bulgarian

BIBLIOGRAPHY:

1. S. Büttcher, C. Clarke, Information Retrieval: Implementing and Evaluating Search Engines, MIT Press,

2016. 2. M. Bazzell, Open Source Intelligence Techniques: Resources for Searching and Analyzing Online

Information, 2016. 3. D. T. Larose, Discovering Knowledge in Data: An Introduction to Data Mining, 2nd

Edition, Wiley Publishing Inc., 2014. 4. J. Gama, Knowledge Discovery from Data Streams, CRC Press,

2010. 5. M. Hofmann, R. Klinkenberg, RapidMiner: Data Mining Use Cases and Business Analytics

Applications, CRC Press, 2013. 6. J. D. Kelleher, B. Mac Namee, Fundamentals of Machine Learning for

Predictive Data Analytics: Algorithms, Worked Examples, and Case Studies, MIT Press, 2015.

DESCRIPTION OF THE COURSE

Name of the course

Pattern Recognition

Code: MCT06.3 Semester: 1

Type of teaching:

Lectures and laboratory work, Course

work/project (selectable)

Lessons per week:

L – 2 hours; LW – 1 hour

Number of credits: 4

LECTURER:

Assoc. Prof. Ph.D. Maria Angelova (FCST) – tel.: 965 3285, email: [email protected]

Technical University of Sofia

COURSE STATUS IN THE CURRICULUM: Selectable course for the students of specialty “Computer

Technologies and Applied Programming” in the master program of the Faculty of Computer Systems and

Technologies.

AIMS AND OBJECTIVES OF THE COURSE: The aim of the course is to give knowledge in the field of

image analyses, pattern recognition and computerized understanding of visual images. After the end of the

course the students will know different approaches, methods and algorithms for acquiring, processing and

analyses of digital images and will be able to apply them in certain applications of the computer vision

systems.

DESCRIPTION OF THE COURSE: The main topics covered in the course are: Hardware and information

structure of computer vision system and processing hierarchy of visual information; Preprocessing of visual

information. Methods for filtration of grayscale images; Gradient based edge and contour extraction; Feature

detection and image segmentation; Texture based segmentation; Analyses of 3D visual scenes; Structural-

linguistic recognition. Phrase-structural languages; Stereo image analyses; Principles and methods for pattern

recognition; Mathematical and statistical recognition methods; Model based recognition based; Learning

algorithms; Neural networks and computer vision. Multilayered neural networks; Application of the

computer vision systems.

PREREQUISITES: Mathematics, Algorithms synthesis and analyses, Computer graphics, Computer

architectures, Image Processing.

TEACHING METHODS: Lectures using video-presentation with beamer, laboratory works for за

development, experiments, analyses and discussion on given examples and problems.

METHOD OF ASSESSMENT: Exam during the exam session with duration two academic hours, students

give written answers to questions, problems or tasks (80%), laboratory works (20%).

INSTRUCTION LANGUAGE: Bulgarian

BIBLIOGRAPHY: 1. Гочев Г., Компютърно зрение и невронни мрежи, София, 2004; 2. Лазарова М.,

М.Ангелова, Ръководство за лабораторни упражнения по компютърно зрение и разпознаване на

образи, ТУ-София, 2007; 3. Szeliski R., Computer Vision: Algorithms and Applications, Springer, 2011; 4.

Kaehler А., G. Bradski, Learning OpenCV: Computer Vision in C++ with the OpenCV Library,

O'Reilly Media, 2014; 5. Brahmbhatt S., Practical OpenCV, Apress, 2013; 6. Laganière R., OpenCV 2:

Computer Vision Application Programming Cookbook, Packt Publishing, 2011; 7. Prince С., Computer

Vision: Models, Learning, and Inference, Cambridge University Press, 2012; 8. Murphy К., Machine

Learning: A Probabilistic Perspective, MIT Press, 2012; 9. Forsyth D., J. Ponce, Computer Vision: A

Modern Approach, Prentice Hall, 2011; 10. Parker J., Algorithms for Image Processing and Computer

Vision, Wiley, 2010; 11. Nixon М., Feature Extraction & Image Processing for Computer Vision, Academic

Press, 2012.

DESCRIPTION OF THE COURSE

Name of the course

Validation and Verification

of Programming Systems

Code: MCT08 Semester: 2

Type of teaching:

Lectures and laboratory work,

Course work/project

(selectable)

Lessons per week:

L – 2 hours; LW – 1 hour

Number of credits: 5

LECTURER:

Prof. Ph.D. Ivan Momchev (FCST), tel: 965 2052, email: [email protected]

Technical University of Sofia

Assistant Prof. Ph.D. Vesselin Gueorguiev (FCST), tel: 965 2192, email: [email protected]

Technical University of Sofia

COURSE STATUS IN THE CURRICULUM: Elective course for the students specialty “Computer

Technologies and Applied Programming” of the Faculty of Computer Systems and Technologies, educational

master’s degree.

AIMS AND OBJECTIVES OF THE COURSE: The course is aimed to teach the students in software

validation and verification methods, techniques needed for the industrial methods for software production.

DESCRIPTION OF THE COURSE: The main topics concern: Software quality, Validation and

Verification techniques and methods, testing as a part of V&

V process, special topics of V&

V methods and

techniques (real-time software, embedded systems, OO systems, system software).

PREREQUISITES: Programming Languages, Software Development, Software Architectures.

TEACHING METHODS: All lectures are developed as PowerPoint presentations and are taught by means

of computer and multimedia projector. In laboratory are solved different case studies. The second part of the

labs is oriented to development of projects by teams of two-four students. All slides are published at Internet.

METHOD OF ASSESSMENT: process of continuous assessment

INSTRUCTION LANGUAGE: Bulgarian

BIBLIOGRAPHY: 1. Lecture notes; 2. Aristides Dasso, Ana Funes, Verification, Validation and Testing in

Software Engineering, Idea Group Inc., 2007; 3. W.L. Oberkampf, C.J. Roy, Verification and Validation in

Scientific Computing, Cambridge University Press, 2010; 4. J. O. Grady, System Verification: Proving the

Design Solution Satisfies the Requirements, Academic Press, 2010; 5. K. Lano, UML 2 Semantics and

Applications, John Wiley & Sons, 2009.

DESCRIPTION OF THE COURSE

Name of the course

Contemporary software technologies

Code: MCT09 Semester: 2

Type of teaching:

Lectures and laboratory work

Lessons per week:

L – 2 hours; LW – 1 hour

Number of credits: 6

LECTURER:

Assoc. Prof. Virginiya Dimitrova, Ph.D. (FCSТ) – tel.: 965 3339, е-mail: [email protected];

Technical University of Sofia

COURSE STATUS IN THE CURRICULUM: Mandatory course in the curriculum for Master’s degree in

Computer Technologies and Applied Programming, at the Faculty of Computer Systems and Technologies

(FCST).

AIMS AND OBJECTIVES OF THE COURSE:

To give students an expert knowledge of contemporary technologies in the area of software development

including: modern programming tools for developing of interactive and attractive applications (visual

programming; human-computer interfaces); techniques for implementation of effective applications

(asynchronous programming, multithread programming); adaptive applications (metadata); fast access to the

applications ‘data (serialization/deserialization, access to databases); componentization; scalable applications.

DESCRIPTION OF THE COURSE: Module “Visual Programming”: Graphical User Interfaces; Audio

Interfaces; Touch-Screen; and Gesture-based Interfaces. Module “Applications ‘Architecture”: Code-Behind;

MCV; and MVVM; Componentization; aggregate applications; Game Framework. Module “Optimization”:

Asynchronous Programming; and Multithread Programming. Module “Data”: Metadata and Reflection

Mechanism; Serialization and Deserealization; LINQ.

PREREQUISITES: Advanced knowledge in the following subjects in the curriculum for Bachelor’s degree:

“Basics of Programming”, „Object-Oriented Programming”, „Programming in C#”.

TEACHING METHODS: Lectures based on slides. Laboratory exercises for individual programming and

task solving.

METHOD OF ASSESSMENT: Two hours written exam (120 minutes) that includes a test part of 40

questions (both opened and closed) all over the material to be answered. The final grade is formed by the

assessment from the exam (with weighting coefficient 0.9) and the assessment from the continuous control

during the semester (based on the active participation of the student in the laboratory exercises) with

weighting coefficient 0.1.

INSTRUCTION LANGUAGE: Bulgarian

BIBLIOGRAPHY: 1. 1. Jack Purdum, “Beginning Object-Oriented programming with C#”, 2012; 2. Jon

Skeet , “C# in depth”, 2013, Manning, 3-th edition;

3. Stephen Cleary, “Concurrency in C# CookBook (Asynchronous, Parallel and Multithread programming)”,

O’REILLY, 2014; 4. Adam Freeman, Joseph Rattz, “Pro LINQ (Language Integrated Query in C#)”,

APRESS, 2010; 5. http://unity3D.com; 6. http://msdn.microsoft.com; 7. https://developer.microsoft.com/en-

us/windows/kinect

DESCRIPTION OF THE COURSE

Name of the course:

Software Engineering

Code: MCT10 Semester: 2

Type of teaching:

Lectures and laboratory work,

Course work/project (selectable)

Lessons per week:

L – 2 hours, LW – 1 hour

Number of credits: 5

LECTURER:

Assoc. Prof. Veska Gancheva (FCST), tel: 965 2192, email: [email protected]

Technical University of Sofia

COURSE STATUS IN THE CURRICULUM: Compulsory course for the students of specialty “Computer

Technologies and Applied Programming” of the Faculty of Computer Systems and Technologies, educational

master’s degree.

AIMS AND OBJECTIVES OF THE COURSE: The course is aimed to teach the students in software

engineering practice and to give them base knowledge about the industrial methods for software production.

DESCRIPTION OF THE COURSE: The main topics concern: Software process, Life cycle, UML,

Software Requirements, Architectural Software Design, Computer Aided Software Engineering, Verification

and Validation, Software process management.

PREREQUISITES: Object Oriented Programming, Informational Systems, and Operating Systems.

TEACHING METHODS: All lectures are developed as PowerPoint presentations and are taught by means

of computer and multimedia projector. In laboratory are solved different case studies. The second part of the

labs is oriented to development of projects by teams of two-four students. All slides are published at Internet.

METHOD OF ASSESSMENT: Exam.

INSTRUCTION LANGUAGE: Bulgarian.

BIBLIOGRAPHY: 1. Ian Sommerville, Software Engineering, 9-th edition, Addison Wesley, 2012. 2. Paul

Clements, Felix Bachmann and all, Documenting Software Architectures: Views and Beyond, 2nd ed.,

Rearson Education Inc. 2010. 3. Kenneth S. Rubin, Essential Scrum: A Practical Guide to the Most Popular

Agile Process, Addison-Wesley Signature Series, 2012. 4. Craig Larman, Applying UML and Patterns: An

Introduction to Object-Oriented Analysis and Design and Iterative Development, 3rd ed., Pearson Education,

2012. 5. Mike Cohn, Succeeding with Agile: Software Development Using Scrum, Addison-Wesley

Signature Series, 2012. 6. Hassan Gomaa, Software Modeling and Design: UML, Use Cases, Patterns, and

Software Architectures, Cambridge University Press, 2011. 7. Richard Taylor, Nenad Medvidovic, Eric

Dashofy, Software Architecture: Foundations, Theory, and Practice, John Wiley and Sons Inc., 2010. 8. Len

Bass, Paul Clements, Rick Kazman, Software Architecture in Practice, 3rd ed., Pearson Education, 2012.

DESCRIPTION OF THE COURSE

Name of the course:

System and network administration

(Unux/Linux)

Code: MCT11.1 Semester: 2

Lectures and laboratory work, Course

work/project (selectable)

Hours per week:

L -2 hours , LW – 1 hours

Credits: 4

LECTURER:

Professor. Dr. Ivan Momtchev, phone: 02 965 2052, email: ivan.momtchev @ tu-sofia.bg

Technical University – Sofia

COURSE STATUS IN THE CURRICULUM: Optional for the students in the specialty "Computer

Technology and Application Programming” of the Faculty of Computer Systems and Technologies, Master

degree course.

OBJECTIVES OF THE COURSE :

Understanding the most widely used operating system for Web servers. Mastering the methods and

approaches of its administration.As a result, students will acquire knowledge and skills for the use of the

technology to solve engineering problems.

DESCRIPTION OF THE COURSE: The main topics:

Module administration of Unix/Linux systems: Introduction, Linux installation, File System, Linux file

and directory naming conventions and permissions, Essential Unix commands, I/O Re-direction and

Filtering, Standard Input, Standard Output, Standard Error, Working with the Shell and job control,

Installation and Management of Linux Packages

Module network conceptions and configurations: TCP/IP Protocol Suite, Implementing & Maintaining a

web server (Apache), Configuring and Managing a Mail Server (Postfix), Implementing a proxy server,

Configuring a samba server, Systems Maintenance – cron and log files.

PREREQUISITES: Basic knowledge about operating systems and network protocols

TEACHING METHOD: Lectures, including examples on the site; presented in real-time using multimedia

projector, laboratory demo cases, published on the Internet and course work preparation and defense.

METHODS OF ASSESSMENT: Development work individually or in a group (80%), and 20% of the

individual participation of each student in the labs.

LANGUAGE: Bulgarian

BIBLIOGRAPHY:

1. Christopher Negus, Christine Bresnahan, Linux Bible, John Wiley & Sons, 2012, ISBN: 978-1-

118-21854-9

Further Reading

2. Roderick W. Smith, Linux Essentials, Wiley / Sybex, 2012, ISBN: 978-1-4571-2091-6

3. Christopher Negus, Ubuntu Linux Toolbox: 1000+ Commands for Power Users, 2nd Edition,

John Wiley & Sons, 2013, ISBN: 978-1-4571-5581-9

DESCRIPTION OF THE COURSE

Name of the course:

Android programming with Java

Code: MCT12.1 Semester: 2

Type of teaching:

Lectures and laboratory work

Lessons per week:

L – 2 hours, LW – 1 hour

Number of credits: 4

LECTURER:

Assoc. Prof. Ph.D. Dimitar Bojkov (FCST), email: [email protected]

Assist. Elena Kalcheva-Yovkova (FCST), email: [email protected]

Faculty of Computer Systems and Control, Technical University of Sofia

COURSE STATUS IN THE CURRICULUM:

An optional course for the students of specialty “Computer technologies and applied programming” of the

Faculty of Computer Systems and Technologies, educational master’s degree.

AIMS AND OBJECTIVES OF THE COURSE:

At the end of the course the students will have a thorough knowledge and skills on the essential concepts,

design strategies and modern tools, necessary to create and implement software applications for Android

based mobile phones and devices.

DESCRIPTION OF THE COURSE:

The course includes a wide range of topics covering the design and implementation of Android based mobile

applications: user interfaces, management and lifecycle of mobile applications, using multi-threading and

communications between processes, content providers, using geo-locations and maps, managing networks

and Web services, data storage management and database connections.

PREREQUISITES: OOP with Java and basic knowledge on XML.

TEACHING METHODS: Lectures are delivered by the use of demonstration materials and slides in

electronic format, presented with computer and multimedia projector. The laboratory exercises are carried

out in computer labs with local and global network. Additional educational materials for the lab assignments

are provided to the students in electronic format.

METHOD OF ASSESSMENT: Exam

INSTRUCTION LANGUAGE: Bulgarian

BIBLIOGRAPHY:

1. Lecture notes and practical lab assignments;

2. Mark L. Murphy, The Busy Coder's Guide to Android Development. CommonsWare Pub, 2014, ISBN:

978-0-9816780-0-9

(available at: http://commonsware.com/Android/index.html)

3. Android Developer’s Guides (available at: http://developer.android.com/)

DESCRIPTION OF THE COURSE

Name of the course

Embedded Systems

Code: MCT13.1 Semester: 2

Type of teaching:

Lectures and laboratories

Lessons per week:

L – 2 hours; Labs. – 1 hours

Number of credits: 4

LECTURER:

Assoc. Prof. Dimitar Bojkov, Ph.D (FCSТ) – tel.: 965 3324, е-mail: [email protected];

Technical University of Sofia

COURSE STATUS IN THE CURRICULUM: Elective course for Master's degree students of "Computer

Technologies and Applied Programming" at the Department of Programming and Computer Technologies,

Faculty of Computer Systems and Technologies (FACS), Technical University of Sofia

AIMS AND OBJECTIVES OF THE COURSE:

The course aims to give students knowledge for the concepts, design, advanced tools and integrated tools,

necessary for creating, testing and implementation of embedded systems.

DESCRIPTION OF THE COURSE:

The course includes a set of topics covering: monitoring and control of real-time processes, design and

implementation of embedded systems, information processing from intelligent sensor systems, most

commonly used interfaces and communication protocols, etc.

PREREQUISITES: Knowledge of programming in C, basic knowledge of schematics is required.

TEACHING METHODS:

Lectures delivered using visuals, electronic slides, computer and multimedia projector. Laboratory exercises

performed in a computer classroom, during which tasks assigned to group assignments are solved. Students

are provided with teaching aids in electronic format.

METHOD OF ASSESSMENT: A written exam on the whole material is required. The evaluation is done

according to the accepted point system.

INSTRUCTION LANGUAGE: Bulgarian.

BIBLIOGRAPHY:

1. E. A. Lee and S. A. Seshia, Introduction to Embedded Systems - A Cyber-Physical Systems

Approach, ISBN 978-0-557-70857-4, LeeSeshia.org, 2011.

2. Jean Labrosse et al. Embedded software, 1st ed., Newnes, Elsevier Inc., ISBN: 978-0-7506-8583-2,

2008.

DESCRIPTION OF THE COURSE

Name of the course:

Programming Technologies for

Secured Code

Code: MCT11.2 Semester: 2

Type of teaching:

Lectures and laboratory work,

Course work / project (selectable)

Lessons per week:

L – 2 hours, LW - 1 hour

Number of credits: 4

LECTURER:

Prof. Ph.D. Ognian Nakov (FCST), phone: 965 3613, e-mail: [email protected]

Technical University of Sofia

COURSE STATUS IN THE CURRICULUM: Optional course for students of the specialty “Computer

technologies and applied programming”, of the Faculty of Computer Systems and Technologies, educational

master’s degree.

AIMS AND OBJECTIVES OF THE COURSE: The course introduces vulnerabilities in the code in

different programming technologies, malicious local or external attacks, as well as software tools and

protection practices.

DESCRIPTION OF THE COURSE: Security code in Internet-based applications; Protecting system code

exposed in the network; Programming practices that prevent intrusions into information systems; Practices for

creating secure RPC, COM, ActiveX components and Web services; Practices in .NET programming

environment.

PREREQUISITES: Programming languages, programming environments, system and web Programming.

TEACHING METHODS: Lectures with slides in electronic format, book and guide for laboratory

exercises, web site.

METHOD OF ASSESSMENT: Exam

INSTRUCTION LANGUAGE: Bulgarian.

BIBLIOGRAPHY:

4. Хауърд, М. Д. Лебланк, Писане на сигурен код, СофтПрес, 2004.

5. Hamid R. Nemati and Li Yang, Applied Cryptography for Cyber Security and Defense:

Information Encryption and Cyphering, IGI Global, 2010.

6. Bryan Sullivan and Vincent Liu, Web Application Security, A Beginner's Guide, McGraw-Hill

Osborne Media, 2011.

7. Michal Zalewski, The Tangled Web: A Guide to Securing Modern Web Applications, No Starch

Press, 2011.

8. Mike Shema, Hacking Web Apps: Detecting and Preventing Web Application Security Problems,

Syngress, 2012.

9. Michael Howard, David LeBlanc and John Viega, 24 Deadly Sins of Software Security:

Programming Flaws and How to Fix Them, McGraw-Hill Osborne Media, 2009.

DESCRIPTION OF THE COURSE

Name of the course:

Cloud Technologies

Number: MCT12.2

Semester: 2

Type of teaching:

Lectures and laboratory work, Course work,

Course project (selectable)

Lessons per week:

L – 2 hours, LW – 1 hour

Number of credits: 4

LECTURER:

Assoc. Prof. Ph.D. Daniela Minkovska (FCSТ), tel: 965 3317, email: [email protected]

Technical University of Sofia

COURSE STATUS IN THE CURRICULUM: Selectable course for the students of speciality “Computer

Technologies and Applied Programming” studying for master degree at the Dept. of Programming and

Computer Technologies, Faculty of Computer Systems and Technologies of Technical University of Sofia.

AIMS AND OBJECTIVES OF THE COURSE: The main goal of this course is to give fundamental

knowledge about the cloud technologies, platforms, services and architectures, virtualization, the basic

concepts of public cloud services IaaS, PaaS и SaaS, and their application in the public cloud platforms. At

the end of the course the students are expected to be able to know the existing solutions in cloud computing,

to distinguish options for cloud storage and describe the resources to manage cloud, etc.

DESIRIPTION OF THE COURSE: Basic consepts, characteristics and services in cloud technologies,

architectures of major platforms for cloud computing and cloud operating systems are examined. The

possibilities for virtualization – types, clusters and GRID technologies are examine. Methods for memory

management, safety and protection when working with cloud technology are studying. Laboratory work will

support the practical assimilation of material in contemporary cloud platforms. The course project includes

developing rich content and graphical parts of scenario, orientated toward to innovation to the cloud

technologies sphere.

PREREQUISITES: The course is based on the knowledge received in some bachelor and master degree

courses as: Distributed Systems and Computer Networks.

TEACHING METHODS: Lectures given in auditory room using visual presentations, computer and

multimedia projector. Laboratory work in a computer room, in cloud environment Windows Azure and

Amazon Web Services (AWS). Course project – designing and developing of the cloud applications.

METHOD OF ASSESSMENT: Written examination after the end of the semester.

INSTRUCTION LANGUAGE: Bulgarian

BIBLIOGRAPHY: 1. Cloud Computing Bible. Barrie Sosinsky. John Wiley & Sons. ISBN-13: 978-

0470903568. Amazon Web Services For Dummies. Bernard Golden. For Dummies. ISBN-13: 978-

1118571835; 2. Weinhardt, C., Anandasivam, A., Blau, B., Borissov, N., Meinl, T., Michalk, W., Stößer, J.:

Cloud Computing – A Classification, Business Models, and Research Directions. Bus. Inf. Syst. Eng. 1, 391–

399 (2009); 3. Malathi, M.: Cloud computing Concepts. In: 2011 3rd International Conference on Electronics

Computer Technology (ICECT), pp. 236–239 (2011); 4. Gautam Shroff, “Enterprise Cloud Computing

Technology Architecture Applications”, Cambridge University Press; 1 edition, [ISBN: 978-0521137355],

2010; 5. Toby Velte, Anthony Velte, Robert Elsenpeter, “Cloud Computing, A Practical Approach”

McGraw-Hill Osborne Media; 1 edition [ISBN: 0071626948], 2009; 6. Greg Schulz, “Cloud and Virtual

Data Storage Networking”, Auerbach Publications [ISBN: 978-1439851739], 2011; 7. Ronald L. Krutz,

Russell Dean Vines, “Cloud Security” [ISBN: 0470589876], 2010; 8. John Rittinghouse, James Ransome,

“Cloud Computing” CRC Press; 1 edition [ISBN: 1439806802], 2009; 9. Massimo Cafaro (Editor), Giovanni

Aloisio (Editor), “Grids, Clouds and Virtualization” Springer; edition [ISBN: 978-0857290489] 2011; 10.

LatifaBoursas (Editor), Mark Carlson (Editor), Wolfgang Hommel (Editor), Michelle Sibilla (Editor),

KesWold (Editor), “Systems and Virtualization Management: Standards and New Technologies” [ISBN:

978-3540887072], October 14, 2008.

DESCRIPTION OF THE COURSE

Name of the course:

Service Oriented Тechnologies

Code: MCT13.2 Semester: 2

Type of teaching:

Lectures and laboratory work,

Course work/project (selectable)

Lessons per week:

L – 2 hours, LW – 1 hour

Number of credits: 4

LECTURER:

Ass. Ph.D. Lyudmila Stoyanova (FCST), tel.: 9652424 email: [email protected]

Technical University of Sofia

COURSE STATUS IN THE CURRICULUM: Elective course for the students’ specialty “Computer

Technologies and Application programming” of the Faculty of Computer Systems and Technologies,

educational master’s degree.

AIMS AND OBJECTIVES OF THE COURSE: At the end of the course the students are expected to be

able to analyze and design business processes, to appreciate when to apply Web services and SOA, to

compose XML Schema documents (XSD), WSDL, BPMN and BPEL, to develop SOA applying the WEB

services technology.

The gained during the course skills for solving problems will be applied in the subsequent engineering

courses and projects.

DESCRIPTION OF THE COURSE: The basic topics of the course: Service oriented architecture (SOA) -

structure, principles and approaches. Characteristics, Enterprise Service Bus (ESB). The lifecycle of SОА is

pictured. The realization of SOA with WEB services technology (the preferred standards-based way) is

discussed. Basic standards are explained - WSDL, UDDI and SOAP. Modern technologies and standards for

business process modeling (BPM) are presented using the business process graphic notation. Structuring and

modeling of a business process, partners by BPEL (Business Process Execution Language). Processes

integration, modeling and choreography are considered.

PREREQUISITES: Basic knowledge in “Programming and computer technologies”, “Object oriented

programming”, “Object oriented programming – project”, “Methods and resources for storing and retrieving

information (specific questions of information systems)”.

TEACHING METHODS: Lectures are delivered by the use of demonstration materials and slides in

electronic format, presented with computer and multimedia projector. The laboratory exercises are carried

out in computer labs with local and global network. Students develop group and individual practically

oriented course works. Additional educational materials for the lab assignments are provided to the students

in electronic format.

METHOD OF ASSESSMENT: Exam

INSTRUCTION LANGUAGE: Bulgarian

BIBLIOGRAPHY: 1. Lecture notes; 2. Web services: Principles and Technology, Michael P. Papazoglou,

Pearson Education Limited, 2008, 3. Service-Oriented Architecture: Concepts, Technology, and Design,

Thomas Erl, Prentice Hall, 2005, 4. Designing the User Interface, Shneiderman, B., Addison-Wesley, 1987,

5. Applied SOA : service-oriented architecture and design strategies, Mike Rosen [et al.], Wiley Publishing,

Inc., Indianapolis, Indiana, 2008, 6. Model Driven Architecture, David S. Frankel, Wiley Publishing, Inc.,

Indianapolis, Indiana, 2003, 7. Programming Web Services with SOAP, Doug Tidwell [et al.], O'Reilly,

December 2001, 8. SOA - Principles of Service Design, Thomas Erl, Prentice Hall, 2008, 9. Service Oriented

Architecture a field guide to integrating XML and Web Services, Thomas Erl, Pearson Education, 2004, 10.

Services Computing, Liang-Jie Zhang [et al.], Springer, 2007, 11. Web Application Architecture -

Principles, protocols and practices, Leon Shklar, Richard Rosen, John Wiley & Sons Inc, 2003

DESCRIPTION OF THE COURSE

Name of the course:

Processing of Multimedia Data

Number: MCT11.3

Semester: 2

Type of teaching:

Lectures and laboratory work,

Course work,

Course project (selectable)

Lessons per week:

L – 2 hours, LW – 1 hour

Number of credits: 4

LECTURER:

Assoc. Prof. Ph.D. Daniela Minkovska (FCSТ), tel: 965 3317, email: [email protected]

Technical University of Sofia

COURSE STATUS IN THE CURRICULUM: Selectable course for the students of speciality “Computer

Technologies and Applied Programming” studying for master degree at the Dept. of Programming and

Computer Technologies, Faculty of Computer Systems and Technologies of Technical University of Sofia.

AIMS AND OBJECTIVES OF THE COURSE: The main goal of this course is to give fundamental

knowledge about the basic multimedia concepts, the main multimedia data and their processing by means of

specialized programming environments. At the end of the course the students are expected to be able to know

these environments and to be able to process different types of multimedia data applied in various forms and

stages of training, design, marketing, games and more.

DESIRIPTION OF THE COURSE: Basic consepts, characteristics of the types of multimedia data and

environments for their processing are examined. The possibilities for relationship between different

applications are display. Laboratory work will support the practical assimilation of material in contemporary

program environments (Photoshop, CorelDraw, AutoCad, Adobe Premier, ToolBook, etc.). The course

project includes developing rich content and graphical parts of scenario, orientated toward to innovation to

the interactive technologies sphere.

PREREQUISITES: No prior knowledge required.

TEACHING METHODS: Lectures given in auditory room using visual presentations, computer and

multimedia projector. Laboratory work in a computer room, during which problems are solved, developed by

the group assignments.

METHOD OF ASSESSMENT: Current assessment obtained on the basis of a theoretical exam and the

course work.

INSTRUCTION LANGUAGE: Bulgarian

BIBLIOGRAPHY: 1. Записки от лекциите; 2. Желев Г., Л. Димитров, Мултимедия с ToolBook, Из-во

ЛиДик, София, 2001 г. 3. Дамянова Т., Мултимедия, Из-во Информа, София, 1996; 4. Рачев Б.,

Йорданова С., Наумов В., Мултимедия и компресия на информация, Из-во МТ-МТ Прес, Варна, 1995;

5. Вернер Ингенблек, Все о мультимедии, Из-во BHV, Киев, 1996 г.; 6. Burger J., The Desktop

Multimedia Bible, Addison-Wesley Publishing Company, Reading, MA,1993; 7. Tway L., Multimedia In

Action, AP Profesional, London,1996; 8. Tay Vaughan, Multimedia: Making It Work, Osborn McGraw Hill,

Barkley, California, 1966, Third Edition.

DESCRIPTION OF THE COURSE

Name of the course

Interactive systems

Code: MCT12.3 Semester: 2

Type of teaching:

Lectures and laboratories

Lessons per week:

L – 2 hours; Labs. – 1 hour

Number of credits: 4

LECTURER:

Assoc. Prof. Virginiya Dimitrova, Ph.D. (FCSТ) – tel.: 965 3339, е-mail: [email protected];

Technical University of Sofia

COURSE STATUS IN THE CURRICULUM: Optional course in the curriculum for Master’s degree in

Computer Technologies and Applied Programming, at the Faculty of Computer Systems and Technologies

(FCST).

AIMS AND OBJECTIVES OF THE COURSE: To give students a basic knowledge of the design,

development and evaluation of Interactive systems: Cognitive bases of Human-Computer Interaction (HCI);

Technical bases of HCI; Technological aspects of the Interactive systems; Principles and Standards for

Interactive systems’ development; and the main aspects of Usability engineering.

DESCRIPTION OF THE COURSE: Importance of Interactive systems. Machine- and people-centered

views. The interface of the Interactive system. Human-Computer Interaction (HCI). Interaction with real

devices. Affordances. Feedback. Constraints. Activity theory (Theory of Norman). Mental models. Concepts

and prototypes of the first interactive systems. Principles and standards for the development of user interfaces.

Metaphors. Technical bases of HCI (window systems, menu systems and dialog systems); Window

placement strategies. WIMP (windows, icons, menus, pointers) interfaces. Virtual desktops. Icons. Menus.

Pointing devices. Interaction tasks and styles: language based interaction (command language); object-

oriented and function-oriented interaction; WYSIWYG; direct manipulation; touch-based interaction;

combination of interaction styles. Dialogs and forms for the solution of composite interaction tasks. Cognitive

foundations of HCI: cognition; perception; visual perception (Gestalt laws); human information processing;

memory (multi-store model of the memory); attention; human error. Usability engineering: task-analysis; user

analysis; prototype development and evaluation. Evaluating methods: formal evaluation; heuristic evaluation;

empirical evaluation. Usability testing. Usability labs. Models of user interface: Seeheim model; IFIP model;

Model-View-Controller. Specification of user interfaces.

PREREQUISITES: Advanced knowledge in the following subjects in the curriculum for Bachelor’s degree:

Basics of Programming; Programming Environments; and Operating Systems.

TEACHING METHODS: Lectures based on slides. Laboratory exercises for Graphical User Interfaces

development and problem solving.

METHOD OF ASSESSMENT: Two hours written exam (120 minutes) that includes a test part of 40

questions (both opened and closed) all over the material to be answered as well as a task to be solved. The

final grade is formed by the assessment from the exam (with weighting coefficient 0.9) and the assessment

from the continuous control during the semester (based on the active participation of the student in the

laboratory exercises) with weighting coefficient 0.1.

INSTRUCTION LANGUAGE: Bulgarian.

BIBLIOGRAPHY: 1. Lectures (at http://sopko-tu-sofia.bg); 2. Benyon D., Designing Interactive Systems. A

comprehensive guide to HCI and interaction design, 2th, Addison Wesley, 2010; 3. Benyon, D. et all, Designing Interactive Systems, Addison Wesley Verlag, 2005; 4. Galitz, Wilbert, The Essential Guide to User Interface Design, Wiley, 2. Auflage,

2007; 5. Shneiderman, Ben and J. Preece, Designing the User Interface, 5. Auflage, Addison Wesley, 2009; 6. Foley J., et all,

Computer Graphics: Principles and Practice, Addison Wesley, 1990; 7. Mayhew D., Usability Engineering, Morgan

Kaufman, 1999; 8. Norman, D., The Next UI Breakthrough: Command Lines, ACM Interactions, Band 14(3):44-45, 2007; 9.

Martinie C., et all, Model-Based Training: An Approach Supporting Operability of Critical Interactive Systems: Application to Satellite Ground Segments, Proceedings of the 3rd ACM SIGCHI symposium on Engineering interactive computing

systems, pp. 53-62, 2011; 10. Engel J., A model- and pattern-based approach for development of user interfaces of interactive

systems, Proceedings of the 2nd ACM SIGCHI symposium on Engineering interactive computing systems, ACM, 2010, pp.

337-340; 11. Jourde F., Laurillau Y., Nigay L., COMM notation for specifying collaborative and multimodal interactive

systems, Proceedings of the 2nd ACM SIGCHI symposium on Engineering interactive computing systems, ACM, 2010, pp.

125-134.

DESCRIPTION OF THE COURSE

Name of the course:

GPU Programming

Code: MCT13.3 Semester: 2

Type of teaching:

Lectures and laboratory work,

Course work/project (selectable)

Lessons per week:

L – 2 hours, LW – 1 hour

Number of credits: 4

LECTURER:

Assist. Prof. Ph.D. Dimo Chotrov (FCST), phone: 2442, e-mail: [email protected]

Technical University of Sofia

COURSE STATUS IN THE CURRICULUM: Optional course for the students with specialty “Computer

technologies and applied programming” of the Faculty of Computer Systems and Technologies, educational

master’s degree.

AIMS AND OBJECTIVES OF THE COURSE: The main objectives of the course are the study of parallel

algorithms, their implementation for graphical processing units (GPUs) as well as applications of GPU

programming.

DESCRIPTION OF THE COURSE: The course teaches GPU programming techniques and parallel

algorithms. It introduces libraries for parallel programming for GPUs and application areas of GPU

programming. Image processing and computer graphics algorithms are implemented during the lab exercises.

PREREQUISITES: C/C++, Data Structures and Algorithms.

TEACHING METHODS: Lectures are carried out with slides in electronic format, presented with

computer and multimedia projector. The laboratory exercises take place in computer labs. Additional

educational materials for the lab assignments are provided in electronic format.

METHOD OF ASSESSMENT: Exam and course project.

INSTRUCTION LANGUAGE: Bulgarian

BIBLIOGRAPHY:

Programming Massively Parallel Processors, Second Edition: A Hands-on Approach, David Kirk, Wen-mei

Hwu, 2012

OpenCL Programming Guide, Aaftab Munshi, Benedict Gaster, Timothy Mattson, James Fung, Dan

Ginsburg, 2011

CUDA by Example: An Introduction to General-Purpose GPU Programming, Jason Sanders, Edward

Kandrot, 2010

CUDA Programming: A Developer's Guide to Parallel Computing with GPUs (Applications of Gpu

Computing), Shane Cook, 2012

https://developer.nvidia.com/cuda-education