The study program in Cloud Computing and Mobile Web Applications allows students to acquire the latest knowledge and competencies required by the fastest growing global industry. Cloud computing and mobile applications are expected to be major industries (billions of euros) over the next two to three years. This program is practical in nature and offers specializations in the most important areas of cloud computing: software as a service and the management of the underlying infrastructure components (including the role of the system administrator). Students registered in the program will gain experience with the latest principles, models and technologies in cloud computing given by the faculty and industry experts with experience in this area.
This is a new program that is offered in the region, appealing to different categories of students: graduates of technical sciences, industry experts, system administrators and those who are interested in gaining practical experience in cloud computing and mobile web applications.
The program will enable students with necessary knowledge and skills, in what is considered as one of the best potential high - value growth areas, and a vehicle for future jobs in Macedonia and worldwide. Cloud computing is set to provide a new generation of infrastructure, services and solutions for current and future businesses. The acquired knowledge in this program will enable students with the key skills for the industry, and student career ranges from IT to banking sector.
Knowledge and understanding
- Understanding the principles and technologies related to cloud computing and mobile web applications;
- Knowledge and experience about the latest development of cloud, mobile and web applications.
Applying knowledge and understanding
- Create and deploy a commercial web application onto multiple cloud platforms;
- Design application code that will run efficiently on a cloud platform;
- Design application code that will run efficiently on mobile devices;
- Application of best practices in project managements.
Making judgement
- Investigate the potential of cloud computing and the impact that the cloud could have on developing web applications across all major cloud offerings;
- Evaluate security strategies associated with cloud computing and apply these protocols to ensure the technical sustainability of an organization;
- Assessment of current and emerging technologies for the cloud, web and mobile applications.
Communication skills
- Communicate efficiently with technical peers, management, clients and end users;
- To lead and train others about the development of systems and software components.
Learning skills
- Identify operational and economic impacts of system architectures and software applications in the field;
- Learn different frameworks, platforms and syntax for building cloud, web and mobile applications.
Semester 1
-
[6 ECTS]
Cloud Architectures
The course aims to introduce students with knowledge and understanding of the latest trends in cloud computing as well as knowing the differences and challenges between cloud architectures and traditional architectures. Also, the course offers knowledge on identification and categorization of the platforms and software environments for cloud computing as well as analysis of the characteristics of cloud computing platforms.
-
[6 ECTS]
Managing Virtual Environments
Upon completing this course students should:
- Understand the basic techniques of virtualization in modern computer systems;
- Understand operating system virtualization;
- Know how to manage network virtualization;
- Know how disk and memory virtualization work;
- Can distribute physical resources in distributed virtual systems.
-
[6 ECTS]
Web and mobile application design
The course aim is to define mobile computing and types of mobile devices as well as description of the strengths and weaknesses of different mobile application platforms. Developing applications for mobile devices (Android devices) and developing use-case scenarios for the developed mobile application.
-
[6 ECTS]
Elective course 1
-
Cloud Application Services
The aim of this course is to enable students to effectively evaluate and develop Cloud based application services, and client applications based on such services. The module will enable students to gain the necessary skills to evaluate the suitability of using a number of cloud based application services and technology associated with them, in order to integrate these services with traditional enterprise environments and applications.
-
Service Oriented Architectures
The course focuses on the basic and advanced SOA design principles, supplemented with detailed everyday case studies and technologies that are used to implement SOA in the real world.
-
Internet Programming
The course goal is to acquaint students with advanced topics in client side Internet programming. Thus students will learn some of the programming languages and technologies for writing programs on the client side. After course completion students will be able to develop interactive websites using compiled and scripting languages.
-
Internet Application Development
The aim of this course is to give students practical knowledge about the concepts of client - server web programming. This course will focus on basic web programming languages today, including advanced topics of HTML5, CSS3, and detailed aspects of web programming languages (PHP / ASP.NET), and powerful embedded Javascript-libraries. Students will learn the semantics of a web page and to abstract information in a universal form for the web via HTML5. Also, upon completion of the course students will be able to manage different data structures, including the design of databases dedicated to web and integrating them into a web application. Students will gain advanced technical knowledge by studying the syntax and semantics of the client-server technologies from a practical point of view through which they will be prepared without any additional training to meet the needs and challenges of a real IT company for designing and managing scalable web application.
-
Distributed Computing
The course includes advanced topics for the concepts of distributed systems. Architectures of distributed systems are analyzed as well as the advantages and disadvantages of distributed systems compared to traditional centralized systems. The concepts of inter-process communications are learned including the Internet protocols for communication. The basics of client - server programming are illustrated, the middleware platforms (CORBA, JavaBeans, DCOM,. NET), the Web technologies and Web services as well as other technologies in distributed computing systems.
The last part of the course deals with transactions and distributed transactions. Students will become familiar with standard software solution for distributed computing systems.
-
C# and .NET Programming
Through this course students learn how to build Windows applications using the Microsoft. NET Framework with Visual C# through provided practical exercises for creating applications those are easily adaptable to different screen sizes -including desktops, laptops and tablets. To discover how C # supports the basic features of coding such as classes, other custom types, collections and managing errors. To search and process a variety of data sources such as object models in memory databases, and XML documents with LINQ.
-
[6 ECTS]
Free elective course 1
-
Rhetoric
During its long history of 2,500 years, rhetoric was used to indicate many different things; but rhetoric nowadays is considered as the art of persuasion through language. Rhetoric marks the way that an individual is linked to a particular theme or idea in order to convince the others. Rhetoric is characterized by several distinguishing features.
-
Methodology of Teaching
The aim of the course is to introduce the students to the basic teaching approaches and methods. They are expected to gain knowledge and skills in order to be able to apply the active educational tools. The course also offers development, learning and teaching as concepts and basic practices that allow teachers to teach about the development of thinking. Throughout this course, students will gain both theoretical background and entirety of strategies that will enable them to reflect and develop both their own and their students` critical thinking.
-
Multilingualism and multiculturalism
The purpose of this subject will be multilingualism in multicultural societies as a social phenomenon. This phenomenon is massive in the world. During the lectures, more precise terms such as monoculturalism and multiculturalism will be considered. The term ‘linguistic nationalism’ has at least two forms of this nationalism, which collide with each other: for the leaders of the most powerful countries nationalism means expansion, and for minorities it takes the form of defiance and struggle for the affirmation of identity, despite such pressure. The emphasis during the program will be multiculturalism in education. In the schools curricula consists of contents from different cultures.
-
Selected Chapters of Advanced Topics in IT Applications for Preparing a Scientific Paper
Целта на овој предмет е:
- Да им се прикажат техничките елементи, структурата на текстот и дизајнот на еден научен труд.
- Да им овозможи на студентите да се стекнат со понапредни познавања и вештини од одбрани напредни поглавја од ИТ апликации кои ќе им бидат потребни при изработка на научни и стручни трудови.
- Практична примена на овие цели при изработка на индивидуален научен труд на студентот.
-
Selected Chapters of Advanced Applications for Statistical Data Processing
The aim of this subject is:
- To display the technical elements in the field of statistics: organizing, processing, comparing through analysis and publication of data.
- To enable students to acquire advanced knowledge and skills from selected advanced chapters of the applications for statistical data processing.
- Practical application of these objectives in statistical processing of data obtained from questionnaires, reports, scientific studies and other documents.
-
Professional Communication
The course is focused on the development of those communication skills that are essential for effective functioning in the professional world. Students will study the process for analysis of different communication situations, and will accordingly comprehend them. Among the themes that will be covered are communication in organization, interpersonal and group communication, oral presentations, interviews for employment, professional business letters and interpersonal skills including group dynamics and teamwork.
Semester 2
-
[6 ECTS]
Research Methodologies
This course provides a comprehensive introduction to research methodologies, the basic research theories and protocols, and writing research proposals. Students in this course will learn about the cyclical nature of applied research and the iterative process of research writing. The course teaches students how to identify the subject of study, formulate questions, organize a literature review, and select appropriate research projects and methodologies. By the end of the course, students will complete a proposal that includes an introduction, a statement of the problem (the meaning of the study), literature review, methodology section, references, and schedule of the project.
-
[6 ECTS]
Cloud Management Infrastructure
The purpose of this module is to enable students to critically evaluate the strategic and operational aspects of the provision, implementation and management of cloud based infrastructure components. The module will enable students to analyze, design and implement reliable and optimized infrastructure environments.
-
[6 ECTS]
Human-Computer Interface for Mobile Devices
The objective of this course is to help students learn the design principles of mobile applications in order to achieve high level of usability. More specifically, students will get acquainted with the user-cantered design method, which represents the design of mobile applications based on user analysis and the context of use. Additionally, various methods of application evaluation will be learned, which will be implemented to ensure the usability of the application by the users.
-
[6 ECTS]
Elective course 2
-
Security in Cloud Environments
The course goal is to familiarize students with the complexity and ways of ensuring security in clouds. Students will be also guided and presented with the latest research topics in the field of cloud security.
Cloud services and their implementation, the effect of distributing cloud environments outside state boundaries and its security implications, current state of the art of cloud security, approaches and policies in ensuring security in cloud environments, forensics in cloud environment.
-
Cloud Application Development
After completing this course, students should:
- Know how to develop cloud applications (web and mobile applications);
- Be able to distinguish between different methods of cloud programming;
- Be able to manipulate cloud and traditional databases;
- Apply techniques of object-oriented programming;
- Implement and use cloud services
- Distinguish different cloud platforms.
-
Data Mining and Warehousing
After completing this course, students should:
- understand the basic concepts of Data Mining;
- understand the basic concepts of descriptive statistics, probability and linear algebra and their application in the data mining;
- be able to use software tools for data mining;
- be able to apply algorithms that will allow data mining;
- know how to analyze, classify, and cluster data;
- know the basic rules of numerical regression;
- be able to present results of their analyzes (data visualization and knowledge).
-
Social Web Technologies
The aim of the module:
- Understand the basic concepts for the analysis of social networks;
- Collaborate with peers, and how these methods can be applied in social networks;
- Understand the relationship between qualitative and quantitative methods of social network analysis;
- To understand how these social technologies affect society and vice versa;
-
Emerging Web and Mobile Technologies
Upon completing this course students should:
- To know what are the emerging cloud and mobile technologies;
- To have good knowledge of HTML5 and JavaScript;
- To know how to develop cross platform applications (web, mobile and desktop);
- To differentiate between native applications and web based applications for mobile devices;
- To know how to distribute web applications in mobile devices.
-
Software Defined Networking
The course will focus on the following topics:
- Introduction to Software Defined Networking as a new paradigm in computer networks, enabling a centralized software program to control the behaviour of the network.
- Separation of control logic from physical routers which direct traffic allows operators to write high level control programs specifying the behaviour of the whole network.
- Data plane in SDN, control plane in SDN, applying SDN in domains (data centres, wireless networks, and software defined radio, enterprise and campus networks, transit networks).
-
[6 ECTS]
Free elective course 2
-
Rhetoric
During its long history of 2,500 years, rhetoric was used to indicate many different things; but rhetoric nowadays is considered as the art of persuasion through language. Rhetoric marks the way that an individual is linked to a particular theme or idea in order to convince the others. Rhetoric is characterized by several distinguishing features.
-
Methodology of Teaching
The aim of the course is to introduce the students to the basic teaching approaches and methods. They are expected to gain knowledge and skills in order to be able to apply the active educational tools. The course also offers development, learning and teaching as concepts and basic practices that allow teachers to teach about the development of thinking. Throughout this course, students will gain both theoretical background and entirety of strategies that will enable them to reflect and develop both their own and their students` critical thinking.
-
Multilingualism and multiculturalism
The purpose of this subject will be multilingualism in multicultural societies as a social phenomenon. This phenomenon is massive in the world. During the lectures, more precise terms such as monoculturalism and multiculturalism will be considered. The term ‘linguistic nationalism’ has at least two forms of this nationalism, which collide with each other: for the leaders of the most powerful countries nationalism means expansion, and for minorities it takes the form of defiance and struggle for the affirmation of identity, despite such pressure. The emphasis during the program will be multiculturalism in education. In the schools curricula consists of contents from different cultures.
-
Selected Chapters of Advanced Topics in IT Applications for Preparing a Scientific Paper
Целта на овој предмет е:
- Да им се прикажат техничките елементи, структурата на текстот и дизајнот на еден научен труд.
- Да им овозможи на студентите да се стекнат со понапредни познавања и вештини од одбрани напредни поглавја од ИТ апликации кои ќе им бидат потребни при изработка на научни и стручни трудови.
- Практична примена на овие цели при изработка на индивидуален научен труд на студентот.
-
Selected Chapters of Advanced Applications for Statistical Data Processing
The aim of this subject is:
- To display the technical elements in the field of statistics: organizing, processing, comparing through analysis and publication of data.
- To enable students to acquire advanced knowledge and skills from selected advanced chapters of the applications for statistical data processing.
- Practical application of these objectives in statistical processing of data obtained from questionnaires, reports, scientific studies and other documents.
-
Professional Communication
The course is focused on the development of those communication skills that are essential for effective functioning in the professional world. Students will study the process for analysis of different communication situations, and will accordingly comprehend them. Among the themes that will be covered are communication in organization, interpersonal and group communication, oral presentations, interviews for employment, professional business letters and interpersonal skills including group dynamics and teamwork.
Semester 3
-
[6 ECTS]
Mobile and Ubiquitous Computing
This course aims to enable students to research in issues related to mobile and pervasive systems. Many traditional areas of computer science and computer engineering are affected by imitations and requirements of mobile systems and users. The course will offer e considerable amount of practical work. Students will work in small groups under the project mentor. Reliable data access, use of virtual machines, dynamic resource adaptation, hardware mobile technologies, context and location learning, security and privacy, methodologies for design and infrastructure.
-
[6 ECTS]
Cloud Storage Infrastructures
The aim of this module is to enable students to critically evaluate and assess a range of options for data storage, with a special focus on providing highly-available and reliable services for the safe and efficient storage and retrieval of information on the cloud. Students will become familiar with the design, development, implementation and management of "cloud" based environments for data storage. The student will gain a detailed insight into the practical and theoretical aspects of data storage and management of cloud. At the end the student should:
- Critically evaluate and assess current methods / techniques for data storage and management in the cloud;
- Demonstrate knowledge in the design, development, implementation and management of cloud-based databases;
- Critically analyze and evaluate the challenges of cloud data storage and their management.
-
[6 ECTS]
Business Strategies for Cloud Computing
The objective of this module is to enable students to conduct independent research, analysis and evaluation in the business sector, based on knowledge of the cloud technology and the business environment. Students will develop strategies for managing and development of business operations, while critically evaluating business cases for migration to cloud computing environment.
-
[6 ECTS]
Elective course 3
-
Android Mobile Application Development
The purpose of this course is to help students to learn the principles and technologies for design and implementation applications for Android devices. Student skills will focus on development of effective GUI, application structure, network databases, video, GPS sensors and touch screen applications for Android mobile devices. Students will practice GUI design for multi-touch screens and making usability testing.
-
Grid Computing
The aim of this course is to help students understand what is Grid computing, why it is important and how such systems work, i.e. what Grid systems can do today and what is their potential in the future. Students will gain an overview of the fundamental concepts of Grid Computing, become aware of the benefits of deploying Grid Computing systems and what are the practical possibilities of developing Grid systems through real-life case scenarios.
-
Agent Based Intelligent Systems
The purpose of the course is to familiarize students with the principles and the structure of intelligent systems based on agents. Students will become aware of the topics on intelligent systems based on agents and the different types of agents (agents for problem solving, knowledge-based agents, probabilistic agents, agent communication, and agents based on perception and logic) and multi-agent systems. In this course students are introduced to the modelling and design of intelligent systems based on agents, their communication and negotiation algorithms to search multi-agent institutions, coordination between agents and negotiation, rational decision making, and search algorithms for agents.
-
Computation Intelligence Tools
The purpose of the course is to help students learning the principles and technologies of intelligent systems. Students will become aware of the topics on intelligent and adaptive computing systems: representation of knowledge, knowledge structures, declarative representations, precise and imprecise logic and their management, models of real systems, matrix notation, and Petri nets.
-
Web Authoring Principles
The course goal is to achieve advanced skills in designing and developing websites using latest writing tools and Technologies, creation of functional websites with all necessary elements for their maintenance,
CGI, JavaScript, cookies, XHTML, WYSIWYG writing programs (coding and design), Dreamweaver page structure, using dynamic capabilities of Dreamweaver for writing websites, using forms, assets, libraries and templates, resolution and browsers, typography, analysis of effective and ineffective design, and animations.
-
Computer Graphics and Motion
Upon completing this course students should:
- Know basic principles of computer graphics and 3D modelling;
- Know basic mathematical concepts of computer graphics;
- Know how to use tools for 3D programming and modelling;
- Have working knowledge of OpenGL, Maya / Blender and WebGL;
- Know how to implement and develop projects in 3D graphics.
-
[6 ECTS]
Elective course 4
-
Android Mobile Application Development
The purpose of this course is to help students to learn the principles and technologies for design and implementation applications for Android devices. Student skills will focus on development of effective GUI, application structure, network databases, video, GPS sensors and touch screen applications for Android mobile devices. Students will practice GUI design for multi-touch screens and making usability testing.
-
Grid Computing
The aim of this course is to help students understand what is Grid computing, why it is important and how such systems work, i.e. what Grid systems can do today and what is their potential in the future. Students will gain an overview of the fundamental concepts of Grid Computing, become aware of the benefits of deploying Grid Computing systems and what are the practical possibilities of developing Grid systems through real-life case scenarios.
-
Agent Based Intelligent Systems
The purpose of the course is to familiarize students with the principles and the structure of intelligent systems based on agents. Students will become aware of the topics on intelligent systems based on agents and the different types of agents (agents for problem solving, knowledge-based agents, probabilistic agents, agent communication, and agents based on perception and logic) and multi-agent systems. In this course students are introduced to the modelling and design of intelligent systems based on agents, their communication and negotiation algorithms to search multi-agent institutions, coordination between agents and negotiation, rational decision making, and search algorithms for agents.
-
Computation Intelligence Tools
The purpose of the course is to help students learning the principles and technologies of intelligent systems. Students will become aware of the topics on intelligent and adaptive computing systems: representation of knowledge, knowledge structures, declarative representations, precise and imprecise logic and their management, models of real systems, matrix notation, and Petri nets.
-
Web Authoring Principles
The course goal is to achieve advanced skills in designing and developing websites using latest writing tools and Technologies, creation of functional websites with all necessary elements for their maintenance,
CGI, JavaScript, cookies, XHTML, WYSIWYG writing programs (coding and design), Dreamweaver page structure, using dynamic capabilities of Dreamweaver for writing websites, using forms, assets, libraries and templates, resolution and browsers, typography, analysis of effective and ineffective design, and animations.
-
Computer Graphics and Motion
Upon completing this course students should:
- Know basic principles of computer graphics and 3D modelling;
- Know basic mathematical concepts of computer graphics;
- Know how to use tools for 3D programming and modelling;
- Have working knowledge of OpenGL, Maya / Blender and WebGL;
- Know how to implement and develop projects in 3D graphics.
Semester 4
-
[30 ECTS]
Master Thesis
This module enables students to transfer their skills and knowledge to research and make more complex task of the master thesis. The module is designed to be fully practical and students to acquire the necessary knowledge and skills to approach writing the thesis. The module has unique return result-to enable students to write the master thesis with minimal difficulties, and with maximum efficiency. The course aims to improve research techniques and style of writing paper, taking account to stop illegal means, such as plagiarism and infringement of copyright, which are prohibited by the Statute of SEEU.