Computer Science (CS)
Design and analyze structure of major hardware components of computers including: ALU, instruction sets, memory hierarchy and caching, parallelism through multicore and many core, GPGPUs, storage systems and interfaces.
Learn how to develop highly optimized applications for multi-core processors and clusters using software tools, parallel algorithms, performance profilers, and programming constructs in MPI, OpenMP, MapReduce, CUDA, and OpenCL.
Study of computational algorithms and programming techniques for various bioinformatics tasks including parsing DNA files, sequence alignments, tree construction, clustering, species identification, principal component analysis, correlations, and gene expression arrays.
This course introduces advanced topics in database systems including distributed systems, distributed databases, Big Data, cloud service, semantic web, web services, information security & privacy, and electronic commerce.
The course covers advanced topics in Python programming including the use of parallel computation and GPU acceleration and investigate how to exploit frameworks such as Hadoop and Spark.
The design of systems containing embedded computers. Micro-controller technology, assembly language and C programming, input/output interfacing, data acquisition hardware, interrupts, and timing. Real-time operating systems and application programming. Application examples.
Covers (1) the process of knowledge discovery, (2) algorithms (association rules, classification, and clustering), and (3) real-world applications. Focuses on efficient data mining algorithms and scaling up data mining methods.
Study of mathematical techniques and algorithms for image sampling, quantization, intensity transformations, spatial filtering, Fourier transforms, frequency domain filtering, restoration and reconstruction, color imaging, wavelets, morphological image processing, and segmentation.
Study of theory and algorithms for modeling and retrieving text. Text representation, IR models, query operations, retrieval evaluation, information extraction, text classification and clustering, enterprise and Web search, recommender systems.
Fundamental algorithms and computational models for core tasks in natural language processing: word and sentence tokenization, parsing, information and meaning extraction, spelling correction, text summarization, question answering, and sentiment analysis.
Study of emerging and advanced topics in Computer Science. Topics vary with instructor and change from one semester to another.
Study of emerging and advanced topics in Computer Science. Topics vary with instructor and change from one semester to another.
Study of emerging and advanced topics in Computer Science. Topics vary with instructor and change from one semester to another.
Study of emerging and advanced topics in Computer Science. Topics vary with instructor and change from one semester to another.
This course introduces modern web technologies and covers the concepts, practices, and technologies to design, develop, and manage scalable, reliable and secure web applications using client side and server side programming, mobile technology, web services, rest services, and cloud services that are accessible to a large number of users.
This course covers the Internet of Things (IoT) Technologies. The course includes advanced topics in wireless networking technologies, mobile networks, software and hardware design for IoT applications and systems. In addition, this course offers advanced topics in cybersecurity.
Study of emerging and advanced topics in Cloud Computing including theory and application development in cloud and understand the ways of increasing quality of services for hosted applications.
Study of software specification and verification technologies that facilitate: semantic reasoning; and verification of development artifacts including functional models, architecture, and source-code implementations.
Study of approaches to software design that meet availability, manageability, maintainability, performance, reliability, scalability, and securability goals. Emphasis is on object-oriented analysis and design, design patterns and metrics.
Study of methods and tools to design high quality tests during all phases of software development. Topics include test design, test automation, test coverage criteria, and how to test software.
Study of clustering, graph-theoretic, genetic, probabilistic and randomized algorithms and their application to machine learning, data streams, data mining, computer vision, natural language processing, information retrieval, and bioinformatics.
Study of machine learning and statistical pattern recognition algorithms and their application to data mining, bioinformatics, speech recognition, natural language processing, robotic control, autonomous navigation, text and web data processing.
Study of machine learning and statistical pattern recognition algorithms and their application to data mining, bioinformatics, speech recognition, natural language processing, robotic control, autonomous navigation, text and web processing.
Study of advanced algorithms, data structures, and architectures required for solving complex problems in Bioinformatics. Focus is on analysis of patterns in sequences and 3D-structures. Team taught seminar course.
Study of emerging and advanced topics in Computer Science. Topics vary with instructor and change from one semester to another.
Study of emerging and advanced topics in Computer Science. Topics vary with instructor and change from one semester to another.
Study of emerging and advanced topics in Computer Science. Topics vary with instructor and change from one semester to another.
Study of emerging and advanced topics in Computer Science. Topics vary with instructor and change from one semester to another.
Learn high performance computing architectures and methods for developing and querying databases for Big Data.
Study of approaches, algorithms, and tools for Big Data exploration, analysis, and interpretation to enable novel discoveries and innovation. Integrating analytic capabilities of computers and domain knowledge of human analysts.
Investigate a research problem of theoretical interest and practical value under mentorship of a computer science faculty.
Pursue faculty supervised, individualized course of study of a topic which is not currently a part of the Computer Science graduate curriculum.
Pursue faculty supervised, individualized course of study of a topic which is not currently a part of the Computer Science graduate curriculum.
Pursue faculty supervised, individualized course of study of a topic which is not currently a part of the Computer Science graduate curriculum.
Pursue faculty supervised, individualized course of study of a topic which is not currently a part of the Computer Science graduate curriculum.
Develop expertise in an emerging area of computer science through guided study under faculty mentorship.
Supervised work experience in computer science or related fields.