-
[EM575] Programming in Java
Aims of the course program: To provide students regarding Java programming language with a deep, critical and systematic understanding of the principles and techniques for programming effective software applications. This course introduces fundamental structures and object-oriented programming concepts and techniques, using Java, and is intended for all who plan to use computer programming in their studies and careers.
-
[EM576] Programming in .NET
This course introduces students to key concepts, real-world applications, and latest features of C# and .NET with hands-on exercises using Visual Studio. They will learn object-oriented programming core concepts, writing, testing, and debugging functions, implementing interfaces, and inheriting classes. The course will cover the .NET APIs for performing tasks like managing and querying data, monitoring and improving performance. At the end of the course, the students will be able to build and deploy cross-platform apps, such as websites and services using ASP.NET Core.
-
[EM577] Cryptography
Introduces students to the compelling and evolving field of cryptography. In an age of viruses and hackers, electronic eavesdropping, and electronic fraud on a global scale, security is paramount. The purpose of this course is to provide a practical survey of both the principles and practice of cryptography. The first part of the course explores the basic issues to be addressed by a security capability and provides a tutorial and survey of cryptography and security technology. The latter part of the course deals with the practice of network security, covering practical applications that have been implemented and are in use to provide network security.
-
[EM578] Programming in Python
The aim of this course is to introduce core Python programming basics, including data types, control structures, algorithm development, program design with functions and the fundamental principles of Object-Oriented Programming. In this course students will solve problems, explore real-world software development challenges, and create practical and contemporary applications using web development frameworks.
-
[EM579] Mobile Applications Development
Course aims:
1. To facilitate students to understand android SDK
2. To help students to gain a basic understanding of Android application development
3. To inculcate working knowledge of Android Studio development tool
-
[EM580] Game Programming
Course aims:
• To study of basic game development principles both in 2D and 3D Worlds
• To ensure that students will know how to create and use various games objects
• To ensure that students will understand user interaction
• Study of game data structures and game physics
• Learn about programming and creating detailed code for game projects
• Basic artificial intelligence concepts
-
[EM581] Parallel Processing
This course is intended for students interested in the efficient use of modern parallel systems ranging from multi-core processors to large-scale distributed memory clusters. The course covers theoretical principles of parallel computing as well as different parallel programming techniques. It begins with a survey of common parallel architectures and types of parallelism and follows with an overview of formal approaches to assess scalability and efficiency of parallel algorithms and their implementations. In the second part, the course focus is on selected parallel programming techniques and APIs, including shared address space, many-core accelerators, distributed memory clusters and big data analytics platforms. Each component of the course involves solving practical problems on a corresponding parallel architecture.
-
[EM582] Е-commerce
- To develop strategic, administrative, and operational planning for new businesses, or to improve existing ones with their technologies.
- Develop knowledge about the basics of E-Commerce, which are made possible by new Information Technologies
- They recognize the need for the organization to continuously adapt to the changes occurring in the current business atmosphere.
- Discover opportunities in the environment so that you can apply them in valid innovations and do business.
- Analyze business to identify internal and external factors that can be modified to be able to move to an electronic business model.
- Develop strategic, administrative, and operational planning for a new, or already existing business by establishing strategies that use information technology in the most important business processes, in order to improve their current operation and turn it into a competitive advantage.
- Develop an analytical and technical foundation to understand the unpredictable world of e-commerce, by sharing three domains:
o Economics: business plan, electronic banking and money, marketing and advertising, customer relationship management
o Sociology: secrecy, protection of intellectual property, laws and regulatory initiatives
o Technology: Internet infrastructure, network security, web services, mobile commerce network security, services, mobile commerce
-
[EM583] Computer Network Management (After Comp. Networks)
In this course students will study the principles and practice of systems administration and management, analyzing and designing networks in a real lab environment. Students will use cloud servers and virtualized machines to explore the efficiency and security of your systems and get insights into the practices of industry companies like Cisco. Coursework includes design, installation, configuration and management of local- and wide-area network hardware and software.
-
[EM574] NoSQL Databases
The course is a continue with extension of the knowledge in field of databases. The focus is addressed in NoSQL databases and help the student to complete its knowledge puzzle with the various database technologies. It starts with some concepts, principles and taxonomies in field on NoSQL databases and continue with NoSQL database technologies of different types. The course covers: the principles behind the NoSQL databases, modern distributed database theory, indexing and MapReduce programming model; architectures and common features of the main types of NoSQL databases (key-value stores, document databases, column-family stores, graph databases); explains of selected NoSQL database systems including practical experience; and other topics related to NoSQL databases. At the end of this course, students should be able to:
• Understand NoSQL databases and technologies.
• Understand distributed database systems and theory,
• Understand indexes, MapReduce programming model,
• Understand main types of NoSQL databases based on key-value stores, document stores,
column-family stores and graph stores, and
• Understand the difference between relational and NoSQL databases and important of use.
-
[EM584] Mobile and Wireless Networks
The goal of the course is to provide students with fundamental knowledge into core concepts of the latest and next generation mobile and wireless networks. Throughout the course, students will be exposed to theoretical and practical aspects regarding the architecture and applications of Cellular, LTE, and 4G/5G systems. In addition, basic concepts of Wireless LAN (WLAN), sensor networks (IoT), Mobile Peer-to-Peer (MP2P), and emerging opportunistically connected mobile/vehicular networks (MANET and VANET), will be explored.
-
[EM585] IT Professional Ethics
This course provides a comprehensive overview of the current ethical issues we face in the use of information technology (IT). It examines an array of long-standing and emerging issues facing IT users ranging from free speech, privacy, intellectual property, hacking, and the digital divide, to ethics in social networking and online communities. The course discusses the ethical dilemmas and responsibilities of IT users, and promotes the critical examination and responsible use of IT.
-
[EM586] Digital Logic Design and Simulation
This course provides students with a comprehensive overview of the fundamental concepts of classical digital design and demonstrates how digital circuits are designed and analyzed today. The aim is to introduce students to the modern digital hardware hierarchy and enlighten them with the most up-to-date computer hardware design methodologies. Also, the course content gives students a basic idea of how to design and simulate logic circuits and practically implement such circuits.
-
[EM587] Numerical Methods
This module is designed such that it can provide students with the basic concepts and methods from numerical computing. The primary intent is to provide students with a sound introduction to the numerical methods. They have a big application in solving different problems which can be solved just by using the computers, therefore solving numerical problems will help students not just to apply them in different other areas, but simply it will help them to become better computer scientists. After e brief look at the ways the numbers are placed and manipulated in computers we will deal with fundamental computational problems, such are solving the equations, system of equations followed by an approximation theory. We will deal with the accuracy of numerical solutions and also the aim is to evaluate the functions, numerical differentiation and integration.
-
[EM588] Internet of things
The goal of the course is to provide students with fundamental knowledge into core concepts of the Internet of Things. Throughout the course, students will be exposed to theoretical and practical aspects regarding the architecture and applications of sensor networks and 4G/5G systems. Students will be able to use learned concepts through analysis of architectures and computer communication technologies for wireless Internet applications in the most diverse domains such as: smart environments, industrial and home networks of devices, as well as application in sensor and actuator networks.
-
[EM572] Introduction to Artificial Intelligence
Introduction to the basics of artificial intelligence, intelligent agents, techniques for presenting knowledge and intelligent search and decision-making, game theory, formal logic, probability, and logical reasoning systems, learning by observation, training of neurons and learning stimulation. Also, students will be familiar with the basic concepts of LISP.
-
[EM589] Cybersecurity
In Cybersecurity, introduces the technology, operational procedures, and management practices needed for successful cybersecurity. Makes extensive use of standards and best practices documents that are often used to guide or mandate cybersecurity implementation. Going beyond these, he offers in-depth tutorials on the “how” of implementation, integrated into a unified framework and realistic plan of action. Each chapter contains a clear technical overview, as well as a detailed discussion of action items and appropriate policies. Cybersecurity aligns with the comprehensive Information Security Forum document “The Standard of Good Practice for Information Security,” extending ISF’s work with extensive insights from ISO, NIST, COBIT, other official standards and guidelines, and modern professional, academic, and industry literature.
-
[EM573] Introduction to Information Systems
Course aims:
1. To learn the basic concepts and the terminology of Information Systems
a. Basic Information Systems concepts: hardware, software, networks
b. E-World: e-business and e-commerce
c. Developing Processes
2. To learn about the Information Systems and technologies that improve business values and various processes inside organizations.
3. Applying concepts with various managing disciplines, during analysis, interpretation, assessments and decisions.
4. Understand the process of redesigning organizations using information systems.
5. Describe the role of information systems in decision making.
6. Examine information security, ethical, and social issues.
7. Be familiar with the Internet, electronic commerce, and e-business.
8. Prepare students to work on small scale projects, individual or group work, who by nature could fall into these categories: case studies, scientific research project, development projects or internship projects.
-
[E2802] Business Analytics
Business Analytics teaches the fundamental concepts of modern business analytics and provides vital tools for understanding how data analysis works in today's organizations. The course takes a comprehensive approach, examining business analysis from both descriptive and predictive perspectives. Students learn how to apply fundamental principles, communicate with analytics professionals, and effectively use and interpret analytics models to make better business decisions. As tools, among others, Excel will be used, strengthening the students' skills in the program and the basic understanding of the basic concepts. Additionally, Analytic Solver as well as commercial data-mining tools will be used so that students are prepared to use these same tools when they graduate.