Course Name |
Class Description |
Introduction to Industry4.0 |
This course will explore Industry 4.0 related cases which connect companies and countries ever more tightly together. An introduction of Industry 4.0 technologies will be studied, along with their practical implications and use in a globalized environment. |
Logical Thinking and Basic Mathematics |
This course is to provide students with logical thinking and basic capability of dealing with mathematics required for SW engineering. The course basically recaps high school mathematics. |
Mathematics for SW Engineering |
This course is about the mathematics that is most widely used in the mechanical engineering core subjects: An introduction to calculus, linear algebra, complex analysis, numerical analysis, optimization, probability, and statistics. |
Introduction to Computing System |
This course provides the student with knowledge about hardware, software and data management systems. The student is provided experience with an operating system environment, application software including productivity tools, and the use of the internet to communicate and search for information. |
Introduction to Data Structure |
Explores methods of design, write, and analyze the performance of programming language source code that handle structured data and perform more complex tasks, typical of larger software projects development. Students acquire skills in using generic principles for data representation and manipulation with view for efficiency, maintainability, and code re-use. |
Freshmen Capstone Project |
Students who take this course will be expected to plan, research and carry a term project on a topic of their own choice. Students will not be required to attend a regularly scheduled class, but must meet with a faculty advisor who will supervise and grade the student’s work. |
Algorithm |
In this course, we will take an in depth look at programming concepts and techniques. We will examine theoretical concepts that make the world of programming unique. We will explore problem solving strategies, and apply these techniques to solving moderately complex problems. We will create pseudocode, flowcharts, and programs to supplement the theoretical foundations. |
Introduction to Database |
The course, Database Management Systems, provides an introduction to the management of database systems. The course emphasizes the understanding of the fundamentals of relational systems including data models, database architectures, and database manipulations. The course also provides an understanding of new developments and trends such as Internet database environment and data warehousing. The course uses a problem-based approach to learning. |
Object Oriented Programming |
The main aim of the course is the object-oriented design and programming in Python. The course is dedicated to the overview of OOD & OOP paradigm, its' methodology and its' applications in the field of software design. While the major emphasis is on the study of fundamental concepts of OOP: abstraction, encapsulation, modularity and data hierarchy through inheritance, the course also attempts to draw attention to polymorphism and typing, parallelism, stability and other significant concepts and features of OOP methodology. |
SW Engineering |
This course introduces students to fundamental software engineering concepts and current practices by covering software development activities associated with the entire software development lifecycle, including ethical and legal issues. Concepts and practices are applied through the collaborative, incremental, and iterative development of a comprehensive software system for a variety of hardware platforms and software clients, and with the support of professional integrated development environments, version control, and project tracking tools. |
Introduction to Data Analytics |
Introduction to data analytics introduces you to the basics of data science and data analytics for handling of massive databases. The course covers concepts data mining for big data analytics, and introduces you to the practicalities of map-reduce while adopting the big data management life cycle. |
Operating System |
This course is an introduction to personal computer operating systems including installation, configuration, file management, memory and storage management, control of peripheral devices, and use of utilities |
Introduction to Machine Learning |
In this course we intend to introduce some of the basic concepts of machine learning from a mathematically well motivated perspective. We will cover the different learning paradigms and some of the more popular algorithms and architectures used in each of these paradigms. |
Principles of Data Science |
This course will introduce students to this rapidly growing field and equip them with some of its basic principles and tools as well as its general mindset. Students will learn concepts, techniques and tools they need to deal with various facets of data science practice, including data collection and integration, exploratory data analysis, predictive modeling, descriptive modeling, data product creation, evaluation, and effective communication. The focus in the treatment of these topics will be on breadth, rather than depth, and emphasis will be placed on integration and synthesis of concepts and their application to solving problems. |
Deep Learning |
This course is an introduction to deep learning, a branch of machine learning concerned with the development and application of modern neural networks. Deep learning algorithms extract layered high-level representations of data in a way that maximizes performance on a given task. |
Big data platform |
HDFS, the Hadoop Distributed File System, is a distributed file system designed to hold very large amounts of data (terabytes or even petabytes), and provide high-throughput access to this information. Files are stored in a redundant fashion across multiple machines to ensure their durability to failure and high availability to very parallel applications. This module introduces the design of this distributed file system and instructions on how to operate it. |
Embedded and Network SW for IoT |
This course is about the importance of IoT in society, the current components of typical IoT devices and trends for the future. IoT design considerations, constraints and interfacing between the physical world and your device will also be covered. Students will also learn how to make design trade-offs between hardware and software. The course will also cover key components of networking to ensure that students understand how to connect their device to the Internet. |
Principles of Blockchain Technology |
This course covers in detail the technical principles & concepts behind blockchain. In addition, it seeks to provide student with the insights and deep understanding of the various components of blockchain technology and enables to determine to best leverage and exploit blockchain for future technology |
Reinforcement Learning |
This course provides an introduction to some of the foundational ideas on which modern reinforcement learning is built, including Markov decision processes, value functions, Monte Carlo estimation, dynamic programming, temporal difference learning, eligibility traces, and function approximation. This course will develop an intuitive understanding of these concepts (taking the agent’s perspective), while also focusing on the mathematical theory of reinforcement learning. Programming assignments and projects will require implementing and testing complete decision-making systems. |
Advanced Big Data Tools |
Hadoop is an open source distributed processing framework which is at the center of a growing big data ecosystem. Used to support advanced analytics initiatives, including predictive analytics, data mining and machine learning applications, Hadoop manages data processing and storage for big data applications and can handle various forms of structured and unstructured data. |
Introduction to Web Analytics |
This course explores the impending revolution in digital analytics, one that has the potential to change both the Web analytics and business intelligence fields. Students will study Web Analytics (Adobe Analytics and Google Analytics), Audience Intelligence (ComScore MyMetrix, PlanMetrix). Additional platforms and subject areas are included that explore customer intelligence. The class will also examine newer Ad-Tech such as Programmatic Trading, The Internet of Things, Various Social Medias, Viral Marketing, Geolocation tracking, iBeacons and Convergence Analytics. |
Image and Signal Processing |
This course is designed to give undergraduate students all the fundamentals in 2-D digital image processing with emphasis in image processing techniques, image filtering design and application with an intuitive and practical understanding of the fundamental concepts of signal processing. |
Computer Vision |
This course will cover methods in image processing and computer vision, with an emphasis on the state of the art techniques currently used in academia and industry. Topics will include image filtering, edge detection, corner detection, segmentation, object\image\face classification, object detection, morphological operators, object tracking, camera calibration, image registration, and activity classification. Students are expected to have some familiarity with college level calculus, linear algebra, and basic probability and statistics (conditional probability, mean, variance, etc.). There will be an extensive amount of computer programming in the course. |
Natural Language Processing |
This course is designed to introduce students to the fundamental concepts and ideas in natural language processing (NLP), and to get them up to speed with current research in the area. It develops an in-depth understanding of both the algorithms available for the processing of linguistic information and the underlying computational properties of natural languages. Word level, syntactic, and semantic processing from both a linguistic and an algorithmic perspective are considered. The focus is on modern quantitative techniques in NLP: using large corpora, statistical models for acquisition, disambiguation, and parsing. Also, it examines and constructs representative systems |
Cloud platform |
The course presents a top-down view of cloud computing, from applications and administration to programming and infrastructure. Its main focus is on parallel programming techniques for cloud computing and large scale distributed systems which form the cloud infrastructure. The topics include: overview of cloud computing, cloud systems, parallel processing in the cloud, distributed storage systems, virtualization, security in the cloud, and multicore operating systems. |
Cloud solution practice |
This course provides a hands-on comprehensive study of Cloud concepts and capabilities across the various Cloud service models including Infrastructure as a Service (IaaS), Platform as a Service (PaaS), Software as a Service (SaaS), and Business Process as a Service (BPaaS). IaaS topics start with a detailed study the evolution of infrastructure migration approaches from VMWare/Xen/KVM virtualization, to adaptive virtualization, and Cloud Computing / on-demand resources provisioning. Mainstream Cloud infrastructure services and related vendor solutions are also covered in detail. PaaS topics cover a broad range of Cloud vendor platforms including AWS, Google App Engine, Microsoft Azure, Eucalyptus, OpenStack and others as well as a detailed study of related platform services such as storage services that leverage Google Storage, Amazon S3, Amazon Dynamo, or other services meant to provide Cloud resources management and monitoring capabilities |
Advanced topics in data science |
The goal of this course is to introduce students to some foundations behind these methods, with a certain emphasis on the Bayesian framework, expose them to and discuss research literature, and practice the skills needed for applying and presenting novel research. |
Advanced web analytics |
The course will cover machine learning techniques to mine the Web and other information networks, social networks, and social media. We will discuss applications to search, retrieval, classification, and recommendation. Various models to explain the dynamics of Web processes will also be emphasized. |
3D Modeling and Simulation |
Fundamentals and techniques for designing and using simulation, modeling, and optimization algorithms with applications in system performance modeling, business infrastructure modeling, and distributed and parallel computing. An introduction to advanced complex systems models. |
Advanced Topics in Machine Learning |
The course presents the elements of kernel-based methods from a machine learning perspective. It introduces the theoretical basis for studying these methods (theory of positive definite kernels, associated reproducing kernel Hilbert spaces and techniques to construct kernel functions) and present selected topics in this area. This includes learning algorithms such as regularization networks, support vector machines, kernel principal component analysis, kernel canonical correlation analysis, anomaly detection, etc., as well as a discussion of the value of these algorithms for applications. The material is primarily based on a recent book and on research publications. |
Advanced Topics in HCI |
This course is an introduction to the field of human-computer interaction with a focus on the design and evaluation of the interfaces to information systems. Students will be introduced to the topics of interaction design, describing user competencies, defining user requirements, user interface design and evaluating interaction success. In addition, they will gain hands-on experience with user interviewing and user interface design specifications and test construction. |