Implementation and application of the essential data structures used in computer science. Analysis of basic sorting and searching algorithms and their relationship to these data structures. Particular emphasis is given to the use of object-oriented design and data abstraction in the creation and application of data structures.
An introduction to machine learning concepts and algorithms, including classification, clustering, and regression. Topics include k-means clustering, nearest neighbors classification, decision trees, naive Bayes, logistic regression, support vector machines, and neural networks.
Discussion of the impact of computing technology on present and future society. Historical development of the computer. Social issues raised by computing and AI.
In this course, we will examine the security and privacy issues in the vast implementations of Cyber-physical systems (CPS). According to the definition, CPS refers to a system that has both physical and software components, and they are all controlled or monitored by computer-based algorithms. CPS, or IoT systems touch many aspects of life, including transportation, health care, safety, environment, energy, and more. We will examine how existing security mechanisms can be applied to the CPS system, why such protections are not enough, and study the trend of security system design in the area. In addition, we will examine and discuss CPS/IoT technology and market specific topics, relevant case studies of system security vulnerabilities and attacks, and mitigation controls.
Deep neural networks form an important sub-field of machine learning that is responsible for much of the progress in in cognitive computing in recent years in areas of computer vision, audio processing, and natural language processing. The course will focus on mathematical concepts, numerical algorithms, principles, GPU frameworks, and applications of deep learning. Topics include deep feedforward networks, convolutional networks, sequence modeling, transformers, and deep generative models with applications to data analysis, computer vision, and natural language processing.
Introducing fundamental problems in machine learning and providing understanding of techniques, mathematical concepts, and algorithms used in machine learning. Topics include introduction, regression, kernel methods, generative learning, discriminative learning, neural networks, support vector machines, graphical models, unsupervised learning, and dimensionality reduction.