Students use a popular cross-platform game engine to create VR environments. An introduction to information retrieval including indexing, retrieval, classifying, and clustering text and multimedia documents. Introduction to Data Management. Introduction to the design of databases and the use of database management systems DBMS for applications.
Topics include entity-relationship modeling for design, relational data model, relational algebra, relational design theory, and Structured Query Language SQL programming. Same as EECS Project in Databases and Web Applications. Introduces students to advanced database technologies and Web applications. Principles of Data Management. Covers fundamental principles underlying data management systems. Content includes key techniques including storage management, buffer management, record-oriented file system, access methods, query optimization, and query processing.
Survey of modern data management and analysis technologies beyond relational SQL database management. Computer Science Majors have first consideration for enrollment. Next Generation Search Systems.
Discusses concepts and techniques related to all aspects of search systems. After considering basic search technology and the state-of-art systems, rapidly developing techniques for multimedia search, local search, event-search, and video-on-demand are explored. Restriction: Upper-division students only. Parallel and Distributed Computing. Parallel and distributed computer systems. Parallel programming models.
Common parallel and distributed programming issues. Specific topics include parallel programming, performance models, coordination and synchronization, consistency and replication, transactions, fault tolerance. Computer network architectures, protocols, and applications.
Internet congestion control, addressing, and routing. Local area networks. Multimedia networking. Restriction: Computer Engineering Majors have first consideration for enrollment. Advanced Computer Networks. Fundamental principles in computer networks are applied to obtain practical experience and skills necessary for designing and implementing computer networks, protocols, and network applications. Various network design techniques, simulation techniques, and UNIX network programming are covered.
Computer and Network Security. Overview of modern computer and networks security, attacks, and countermeasures. Authentication, identification, data secrecy, data integrity, authorization, access control, computer viruses, network security.
Also covers secure e-commerce and applications of public key methods, digital certificates, and credentials. Internet Applications Engineering.
Concepts in Internet applications engineering with emphasis on the Web. Peer-to-Peer and Interoperability. Concepts in Programming Languages I. In-depth study of several contemporary programming languages stressing variety in data structures, operations, notation, and control. Examination of different programming paradigms, such as logic programming, functional programming and object-oriented programming; implementation strategies, programming environments, and programming style.
CSE 31 with a grade of C or better. EECS 31 with a grade of C or better. Compilers and Interpreters. Introduction to the theory of programming language processors covering lexical analysis, syntax analysis, semantic analysis, intermediate representations, code generation, optimization, interpretation, and run-time support. Language Processor Construction. Project course which provides working laboratory experience in construction and behavior of compilers and interpreters.
Students build actual language processors and perform experiments which reveal their behaviors. Principles of Operating Systems. Principles and concepts of process and resource management, especially as seen in operating systems. Concepts illustrated in the context of several well-known systems. Overlaps with EECS Project in Operating System Organization. Emphasis on logical organization of system and communication.
Examples of embedded computing in real-world application domains. Simple programming using an embedded systems development environment. Embedded Software Laboratory. Programming in Multitasking Operating Systems. User- and systems-level programming of modern Internet-connected, multi-user, multitasking operating systems. Shells, scripting, filters, pipelines, programmability, extensibility, concurrency, inter-process communication.
Concrete examples of a modern operating system such as, but not necessarily, Unix programmed in C are used. Introduction to the Internet of Things IoT from a systems and software perspective. IoT ecosystem including sensors, embedded CPUs, networking protocols, software, cloud services, and security and privacy requirements. IoT use cases, system design, and programming project. Boolean algebra. Number systems. Error detecting and correction codes.
Arithmetic algorithms. CSE 43 with a grade of C or better. Computer Systems Architecture. Design of computer elements; ALU, control unit, and arithmetic circuits. Memory hierarchy and organization. Function unit sharing and pipelining.
RTL and behavioral modeling using hardware description languages. Microprocessor organization and implementation techniques. Logic Design Laboratory. Introduction to standard integrated circuits.
Construction and debugging techniques. Practical use of circuits in a laboratory environment, including implementation of small digital systems such as arithmetic modules, displays, and timers. Computer Design Laboratory. Underlying primitives of computer instruction sets. Principles of microprogramming.
Microprograms written for one or more systems. Typical microprogramming applications discussed and implemented or simulated. Design and Analysis of Algorithms. Fast algorithms for problems applicable to networks, computer games, and scientific computing, such as sorting, shortest paths, minimum spanning trees, network flow, and pattern matching.
Software Engineering Majors have first consideration for enrollment. Data Science Majors have first consideration for enrollment. Formal Languages and Automata. Formal aspects of describing and recognizing languages by grammars and automata.
Parsing regular and context-free languages. Ambiguity, nondeterminism. Elements of computability; Turning machines, random access machines, undecidable problems, NP-completeness. Same as LSCI Cognitive Sciences Majors have first consideration for enrollment.
Language Science Majors have first consideration for enrollment. Algorithms for solving fundamental problems in graph theory. Graph representations, graph traversal, network flow, connectivity, graph layout, matching problems.
Computational Geometry and Geometric Modeling. Algorithms and data structures for computational geometry and geometric modeling, with applications to game and graphics programming. Topics: convex hulls, Voronoi diagrams, algorithms for triangulation, motion planning, and data structures for geometric searching and modeling of 2D and 3D objects. Project in Algorithms and Data Structures. Design, implementation, execution, and analysis of algorithms for problems such as sorting, searching, data compression, and data encryption.
Time-space-structure trade-offs. Quantum Computation and Information. Basic models for quantum computation and their foundations in quantum mechanics. Quantum complexity classes and quantum algorithms, including algorithms for factoring and quantum simulation.
Introduction to quantum information theory and quantum entanglement. Introduction to Applied Cryptography. An introduction to the essential aspects of applied cryptography, as it is used in practice.
Topics include classical cryptography, block ciphers, stream ciphers, public-key cryptography, digital signatures, one-way hash functions, basic cryptographic protocols, and digital certificates and credentials. Introduction to Optimization. A broad introduction to optimization. Unconstrained and constrained optimization. Equality and inequality constraints.
Linear and integer programming. Stochastic dynamic programming. Introduction to Artificial Intelligence. Different means of representing knowledge and uses of representations in heuristic problem solving. Representations considered include predicate logic, semantic nets, procedural representations, natural language grammars, and search trees. Neural Networks and Deep Learning. Neural network and deep learning from multiple perspectives.
Theory of parallel distributed processing systems, algorithmic approaches for learning from data in various manners, applications to difficult problems in AI from computer vision, to natural language understanding, to bioinformatics and chemoinformatics. Explores the frontiers of artificial intelligence and related technologies with a focus on the underlying ethical, legal, and societal challenges and opportunities they create.
Encourages critical thinking about these issues. Project in Artificial Intelligence. Construction of a working artificial intelligence system. Evaluation of capabilities of the system including impact of knowledge representation. Applications of Probability in Computer Science. Application of probability to real-world problems in computer science. Typical topics include analysis of algorithms and graphs, probabilistic language models, network traffic modeling, data compression, and reliability modeling.
Machine Learning and Data-Mining. Introduction to principles of machine learning and data-mining applied to real-world datasets.
Typical applications include spam filtering, object recognition, and credit scoring. Algorithms for Probabilistic and Deterministic Graphical Models. Graphical model techniques dealing with probabilistic and deterministic knowledge representations. Focuses on graphical models such as constraint networks, Bayesian networks, and Markov networks that have become a central paradigm for knowledge representation and reasoning in AI and general computer science.
Project in Computer Science. Students to solve a substantial real-world problem with knowledge gained from many areas in computer science. Project has a focus on computer science but can overlap with neighbor disciplines. Introduction to Computational Biology.
The use of theories and methods based on computer science, mathematics, and physics in molecular biology and biochemistry. Basics in biomolecular modeling. Analysis of sequence and structural data of biomolecules. Analysis of biomolecular functions.
Artificial Intelligence in Biology and Medicine. Introduction to computational methods in molecular biology, aimed at those interested in learning about this interdisciplinary area. Covers computational approaches to understanding and predicting the structure, function, interactions, and evolution of DNA, RNA, proteins, and related molecules and processes.
Computational Systems Biology. Computational inference and modeling of gene regulation networks, signal transduction pathways, and the effects of regulatory networks in cellular processes, development, and disease. Introduction of required mathematical, computational, and data handling tools.
Special Topics in Information and Computer Science. Studies in selected areas of Information and Computer Science. Topics addressed vary each quarter. Restriction: Campuswide Honors Collegium students only. Upper-division students only. Seminar in Computer Science Research. Foundations of Cryptographic Protocols. Explores fundamental cryptographic tools, including encryption, signatures, and identification schemes.
Students are introduced to the provable security paradigm of modern cryptography, focusing on understanding of security properties provided by cryptographic tools, and on proving security or insecurity of cryptographic constructions. Introduction to Computer Security. Introduction to computer security, including systems, technology, and management.
Topics include authorization, authentication, data integrity, malware, operating systems security, network security, web security, and basic cryptography. Design and analysis of algorithms for applied cryptography.
Topics include symmetric and asymmetric key encryption, digital signatures, one-way hash functions, digital certificates and credentials, and techniques for authorization, non-repudiation, authentication, identification, data integrity, proofs of knowledge, and access control. Network and Distributed Systems Security. Modern computer and networks security: attacks and countermeasures, authentication, identification, data secrecy, data integrity, authorization, access control, computer viruses, network security.
Group communication and multicast security techniques. Covers secure e-commerce and applications of public key methods, digital certificates, and credentials. Introduction to network security, including network threats and attacks, as well as defenses against such attacks.
Topics include network infrastructure security, mobile and Wi-Fi security, spam, phishing, firewalls, anonymity, secure email, secure and private cloud computing, and web security. Computer and Systems Security. Students perform research projects and gain hands-on experience evaluating and designing secure systems. Graduate students only.
Principles of Scientific Computing. Overview of widely used principles and methods of numerical and scientific computing, including basic concepts and computational methods in linear algebra, optimization, and probability. Computer Graphics and Visualization. Interactive 3D graphics rendering pipeline, illumination and shading, ray tracing, texture-, bump-, mip-mapping, hidden surface removal, anti-aliasing, multiresolution representations, volume rendering techniques, iso-surface extraction.
Fundamentals of image processing convolution, linear filters, spectral analysis , vision geometry projective geometry, camera models and calibration, stereo reconstruction , radiometry color, shading, illumination, BRDF , and visual content synthesis graphics pipeline, texture- bump-, mip-mapping, hidden surface removal, anti-aliasing.
Realistic Image Synthesis. Provides an in-depth overview on a core sub-field of computer graphics. Graduate students who take this course are better prepared for conducting research on the related topics in computer graphics, vision, and scientific computing.
Multimedia Systems and Applications. Introduction to Visual Perception. Introduction to the process of human visual perception. Offers the physiological and psychophysical approach to understand vision, introducing concepts of perception of color, depth, movement.
Examples of quantification and application of these models in computer vision, computer graphics, multimedia, HCI. The goal of image understanding is to extract useful semantic information from image data. Course covers low-level image and video processing techniques, feature descriptors, segmentation, objection recognition, and tracking. Light and Geometry in Computer Vision.
Examines the issues of light transport and multiview geometry in computer vision. Applications include camera calibration, 3D understanding, stereo reconstruction, and illumination estimation. Seminar in Graphics and Visualization. Databases and Data Management. Introduction to the design of databases and the use of database management systems DBMS for managing and utilizing data.
Topics include entity-relationship modeling for design, relational data model, relational algebra, relational schema design, and use of SQL Structured Query Language. Information Retrieval, Filtering, and Classification. Algorithms for the storage, retrieval, filtering, and classification of textual and multimedia data.
The vector space model, Boolean and probabilistic queries, and relevance feedback. Latent semantic indexing; collaborative filtering; and relationship to machine learning methods. Same as SWE Understanding and implementation of key techniques including storage management, buffer management, record-oriented file system, access methods, query optimization, and query processing. Transaction Processing and Distributed Data Management.
Covers fundamental principles underlying transaction processing including database consistency, concurrency control, database recovery, and fault-tolerance. Includes transaction processing in centralized, distributed, parallel, and client-server environments. Introduction to fundamental principles underlying transaction processing systems including database consistency, atomicity, concurrency control, database recovery, replication, commit protocols, and fault-tolerance.
Focuses on Big Data management frameworks such as Hadoop and Spark. Distributed Computer Systems. Principles of distributed computing systems.
Parallel and Distributed Computing for Professionals. Covers a wide variety of concepts related to the design and application of high-performance concurrent computing systems, including architectural features, communications networks and models, parallel program development for numerical and non-numerical applications, programming models, and more. Computer and Communication Networks.
Network architecture of the Internet, telephone networks, cable networks, and cell phone networks. Network performance models. Advanced concepts and implementations of flow and congestion control, addressing, internetworking, forwarding, routing, multiple access, streaming, and quality-of-service.
Internet architecture, protocols, and services. Advanced concepts of IP and TCP, including addressing, internetworking, forwarding, routing, and implementations of flow and congestion control.
Overview of Local Area Networks. A laboratory-based introduction to basic networking concepts such as addressing, sub-netting, bridging, ARP, and routing. Network simulation and design. Structured around weekly readings and laboratory assignments. Design principles of networked systems, advanced routing and congestion control algorithms, network algorithms, network measurement, management, security, Internet economics, and emerging networks.
Wireless and Mobile Networking. Introduction to wireless networking. Wendy is the co-author of more than 47 patents and has published extensively in technical conferences and journals. United States. IBM Research. Research areas. About us. News Projects Careers Directions Director. Artificial Intelligence Explore. Quantum Computing Explore. Healthcare and Life Sciences Explore. Semiconductors Explore.
0コメント