USC/USC-Course-Catalog huggingface dataset:
CSCI 566: Deep Learning and Its Applications 
Deep learning research in computer vision, natural language processing and robotics; neural networks; deep learning algorithms, tools and software.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Friday
Time: 1:00-4:20pm
Instructor: Yue Zhao
CSCI 567: Machine Learning 
Statistical methods for building intelligent and adaptive systems that improve performance from experiences; Focus on theoretical understanding of these methods and their computational implications. Recommended preparation: Undergraduate level training or coursework in linear algebra, multivariate calculus, basic probability and statistics; an undergraduate level course in Artificial Intelligence may be helpful but is not required.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Friday
Time: 1:00-3:20pm
Instructor: Vatsal Sharan
CSCI 570: Analysis of Algorithms 
Explores fundamental techniques such as recursion, Fourier transform ordering, dynamic programming for efficient algorithm construction. Examples include arithmetic, algebraic, graph, pattern matching, sorting, searching algorithms.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Wednesday
Time: 5:00-7:20pm
Instructor: Shahriar Shamsian
CSCI 571: Web Technologies 
Advanced study of programming languages with application to the Web. Languages for client-side and server-side processing. Examples taken from: HTML, Java, JavaScript, Perl, XML and others. Recommended preparation: knowledge of at least two programming languages
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Tue, Thu
Time: 7:30-9:20pm
Instructor: Marco Papa
CSCI 572: Information Retrieval and Web Search Engines 
Examines key aspects of information retrieval as they apply to search engines; web crawling, indexing, querying and quality of results are studied.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Tuesday
Time: 5:00-8:20pm
Instructor: Sathyanaraya Raghavachary
CSCI 575: Quantum Computing and Quantum Cryptography 
Introduction to quantum computing and quantum cryptography; quantum Fourier sampling with applications to factoring, quantum search, quantum key distribution.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Mon, Wed
Time: 2:00-3:50pm
Instructor: Ming-Deh Huang
CSCI 576: Multimedia Systems Design 
End-to-end multimedia systems - content creation, compression, distribution using modern standards, DRM solutions, Digital-Cinema pipeline, multimedia classification, virtual-augmented reality, natural-language multimedia queries, multimodal media analysis, stereoscopic-holographic technologies.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Monday
Time: 6:00-9:20pm
Instructor: Parag Havaldar
CSCI 580: 3-D Graphics and Rendering 
Course outlines the process of creating images from 3D models. Includes transformations, shading, lighting, rastorization, texturing, and other topics.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Tue, Thu
Time: 2:00-3:50pm
Instructor: Sathyanaraya Raghavachary
CSCI 585: Database Systems 
Database system architecture; conceptual database models; semantic, object-oriented, logic-based, and relational databases; user and program interfaces; database system implementation; integrity, security, concurrency and recovery. Recommended preparation: Knowledge of relational databases, SQL, relational algebra and physical database design is required. Open only to graduate students.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Restriction:  Registration open to the following class level(s): Master Student, Doctoral Student
Class type: Lecture
Days: Thursday
Time: 5:00-7:20pm
Instructor: Sathyanaraya Raghavachary
CSCI 590: Directed Research 
Research leading to the master's degree. Maximum units which may be applied to the degree to be determined by the department. Graded CR/NC.
Units: (1.0-12.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: TBA
Time: TBA
CSCI 591: Computer Science Research Colloquium 
Exploration and critical assessment of research activities in computer science. Course will serve as a forum for current research presentations from academia and industry. Graded CR/NC.
Units: (1.0 units, max 2)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Tue, Thu
Time: 4:00-5:20pm
CSCI 593: Mathematical Foundations for System Design: Modeling, Analys 
Fundamental techniques underlying the methodologies for system design, from integrated circuits to cyber-physical systems. Design flows, fundamental classes of models, and verification and synthesis techniques.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Tue, Thu
Time: 4:00-5:50pm
Instructor: Pierluigi Nuzzo
CSCI 594a: Master's Thesis 
Credit on acceptance of thesis. Graded IP/CR/NC.
Units: (2.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: TBA
Time: TBA
CSCI 594b: Master's Thesis 
Credit on acceptance of thesis. Graded IP/CR/NC.
Units: (2.0 units)
Prerequisites: Prerequisite: CSCI 594A
Restrictions: Not available
Class type: Lecture
Days: TBA
Time: TBA
CSCI 594z: Master's Thesis 
Credit on acceptance of thesis. Graded IP/CR/NC.
Units: (0.0 units)
Prerequisites: Prerequisite: CSCI 594B
Restrictions: Not available
Class type: Lecture
Days: TBA
Time: TBA
CSCI 599: Special Topics 
Course content to be selected each semester from recent developments in computer science.
Units: (2.0-4.0 units, max 9)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Mon, Wed
Time: 5:00-6:50pm
Instructor: Shahram Ghandeharizadeh
CSCI 625: Program Synthesis and Computer-Aided Verification 
Introduction to the principles and practices of software verification and program synthesis.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Mon, Wed
Time: 3:30-5:20pm
Instructor: Mukund Raghothaman
CSCI 641: Computational Human-Robot Interaction 
The description, comparison and evaluation of algorithms for deployed robotic systems that must deal with uncertainty due to interactions with humans.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Mon, Wed
Time: 8:00-9:50am
Instructor: Stefanos Nikolaidis
CSCI 644: Natural Language Dialogue Systems 
Computational models of natural language dialogue; conversational interfaces to artificial systems; dialogue system architectures and applications; Reinforcement learning of dialogue policies.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Wednesday
Time: 1:00-4:20pm
Instructor: Kallirroi Georgila,David Traum
CSCI 655: Advanced Topics in Operating Systems 
Advanced OS architectures; methods in design and evaluation of process management and concurrency; reliable distributed file systems; memory management, for cloud and virtualized environments.
Units: (4.0 units)
Prerequisites: Prerequisite: 1 from (CSCI 350 or CSCI 402)
Restrictions: Not available
Class type: Lecture
Days: Mon, Wed
Time: 2:00-3:50pm
Instructor: Harsha Madhyastha
CSCI 656: Networked Systems in Cloud Computing 
Systems and network design and protocols in cloud computing and data centers networks.
Units: (4.0 units)
Prerequisites: Prerequisite: 1 from (CSCI 551 or CSCI 651)
Restrictions: Not available
Class type: Lecture
Days: Mon, Wed
Time: 4:00-5:50pm
Instructor: Ramesh Govindan
CSCI 658: Diagnosis and Design of Reliable Digital Systems 
Fault models; test generation; fault simulation; self-checking and self-testing circuits; design for testability; fault tolerant design techniques; case studies; search techniques; memory testing.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Saturday
Time: 11:00-2:50pm
Instructor: Moe Tabar
CSCI 670: Advanced Analysis of Algorithms 
Fundamental techniques for design and analysis of algorithms. Dynamic programming; network flows; theory of NP-completeness; linear programming; approximation, randomized, and online algorithms; basic cryptography. Prerequisite: CSCI 570. Recommended preparation: familiarity with algorithms and discrete mathematics. Open only to doctoral students.
Units: (4.0 units)
Prerequisites: Prerequisite: CSCI 570
Restrictions: Restriction:  Registration open to the following class level(s): Doctoral Student
Class type: Lecture
Days: Mon, Wed
Time: 10:00-11:50am
Instructor: Ming-Deh Huang
CSCI 675: Convex and Combinatorial Optimization 
Topics include: Convex sets and functions; convex optimization problems; geometric and Lagrangian duality; simplex algorithm; ellipsoid algorithm and its implications; matroid theory; submodular optimization.
Units: (4.0 units)
Prerequisites: Prerequisite: 1 from (CSCI 570 or CSCI 670)
Restrictions: Not available
Class type: Lecture
Days: Mon, Wed
Time: 2:00-3:50pm
Instructor: Shaddin Dughmi
CSCI 697: Seminar in Computer Science Research 
Introduction of Ph.D. students to the broad range of computer science research. Two semesters registration required. Open to Computer Science doctoral students only. Graded CR/NC. Duplicates credit in former CSCI 597.
Units: (1.0 units, max 2)
Prerequisites: Not available
Restrictions: Restriction:  Registration open to the following major(s): Computer Science
Class type: Lecture
Days: Monday
Time: 12:00-12:50pm
CSCI 698: Practicum in Teaching Computer Science 
Practical principles for the long-term development of effective teaching in Computer Science. Intended for teaching assistants for classes offered by the Computer Science department. Graded CR/NC. Open only to Computer Science doctoral students.
Units: (1.0 units, max 2)
Prerequisites: Not available
Restrictions: Restriction:  Registration open to the following major(s): Computer Science
Class type: Lecture
Days: Monday
Time: 1:00-1:50pm
CSCI 699: Special Topics 
Course content to be selected each semester from recent developments in computer science.
Units: (2.0-4.0 units, max 8)
Prerequisites: Not available
Restrictions: Restriction:  Registration open to the following class level(s): Doctoral Student
Class type: Lecture
Days: Monday
Time: 3:00-6:20pm
Instructor: Souti Chattopadhyay
CSCI 790: Research 
Research leading to the doctorate. Maximum units which may be applied to the degree to be determined by the department. Graded CR/NC.
Units: (1.0-12.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: TBA
Time: TBA
CSCI 794a: Doctoral Dissertation 
Credit on acceptance of Dissertation. Graded CR/NC.
Units: (2.0 units)
Prerequisites: Not available
Restrictions: Restriction:  Registration open to the following class level(s): Doctoral Student
Class type: Lecture
Days: TBA
Time: TBA
CSCI 794b: Doctoral Dissertation 
Credit on acceptance of Dissertation. Graded CR/NC.
Units: (2.0 units)
Prerequisites: Prerequisite: CSCI 794a
Restrictions: Restriction:  Registration open to the following class level(s): Doctoral Student
Class type: Lecture
Days: TBA
Time: TBA
CSCI 794c: Doctoral Dissertation 
Credit on acceptance of Dissertation. Graded CR/NC.
Units: (2.0 units)
Prerequisites: Prerequisite: CSCI 794b
Restrictions: Restriction:  Registration open to the following class level(s): Doctoral Student
Class type: Lecture
Days: TBA
Time: TBA
CSCI 794d: Doctoral Dissertation 
Credit on acceptance of Dissertation. Graded CR/NC.
Units: (2.0 units)
Prerequisites: Prerequisite: CSCI 794c
Restrictions: Restriction:  Registration open to the following class level(s): Doctoral Student
Class type: Lecture
Days: TBA
Time: TBA
CSCI 794z: Doctoral Dissertation 
Credit on acceptance of Dissertation. Graded CR/NC.
Units: (0.0 units)
Prerequisites: Prerequisite: CSCI 794d
Restrictions: Restriction:  Registration open to the following class level(s): Doctoral Student
Class type: Lecture
Days: TBA
Time: TBA
DSCI 351: Foundations of Data Management 
Data modeling, data storage, indexing, relational databases, key-value/document store, NoSQL, distributed file system, parallel computation and big-data analytics.
Units: (4.0 units)
Prerequisites: Prerequisite: DSCI 250 and ITP 115
Restrictions: Not available
Class type: Lecture
Days: Mon, Wed
Time: 10:00-11:50am
Instructor: Wensheng Wu
DSCI 352: Applied Machine Learning and Data Mining 
Foundational course focusing on the understanding, application and evaluation of machine learning and data mining approaches in data-intensive scenarios.
Units: (4.0 units)
Prerequisites: Prerequisite: DSCI 250 and MATH 208
Restrictions: Not available
Class type: Lecture
Days: Thursday
Time: 3:30-6:50pm
Instructor: David Pynadath
DSCI 454: Data Visualization and User Interface Design 
Design of systems for data visualization; user interface design for exploring and interacting with data.
Units: (4.0 units)
Prerequisites: Prerequisite: DSCI 250
Restrictions: Not available
Class type: Lecture
Days: Tuesday
Time: 2:00-5:20pm
Instructor: David Chan
DSCI 510: Principles of Programming for Data Science 
Programming in Python for retrieving, searching and analyzing data from the Web. Learning to manipulate large data sets.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Monday
Time: 12:00-1:50pm
DSCI 525: Trusted System Design, Analysis and Development 
Analysis of computer security and why systems are not secure. Concepts and techniques applicable to the design of hardware and software for Trusted Systems.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Monday
Time: 2:00-5:20pm
Instructor: Tanya Ryutov
DSCI 529: Security and Privacy 
Covers societal implications of information privacy and how to design systems to best preserve privacy. Recommended preparation: general familiarity with the use of common Internet and mobile applications.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Friday
Time: 12:00-3:20pm
Instructor: Clifford Neuman
DSCI 531: Fairness in Artificial Intelligence 
Basic and advanced fairness concepts and methods; applications to societal data for studying fairness and bias; fairness and bias effects in learning algorithms.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Mon, Wed
Time: 10:00-11:50am
DSCI 549: Introduction to Computational Thinking and Data Science 
Introduction to data analysis techniques and associated computing concepts for non-programmers. Topics include foundations for data analysis, visualization, parallel processing, metadata, provenance and data stewardship. Recommended preparation: mathematics and logic undergraduate courses.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Tuesday
Time: 2:00-5:20pm
Instructor: Ning Wang
DSCI 550: Data Science at Scale 
Fundamentals of big data informatics techniques. Data lifecycle; the data scientist; machine learning; data mining; NoSQL databases; tools for storage/processing/analytics of large data set on clusters; in-data techniques.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Thursday
Time: 4:00-7:20pm
Instructor: Christian Mattmann
DSCI 551: Foundations of Data Management 
Function and design of modern storage systems, including cloud; data management techniques; data modeling; network attached storage, clusters and data centers; relational databases; the map-reduce paradigm.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Wednesday
Time: 5:00-8:20pm
Instructor: Wensheng Wu
DSCI 552: Machine Learning for Data Science 
Practical applications of machine learning techniques to real-world problems. Uses in data mining and recommendation systems and for building adaptive user interfaces.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Tue, Thu
Time: 4:00-5:50pm
Instructor: Mohammad Reza Rajati
DSCI 553: Foundations and Applications of Data Mining 
Data mining and machine learning algorithms for analyzing very large data sets. Emphasis on System Building with Spark. Case studies.
Units: (4.0 units)
Prerequisites: Prerequisite: 1 from (DSCI 551 or CSCI 585) and 1 from (DSCI 552 or CSCI 567)
Restrictions: Not available
Class type: Lecture
Days: Friday
Time: 2:00-5:20pm
Instructor: Wei-Min Shen
DSCI 560: Data Science Professional Practicum 
Student teams working on external customer data analytic challenges; project/presentation based; real client data and implementable solutions for delivery to actual stakeholders; capstone to degree.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Tue, Thu
Time: 8:00-9:50am
Instructor: Young Cho
DSCI 561: Predictive Analytics 
Supervised learning. Linear regression, cross validation, ridge and lasso regression, logistic regression, k-nearest-neighbors, decision trees, random forest and gradient-boosting models, support vector machines, neural networks.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Mon, Wed
Time: 12:00-1:50pm
Instructor: Maryam Pishgar
DSCI 563: Medical Diagnostics, Therapeutics and Informatics Applications 
Picture archive communication system (PACS) design and implementation; clinical PACS-based imaging informatics; telemedicine/teleradiology; image content indexing, image data mining; grid computing in large-scale imaging informatics; image-assisted diagnosis, surgery and therapy.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Tue, Thu
Time: 10:00-11:50am
Instructor: Brent Liu
DSCI 599: Special Topics 
Course content to be selected each semester from recent developments in Data Science.
Units: (1.0-8.0 units, max 8)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Mon, Wed
Time: 12:00-1:50pm
Instructor: Alefiya Hussain
EE 109L: Introduction to Embedded Systems 
Information representations, embedded programming, digital and serial I/O, analog-to-digital conversion, and interrupt mechanisms. Elementary analog, logic and state-machine design.
Units: (4.0 units)
Prerequisites: Prerequisite: 1 from (EE 155 or CSCI 102)
Restrictions: Not available
Class type: Lecture
Days: Tue, Thu
Time: 2:00-3:20pm
EE 202L: Linear Circuits 
Lumped circuit elements; network equations; zero-input and zerostate responses; sinusoidal steady-state analysis; impedance; resonance; network functions; power concepts; transformers; Laplace transforms.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Tue, Thu
Time: 10:00-11:50am
Instructor: Susan Schober
EE 250L: Distributed Systems for the Internet of Things 
Introduction to hardware, operating systems, signal processing and control, network protocols, mobile applications, databases, cloud computing, machine learning and security for the Internet of Things.
Units: (4.0 units)
Prerequisites: Prerequisite: EE 109
Restrictions: Restriction:  Registration closed to the following class level(s): Freshmen
Class type: Lecture
Days: Mon, Wed
Time: 4:00-5:50pm
Instructor: Bhaskar Krishnamachari
EE 301: Linear Systems 
Representation and analysis of linear time-invariant systems primarily for the continuous time case. Convolution, Fourier series and transform, Laplace transform, controls and communications applications.
Units: (4.0 units)
Prerequisites: Prerequisite: EE 141 and EE 202
Restrictions: Not available
Class type: Lecture
Days: Mon, Wed
Time: 4:00-5:50pm
Instructor: Chris Kyriakakis
EE 338: Physical Electronics 
Semiconductor device characteristics and applications. Physical models of electronic conduction in solids, p-n junctions, bipolar and field effect transistors and other solid-state devices.
Units: (4.0 units)
Prerequisites: Prerequisite: EE 202 and 1 from (PHYS 162 or PHYS 172)
Restrictions: Not available
Class type: Lecture
Days: Tue, Thu
Time: 3:30-4:50pm
Instructor: Rehan Kapadia
EE 354L: Introduction to Digital Circuits 
Digital system design and implementation; synchronous design of datapath and control; schematic/Verilog-based design, simulation, and implementation in Field Programmable Gate Arrays; timing analysis; semester-end project.
Units: (4.0 units)
Prerequisites: Prerequisite: EE 109
Restrictions: Not available
Class type: Quiz
Days: Friday
Time: 5:00-7:50pm
EE 355x: Software Design for Electrical Engineers 
Object-oriented programming techniques, basic data structures, and elementary complexity analysis for the modeling, simulation, and solution of engineering problems.
Units: (4.0 units)
Prerequisites: Prerequisite: EE 155
Restrictions: Not available
Class type: Lecture
Days: Mon, Wed
Time: 12:00-1:50pm
Instructor: Shahin Nazarian
EE 364: Introduction to Probability and Statistics for Electrical Engineering and Computer Science 
Introduction to concepts of randomness and uncertainty: probability, random variables, statistics. Applications to digital communications, signal processing, automatic control, computer engineering and computer science.
Units: (4.0 units)
Prerequisites: Prerequisite: 1 from (MATH 225 or MATH 245)
Restrictions: Not available
Class type: Lecture
Days: Tue, Thu
Time: 12:00-1:50pm
Instructor: Todd Brun
EE 415: Introduction to MEMS 
Introduction to micro-electro-opto-mechanical systems; scaling effects on material properties, fluid flows, dynamical behavior; fabrication methods; design considerations for MEMS sensors and actuators. Recommended preparation: AME 301, AME 309 and AME 310
Units: (3.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Mon, Wed
Time: 10:00-11:20am
Instructor: Hangbo Zhao
EE 434Lx: Digital Signal Processing Design Laboratory 
Experiments and design project in digital signal processing (e.g. real-time DSP, acoustics, video) including: system specification, preliminary analysis, trade-off studies, implementation, presentation. Recommended preparation: EE 469. Capstone design experience.
Units: (4.0 units)
Prerequisites: Prerequisite: EE 483
Restrictions: Restriction:  Registration open to the following class level(s): Senior
Class type: Lecture
Days: Monday
Time: 3:30-4:50pm
Instructor: Brandon Franzke
EE 443: Introduction to Power Systems 
Components of power systems; analysis techniques in electrical power generation transmission and utilization; and environmental and economic considerations in system operations and planning.
Units: (4.0 units)
Prerequisites: Prerequisite: EE 370
Restrictions: Not available
Class type: Lecture
Days: Thursday
Time: 6:00-9:40pm
Instructor: Mohammed Beshir
EE 445L: Introduction to Robotics 
Designing, building and programming mobile robots; sensors, effectors, basic control theory, control architectures, some advanced topics, illustrations of state-of-the-art. Teamwork; final project tested in a robot contest. Junior standing or higher. Prerequisites: CSCI 103.
Units: (4.0 units)
Prerequisites: Prerequisite: CSCI 103
Restrictions: Restriction:  Registration open to the following class level(s): Junior, Senior
Class type: Lecture
Days: Tue, Thu
Time: 8:00-9:20am
Instructor: Erdem Biyik
EE 447Lx: Mixed Signal Electronic Circuits 
Application of solid-state electronic devices to the design of linear and mixed-signal systems. Laboratory experiments and projects involving the design of electronic hardware. Capstone design experience.
Units: (4.0 units)
Prerequisites: Prerequisite: EE 348
Restrictions: Restriction:  Registration open to the following class level(s): Senior
Class type: Lecture-Lab
Days: TBA
Time: TBA
Instructor: Susan Schober
EE 450: Introduction to Computer Networks 
Network architectures; layered protocols, network service interface; local, wide area, wireless networks; Internet protocols; link protocols; addressing; routing; flow control; software defined network; multimedia networks.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Restriction:  Registration closed to the following class level(s): Freshmen, Sophomore
Class type: Quiz
Days: Friday
Time: 5:00-6:50pm
Instructor: Ali Zahid
EE 451: Parallel and Distributed Computation 
Introduction to parallel programming techniques, models and optimization strategies; Application mapping to multi-core, accelerator, GPU and cloud platforms; High Performance Computing and Data Science applications.
Units: (4.0 units)
Prerequisites: Prerequisite: 1 from (EE 355 or CSCI 201)
Restrictions: Not available
Class type: Lecture
Days: Tue, Thu
Time: 2:00-3:20pm
Instructor: Viktor Prasanna
EE 455x: Introduction to Programming Systems Design 
Intensive introduction to programming principles, discrete mathematics for computing, software design and software engineering concepts. Not available for credit to computer sciencemajors, graduate or undergraduate.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Tue, Thu
Time: 10:00-11:20am
Instructor: Claire Bono
EE 457: Computer Systems Organization 
Register Transfer level machine organization; performance; arithmetic; pipelined processors; exceptions, out-of-order and speculative execution, cache, virtual memory, multi-core multi-threaded processors, cache coherence.
Units: (4.0 units)
Prerequisites: Prerequisite: EE 354
Restrictions: Not available
Class type: Lecture
Days: Mon, Wed
Time: 2:00-3:50pm
Instructor: Gandhi Puvvada
EE 459Lx: Embedded Systems Design Laboratory 
Specification, design, implementation, testing and documentation of a digital system project using embedded processors, programmable logic, analog I/O interfaces and application specific hardware. Capstone design experience.
Units: (4.0 units)
Prerequisites: Prerequisite: EE 354
Restrictions: Restriction:  Registration open to the following class level(s): Senior
Class type: Lecture-Lab
Days: Tue, Thu
Time: 10:00-11:50am
Instructor: Allan Weber
EE 460: Machine Learning for Engineers 
Overview of machine learning, regression and classification, clustering and dimensionality reduction, loss-functions, over/under-fitting, cross-validation, kernel machines, decision trees and neural networks.
Units: (4.0 units)
Prerequisites: Prerequisite: 1 from (EE 155 or BME 210 or CE 108 or CHE 305 or CSCI 103 or ISE 150 or ITP 115 or ITP 165 or ITP 168)
Restrictions: Not available
Class type: Lecture
Days: Mon, Wed
Time: 4:00-5:50pm
Instructor: Antonio Ortega
EE 467: Introduction to Communication Systems 
Analog and digital communication systems. Modulation (AM, FM) Analog and digital communication systems. (De)modulation and (de)multiplexing of AM/FM/PM, noise, digital data formats, error rates, and spectral analysis. Review of wireless, networking, and optical systems.
Units: (3.0 units)
Prerequisites: Prerequisite: EE 301
Restrictions: Not available
Class type: Lecture
Days: Mon, Wed
Time: 10:00-11:50am
Instructor: Alan Willner
EE 477L: MOS VLSI Circuit Design 
Analysis and design of digital MOS VLSI circuits including area, delay and power minimization. Laboratory assignments including design, layout, extraction, simulation and automatic synthesis.
Units: (4.0 units)
Prerequisites: Prerequisite: 1 from (EE 338 or EE 354)
Restrictions: Not available
Class type: Lecture
Days: Mon, Wed
Time: 2:00-3:50pm
Instructor: Massoud Pedram
EE 481l: Control Systems Laboratory 
Vibration measurement and analysis; simulation, design, and experimental verification of mechanical control systems; system identification; implementation of controllers; performance evaluation via experimentation and stimulation.
Units: (3.0 units)
Prerequisites: Prerequisite: 1 from (AME 420 or AME 451 or EE 482)
Restrictions: Not available
Class type: Lecture
Days: Tuesday
Time: 9:30-10:50am
Instructor: Inna Abramova
EE 483: Introduction to Digital Signal Processing 
Fundamentals of digital signal processing covering: discrete time linear systems, quantization, sampling, Z-transforms, Fourier transforms, FFTs and filter design.
Units: (4.0 units)
Prerequisites: Prerequisite: EE 301
Restrictions: Not available
Class type: Lecture
Days: Mon, Wed
Time: 12:00-1:50pm
Instructor: Eduardo Pavez Carvelli
EE 490x: Directed Research 
Individual research and readings. Not available for graduate credit.
Units: (1.0-8.0 units, max 12)
Prerequisites: Not available
Restrictions: Restriction:  Registration open to the following class level(s): Junior, Senior
Class type: Lecture
Days: TBA
Time: TBA
Instructor: Bhaskar Krishnamachari,Michelle Povinelli
EE 494a: Undergraduate Thesis 
For the undergraduate degree. Credit on acceptance of thesis. IP (EE 494a) or letter grade (EE 494b).
Units: (2.0 units)
Prerequisites: Not available
Restrictions: Restriction:  Registration open to the following class level(s): Senior
Class type: Lecture
Days: TBA
Time: TBA
Instructor: Bhaskar Krishnamachari,Michelle Povinelli
EE 494b: Undergraduate Thesis 
For the undergraduate degree. Credit on acceptance of thesis. IP (EE 494a) or letter grade (EE 494b).
Units: (2.0 units)
Prerequisites: Prerequisite: EE 494A
Restrictions: Restriction:  Registration open to the following class level(s): Senior
Class type: Lecture
Days: TBA
Time: TBA
Instructor: Bhaskar Krishnamachari,Michelle Povinelli
EE 501: Solid State 
Atomic electronic states, molecular bonding, crystal structures, diffraction, reciprocal lattice, Brillouin zones, crystal binding, lattice vibrations, specific heat, anharmonic effects, energy bands, metals, conductivity.
Units: (4.0 units)
Prerequisites: Prerequisite: 1 from (EE 471 or EE 539)
Restrictions: Not available
Class type: Lecture
Days: Tue, Thu
Time: 2:00-3:50pm
Instructor: Anupam Madhukar
EE 503: Probability for Electrical and Computer Engineers 
Rigorous coverage of probability, discrete and continuous random variables, functions of multiple random variables, covariance, correlation, random sequences, Markov chains, estimation, and introduction to statistics. Duplicates credit in former EE 464 and EE 465.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Mon, Wed
Time: 12:00-1:50pm
Instructor: Brandon Franzke
EE 506: Semiconductor Physics 
Semiconductor bonds, crystallography, band structure assumptions, group theory, band structure results, k.p. method, quantum wells, wires and dots, superlattices, amorphous, organic semiconductors, defects, statistics, surfaces.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Mon, Wed
Time: 9:00-10:50am
Instructor: Tony Levi
EE 510: Linear Algebra for Engineering 
Introduction to linear algebra and matrix theory and their underlying concepts; applications to engineering problems; mathematically rigorous and foundational to other classes in communication, control, and signal processing.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Tue, Thu
Time: 12:00-1:50pm
Instructor: Ketan Savla
EE 512: Stochastic Processes for Financial Engineering 
Theory and applications of stochastic processes relevant to financial engineering. Stochastic processes, Brownian motion, martingales, stochastic calculus, Monte Carlo Simulations with financial application examples.
Units: (4.0 units)
Prerequisites: Prerequisite: EE 503 and 1 from (EE 441 or EE 510 or EE 518)
Restrictions: Not available
Class type: Lecture
Days: Mon, Wed
Time: 10:00-11:50am
Instructor: George Papavassilopoulos
EE 513: Solid State Energy Devices 
Design and operation of solar photovoltaic energy converters, thermovoltoic energy converters, thermoelectric energy converters, and solid state light emitters; their roles in renewal and conservation of energy.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Tue, Thu
Time: 3:00-4:50pm
EE 518: Mathematics and Tools for Financial Engineering 
Students will build a mathematical background for studying Financial Engineering. Emphasis is on analysis, proofs and examples. Mathworks Financial toolbox will be introduced.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Tue, Thu
Time: 2:00-3:50pm
Instructor: Petros Ioannou
EE 519: Speech Recognition and Processing for Multimedia 
Speech production, acoustics, perception, synthesis, compression, recognition, transmission. Coding for speech, music, and CD-quality. Feature extraction. Echo cancellation. Audio, visual synchronization. Multimedia, Internet use.
Units: (3.0 units)
Prerequisites: Prerequisite: EE 483
Restrictions: Not available
Class type: Lecture
Days: Friday
Time: 1:00-3:50pm
EE 521: Power Systems Analysis and Design 
Power system planning, studies, and design; time-domain modeling and analysis of power-system networks; power flow, stability, fault, and economic dispatch analysis; symmetrical components.
Units: (4.0 units)
Prerequisites: Prerequisite: EE 443
Restrictions: Not available
Class type: Lecture
Days: Tuesday
Time: 6:00-9:40pm
Instructor: Mohammed Beshir
EE 522: Immersive Audio Signal Processing 
Fundamentals of room acoustics, human perception (psychoacoustics) and digital audio signal processing algorithms to create immersive audio environments.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Friday
Time: 10:00-12:50pm
Instructor: Chris Kyriakakis
EE 523: Advanced Biomedical Imaging 
Advanced scientific and engineering principles of biomedical imaging including magnetic resonance, X-ray computed tomography, ultrasound and single photon and positron emission tomography.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Tue, Thu
Time: 12:00-1:50pm
Instructor: Brent Liu
EE 526: Renewable Energy in Power Systems 
Renewable energy sources and their integration in electrical networks. Power-flow control from highly variable resources. Cost analysis and planning.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Wednesday
Time: 6:00-9:40pm
Instructor: Mohammed Beshir
EE 529: Optics 
Geometrical optics, electromagnetic wave propagation, reflection and refraction at interfaces, imaging with lenses and mirrors, optics of the eye, optical instruments (microscopes/telescopes/cameras), and polarization.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Mon, Wed
Time: 4:00-5:50pm
Instructor: Demetri Christodoulides
EE 533: Network Processor Design and Programming 
Design, implementation, and programming of a custom multi-core RISC-V-based network processor and hardware accelerators using reconfigurable hardware in a SmartNIC in a realistic network testbed.
Units: (4.0 units)
Prerequisites: Prerequisite: EE 457
Restrictions: Not available
Class type: Lecture
Days: Tue, Thu
Time: 12:30-1:50pm
Instructor: Young Cho
EE 535: Wireless Communications 
The mobile communication channel; techniques used to combat the channel; cellular communications; multiple-access techniques; example mobile communication systems.
Units: (4.0 units)
Prerequisites: Prerequisite: EE 503
Restrictions: Not available
Class type: Lecture
Days: Mon, Wed
Time: 8:00-9:50am
Instructor: Andreas Molisch
EE 538: Computing Principles for Electrical Engineers 
Survey of computing principles and practice of software design: object-oriented and non object-oriented, testing, template libraries, time-space complexity, data structures, algorithms, and dynamic programming.
Units: (2.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Friday
Time: 2:30-4:20pm
Instructor: Arash Saifhashemi
EE 540: Introduction to Quantum Electronics 
Fundamentals of light amplification; laser amplifiers and oscillators; atomic pumping; maser and laser systems; definitions of coherence; measurements in quantum electronics.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Wed, Fri
Time: 1:00-2:50pm
Instructor: Mercedeh Khajavikhan
EE 541: A Computational Introduction to Deep Learning 
Deep learning frameworks for training multilayer perceptrons, convolutional and recurrent neural networks; Python, virtual environments, linux and shell scripting, cloud computing, including GPUs and datasets.
Units: (2.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Monday
Time: 3:00-4:50pm
Instructor: Brandon Franzke
EE 545: Robotics 
Fundamental skills for modeling and controlling of dynamic systems for robotic applications and graphics animations; control theory; kinematics; dynamics; sensor processing; real-time operating systems; robot labs. Recommended preparation: Basic knowledge in linear algebra (matrices and vectors), calculus, programming in C/C++ or any another language or permission of the instructor.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Mon, Wed
Time: 4:00-5:50pm
Instructor: Daniel Seita
EE 547: Applied and Cloud Computing for Electrical Engineers 
Introduction to cloud applications; software development and deployment within cloud platforms; interactive user-facing interfaces; API development; databases, virtualization, asynchronous execution, testing and scalability.
Units: (2.0 units)
Prerequisites: Prerequisite: EE 538
Restrictions: Not available
Class type: Lecture
Days: Tuesday
Time: 3:30-5:20pm
Instructor: Brandon Franzke
EE 549: Nanotechnology for Materials, Electronics, and Circuits 
Nanotechnology for advanced nanomaterials, nanoelectronics devices, and circuits, including the rigorous treatment of electronic band structures of carbon nanotubes, graphene, and two-dimensional materials.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Tue, Thu
Time: 2:00-3:50pm
Instructor: Chongwu Zhou
EE 550: Data Networks: Design and Analysis 
Applications of stochastic modeling and optimization techniques to communication network design and analysis. Data link control; performance models; multi-access channels; routing and flow control.
Units: (4.0 units)
Prerequisites: Prerequisite: EE 503
Restrictions: Not available
Class type: Lecture
Days: Tue, Thu
Time: 2:00-3:50pm
Instructor: Michael Neely
EE 552: Asynchronous VLSI Design 
Asynchronous channels and architectures; implementation design styles; controller synthesis; hazards, and races; Petri-nets; performance analysis, and optimization; globally asynchronous, locally synchronous design.
Units: (4.0 units)
Prerequisites: Prerequisite: EE 477
Restrictions: Restriction:  Registration open to the following class level(s): Doctoral Student, Master Student
Class type: Lecture
Days: Tue, Thu
Time: 10:00-11:50am
Instructor: Peter Beerel
EE 554: Cyber-Physical Systems: A Computing Perspective 
Cyber-physical systems; models of computation; programming models; compiler analysis; automatic parallelization; heterogeneous computing and memory systems; multicores; interconnect; mapping; scheduling; real-time operating systems; reliability; fault-tolerance.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Mon, Wed
Time: 8:00-9:50am
Instructor: Paul Bogdan
EE 557: Computer Systems Architecture 
Computer architecture from a design perspective: Pipelined processors, speculative execution, VLIW, vector processors, GPU/GPGPU, memory technology and systems, interconnection networks, shared-memory and message-passing multiprocessors, chip multiprocessors.
Units: (4.0 units)
Prerequisites: Prerequisite: EE 457
Restrictions: Not available
Class type: Lecture
Days: Tue, Thu
Time: 2:00-3:50pm
Instructor: Murali Annavaram
EE 559: Machine Learning I: Supervised Methods 
Distribution-free and probabilistic methods for supervised classification and regression; learning algorithms; optimization techniques; feature-space transformations; parametric and nonparametric methods; Bayes decision theory; artificial neural networks.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Mon, Wed
Time: 4:00-5:50pm
Instructor: Keith Jenkins
EE 561: Foundations of Artificial Intelligence 
Foundations of symbolic intelligent systems, search, logic, knowledge representation, planning, learning.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Mon, Wed
Time: 3:00-4:50pm
Instructor: Laurent Itti
EE 562: Random Processes in Engineering 
Probability Axioms. Random vectors and processes, their convergence and limit theorems. Stationary processes, Markov chains, Martingales, Gaussian processes. Basic calculus of random processes. Wiener filtering.
Units: (4.0 units)
Prerequisites: Prerequisite: EE 503 and 1 from (EE 441 or EE 510)
Restrictions: Not available
Class type: Lecture
Days: Mon, Wed
Time: 10:00-11:50am
Instructor: Ashutosh Nayyar
EE 563: Inference and Estimation: Theory and Algorithms 
Bayesian and non-Bayesian hypothesis testing and estimation, sufficient statistics, exponential families, expectation-maximization, approximations, Kalman filtering and smoothing, recursive Bayesian tracking.
Units: (4.0 units)
Prerequisites: Prerequisite: EE 503
Restrictions: Not available
Class type: Lecture
Days: Tue, Thu
Time: 9:30-10:50am
Instructor: Maryam Shanechi
EE 565: Information Theory and Its Application to (Big) Data Science 
Entropy and mutual information. Variable and fixed-length, lossless and lossy compression. Universal compression. Text and multimedia compression. Channel capacity. Error-correcting codes. Erasure and Gaussian channels.
Units: (4.0 units)
Prerequisites: Prerequisite: EE 503
Restrictions: Not available
Class type: Lecture
Days: Mon, Wed
Time: 10:00-11:50am
Instructor: Urbashi Mitra
EE 566: Optical Information Processing 
Coherent and incoherent optical transforming; diffraction and imaging; space-time duality; temporal- and spatial-frequency response and filtering; optical modulation, nonlinear and ultrafast techniques; holography; emerging directions.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Tue, Thu
Time: 4:00-5:50pm
Instructor: Keith Jenkins,Mengjie Yu
EE 569: Introduction to Digital Image Processing 
Image sampling, 2-D image transform, image enhancement, geometric image modification, morphologic processing, edge detection, texture analysis, image filtering and restoration.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Mon, Wed
Time: 8:00-9:50am
Instructor: Jay Kuo
EE 570a: Advanced Electromagnetic Theory 
Classical electromagnetic field theory and its usage in understanding and analytically modelling advanced applied electrical engineering devices.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Tue, Thu
Time: 9:00-10:50am
Instructor: Aluizio Prata
EE 577a: VLSI System Design 
MOS logic; system design; memory design; datapath subsystem design; circuit simulation; basic device physics; simple device layout: structured chip design; timing; project chip; silicon compilers.
Units: (4.0 units)
Prerequisites: Prerequisite: EE 477
Restrictions: Not available
Class type: Lecture
Days: Mon, Wed
Time: 8:00-9:50am
Instructor: Shahin Nazarian
EE 577b: VLSI System Design 
Semi-custom ASIC VLSI design flow; RTL coding, logic synthesis, automatic placement & routing, memory and interface design, signal integrity solutions, hardware acceleration and approximation
Units: (4.0 units)
Prerequisites: Prerequisite: EE 577A
Restrictions: Not available
Class type: Lecture
Days: Saturday
Time: 8:00-10:50am
Instructor: Moe Tabar
EE 578: Computational Electromagnetics for Engineers 
Computational electromagnetics: numerical methods; partial differential equations, integral equations; finite difference and finite element methods; electromagnetic scattering, nanophotonics, waveguides, antennas; Maxwell, acoustic, and quantum simulation.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Tue, Thu
Time: 12:00-1:50pm
Instructor: Constantine Sideris
EE 581: Mathematical Foundations for System Design: Modeling, Analys 
Fundamental techniques underlying the methodologies for system design, from integrated circuits to cyber-physical systems. Design flows, fundamental classes of models, and verification and synthesis techniques.
Units: (4.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: Tue, Thu
Time: 4:00-5:50pm
Instructor: Pierluigi Nuzzo
EE 587: Nonlinear Control Systems 
State-space Models. Equilibrium points. Limit Cycles. Linearization. Nonlinear Phenomena. Lyapunov Stability. Analysis and Design of Nonlinear Systems. Passivity. Backstepping. Feedback and Input-Output Linearization.
Units: (4.0 units)
Prerequisites: Prerequisite: EE 585
Restrictions: Not available
Class type: Lecture
Days: Mon, Wed
Time: 9:00-10:50am
Instructor: Mihailo Jovanovic
EE 590: Directed Research 
Research leading to the master's degree. Maximum units which may be applied to the degree to be determined by the department. Graded CR/NC.
Units: (1.0-12.0 units)
Prerequisites: Not available
Restrictions: Not available
Class type: Lecture
Days: TBA
Time: TBA
Instructor: Richard Leahy,Tony Levi
EE 591: Magnetic Resonance Imaging and Reconstruction 
Principles of magnetic resonance imaging. Spin physics, Fourier-based acquisition and reconstruction, generation of tissue contrast, fast imaging, artifact correction, advanced image reconstruction. Prerequisite: EE 483. Recommended preparation: EE-441 and EE-503. Familiarity with MATLAB is required.
Units: (3.0 units)
Prerequisites: Prerequisite: EE 483
Restrictions: Not available
Class type: Lecture
Days: Tue, Thu
Time: 2:00-3:20pm
Instructor: Krishna Nayak
EE 592: Computational Methods for Inverse Problems 
A rigorous description of vector space and functional analysis concepts and tools that are useful for solving inverse problems in real-world applications.
Units: (4.0 units)
Prerequisites: Prerequisite: EE 483 and 1 from (EE 441 or EE 510)
Restrictions: Not available
Class type: Lecture
Days: Tue, Thu
Time: 9:00-10:50am
Instructor: Justin Haldar
EE 594a: Master's Thesis 
Credit on acceptance of Thesis. Graded CR/NC.
Units: (2.0 units)
Prerequisites: Not available
Restrictions: Restriction:  Registration open to the following class level(s): Master Student
Class type: Lecture
Days: TBA
Time: TBA
EE 594b: Master's Thesis 
For the Master's Degree. Credit on acceptance of Thesis. Graded CR/NC.
Units: (2.0 units)
Prerequisites: Prerequisite: EE 594A
Restrictions: Restriction:  Registration open to the following class level(s): Master Student
Class type: Lecture
Days: TBA
Time: TBA
EE 594z: Master's Thesis 
For the Master's Degree. Credit on acceptance of Thesis. Graded CR/NC.
Units: (0.0 units)
Prerequisites: Prerequisite: EE 594B
Restrictions: Restriction:  Registration open to the following class level(s): Master Student
Class type: Lecture
Days: TBA
Time: TBA
EE 597: Wireless Networks 
Introduction to wireless networking technologies; fundamental architectural and design principles used at all protocol layers; optimization, performance evaluation and implementation using mathematical analysis, simulations, and experiments.
Units: (4.0 units)
Prerequisites: Prerequisite: EE 450 and EE 503
Restrictions: Not available
Class type: Lecture
Days: Mon, Wed
Time: 10:00-11:50am
Instructor: Bhaskar Krishnamachari
EE 598: Electrical Engineering Research Seminar 
Introduction to research in electrical engineering. Topics vary by semester. May be repeated for up to one unit of credit for MS students, two units of credit for PhD students. Open only to Masterâ€™s and Doctoral Students.
Units: (1.0 units, max 2)
Prerequisites: Not available
Restrictions: Restriction:  Registration open to the following class level(s): Master Student, Doctoral Student
Class type: Lecture
Days: Wednesday
Time: 2:00-2:50pm
Instructor: Pierluigi Nuzzo