Courses

CCI Faculty are introducing new courses into the undergraduate and graduate curriculum at USC Viterbi.

Distributed Systems for the Internet of Things (EE 250L)

Professor: Bhaskar Krishnamachari
Distributed Systems for the Internet of Things is a new course designed for engineering students with at least a sophomore standing to learn how to design, build and evaluate hardware, operating systems, network and application layer protocols, as well as distribute system applications for the Internet of Things. Through hands-on lab activities, assignments, projects, as well as through guest lectures spanning research and practice, the course provides a comprehensive introduction to many relevant topics including printed circuit board design, real-time operating systems, programming microprocessors, signal processing, wireless communications, networks, control systems, publish-subscribe middleware, cloud computing, databases and more.

Blockchain Technology and Applications (CSCI 599)

Professor: Bhaskar Krishnamachari

This new course is aimed at graduate students doing MS/Ph.D. in computer science, computer
engineering and related fields. Blockchain technologies present a novel class of
programmable platforms providing decentralized trust. Students will start learning the
basics of blockchain technology and algorithms underlying protocols such as Bitcoin, Ethereum and smart contracts. The course will also cover permissioned blockchains and technology building blocks such as consensus algorithms, proof of work and alternatives, enhancements utilizing directed acyclic graphs, and relevant security issues. Students will also learn about applications of blockchains to distributed storage, decentralized application-layer
Internet protocols and public key infrastructure, IoT applications ranging from smart grid to supply chain.

CPS Design: Modeling, Analysis, and Synthesis (EE 599)

Professor: Pierluigi Nuzzo
CPS Design bridges theoretical aspects to applications to provide an understanding of the fundamentals of system design as well as a sense of the problems posed by complex applications. It presents theories, design methods, and tools that help handle the growing complexity and heterogeneity of embedded and cyber-physical systems, by offering a new vista on system design, where correct-by-construction abstraction, refinement, and composition techniques are pursued to substantially reduce design time and errors. Methodologies and tools will be illustrated on several applications, including robotic motion planning, car electronics and more.

Cyber-Physical Systems (SAE 599)

Professor: Azad Madni
Cyber-Physical Systems is a course that is tentatively starting in the Spring of 2018. The purpose of the course is to: introduce students to the core concepts underlying Cyber-Physical Systems (CPS); introduce students to properties of systems and different types of systems; introduce the students to CPS Models of Computation, including state machines, as well as deterministic and probabilistic modeling approaches; allow students to apply the different modeling approaches using software tool (e.g., Ptolemy II) to a CPS system of their choosing (e.g. self-driving vehicles, smart buildings and structures) in a class project.