description of the course -...
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