Computer Science (CS) Graduate Courses
See Course & Instructor Information for current offerings and syllabus listings.
6302 Advanced Operating Systems (3-0). Review of operating systems concepts. Distributed operating systems, synchronization, communication, file systems, and memory sharing.
6306 Software Engineering (3-0). Introduction to the methods and tools for the requirements analysis and design stages of software life cycles. Discussion of software requirements including elicitation, modeling notations, analysis, and documentation. Brief overview of process models and project management. Architectural styles in software systems, design methods, design patterns and reverse engineering. Open source software development. Software licenses. Ethical issues.
6308 Ethical Issues in Computing (3-0). Ethical issues in software development. Ethical responsibility of ensuring software correctness, reliability, safety, and security. Professional development, certification, code of ethics, conduct and practice. Accountability, responsibility and liability of professional software development.
6311 Advanced Database Systems (3-0). A comprehensive introduction to modern database management systems. Spatial, temporal, and multimedia databases. Core concepts and fundamentals of high-performance transaction processing systems (OLTP) and large-scale analytical systems (OLAP). Web data management. NoSQL systems. Review of other contemporary database systems.
6312 Advanced Web Technologies (3-0). Review of modern web technologies. Web application development frameworks. Client-side and server-side web development. Integration with databases. Usability, efficiency, performance of web applications.
6314 Computer Networks (3-0). Modern computer networks with emphasis on protocols, architectures and implementation issues in the internet.
6315 Computer and Network Security (3-0). A comprehensive review of security risks and threats to computer systems and networks. Review of components used in an enterprise security infrastructure. Advanced topics in the security of enterprise networks and systems.
6316 Data Security (3-0). Fundamental concepts in data security, including cryptography, digital forensics, digital integrity and authentication, access control, secure communication protocols, cryptanalysis, data privacy. Information storage security.
6317 Software Security (3-0). Fundamental principles of software security. Security requirements and their role in software requirement analysis, design, and implementation. Static and dynamic testing. Ethical issues in secure software development.
6318 Artificial Intelligence (3-0). A comprehensive introduction to artificial intelligence. Fundamental concepts and techniques of intelligent systems. Agents and environment. Agent types. Problem solving by searching and search techniques. Knowledge-based agents. Reasoning. First-order logic. Decision making. Learning.
6319 Machine Learning (3-0). A survey of machine learning techniques, including traditional statistical methods, resampling techniques, model selection and regularization, tree-based methods, principal components analysis, cluster analysis, artificial neural networks, and deep learning. Implementing machine learning models with open-source software. Learning from data, finding underlying patterns useful for data reduction, feature analysis, prediction, and classification.
6320 Data Mining (3-0). Algorithmic and practical aspects of discovering patterns and relationships in large databases. Hands-on experience in data analysis, clustering and prediction. Data preprocessing and exploration, data warehousing, association rule mining, classification and regression, clustering, anomaly detection, human factors and social issues in data mining.
6321 Deep Learning (3-0). Introduction to neural networks. Feedforward multilayer neural networks. Convolutional neural networks, autoencoders, recurrent neural networks and long short-term memory models. Practical strategies to improve the performance of deep models, such as regularization, data augmentation, pre-training, dropout, multi-task learning and advanced optimization methods. Applications of deep learning.
6322 Image Processing (3-0). Introduction to digital image processing techniques for enhancement, compression, restoration, reconstruction, and analysis. 2-D signals and systems, image analysis, image segmentation; achromatic vision, color image processing, color imaging systems, image sharpening, interpolation, decimation, linear and nonlinear filtering, printing and display of images; image compression, image restoration, and tomography.
6323 Multimedia Systems (3-0). Introduction to multimedia, signals and waves, analog and digital data, sampling and quantization. Digital audio, data compression. Image data representation, image file formats. Video data and compression standards. Streaming multimedia. Multimedia data management systems.
6325 Robotics (3-0). State-of-the-art robot systems, including their sensors and an overview of sensor processing. Robot control architectures. World modelling and world models. Localizing and mapping, navigation and control, motion planning, multiple-robot coordination.
6330 Data Science (3-0). The fundamental concepts and applications of data science. Advanced tools and techniques for the extraction and utilization of information from data; making data-driven inferences and decisions; and effective communication results. Learning data manipulation, data analysis with statistics and advance machine learning algorithms, data communication with information visualization, working with big data using scalable processing techniques.
6335 Big Data (3-0). Big data concepts, its differences from the traditional data and traditional data processing techniques. Storing, indexing, accessing and processing techniques for big data. Map/Reduce algorithm and related technologies. Data analysis and application development in big data ecosystem.
6337 Semantic Web (3-0). Next generation web. Web of data and knowledgebases. Efficient management and use of web data. Metadata standards, XML, RDF, OWL and metadata processing; ontologies, semantic web applications.
6338 Knowledge Engineering (3-0). Knowledge representation. Developing knowledge-based systems, intelligent applications and agents. Graph databases for semantic networks. Encoding and accessing knowledge on the Web. Using knowledgebases for automated reasoning and question answering.
6352 Analysis of Algorithms (3-0). Analysis of algorithms for sorting, searching, sets, matrices, etc.; designing efficient algorithms for data structures, recursion, divide-and-conquer, dynamic programming; nondeterminism, NP-completeness and approximation algorithms.
6371 Computer Game Development (3-0). Design and implementation of computer games, developing real-time graphics, audio and interactive multimedia programming techniques with an emphasis on performance, memory management, source code management, game engine optimization.
6372 Advanced Computer Game Development (3-0). Game design. Rapid prototyping. Data structures and algorithms for games. Game pipeline processes, design patterns. High performance computing, GPU/parallel programming, algorithm design, cross-platform development, memory management. Network for games.
6399 Project (3-0). A semester-long project conducted by the student individually under the guidance of an academic supervisor. This project gives students the chance to investigate a computer science topic possibly in the academic advisor’s research area, and develop a solution or software, and assess a problem computationally, report and present the outcomes professionally.
6999 Thesis (9-0). A year-long research conducted by the student individually under the guidance of an academic supervisor. This thesis study gives students the chance to investigate a computer science research topic in the academic advisor’s research area or interest, and develop a new method and assess the solution, report and present the outcomes professionally.