Electrical and Computer Engineering
menu MENU
Home > Academics > Course Information > Course Descriptions > New Course Announcements

New Course Announcements

Fall 2019: Electrical Engineering Systems Design II

Course No:
EECS 398-002
Credit Hours:
3
Instructor:
Brian Gilchrist and Shai Revzen
Prerequisites:
At least 3 of 4 (215, 216, 230, 280) or permission of instructor

EECS 398 – 002 (3 cr) is a new design-oriented course which is running for the first time this fall. It counts as an upper level EE technical elective for currently declared EE students, and will become a required part of the EE degree program for anyone who declares an EE major on or after fall 2019 (final course name will be EECS 300). In this course, students will work with embedded systems, signal processing, various analog and digital sensors, power systems, wireless, and more in their design project.

The purpose of this course is to apply knowledge gained in core EECS courses and stretch to include more advanced topics in a design project with real world relevance. This year, we will be improving and creating new sensing and support modules used to monitor water systems throughout the world. The node system we are basing our work on was created by the Open Storm lab, here at Michigan (http://open-storm.org/). The data these devices gather is used to prevent flooding, create healthier watersheds, and help respond more swiftly in the event a flood does happen. All design goals and specifications for the course project will be driven by the actual Open Storm projects needs

More info (pdf)

Fall 2019: User Interfaces for Programming Languages

Course No:
EECS 598
Credit Hours:
TBD
Instructor:
Cyrus Omar
Prerequisites:
Grad standing in CSE or SI or permission of instructor

Programmers interact with programming languages by way of user interfaces of widely varying design. This course will provide a broad overview of the literature on user interfaces for programming languages, covering both notable historic and contemporary designs and ongoing research topics. Topics covered may include: structure editors and block languages, tools for exploratory data analysis, visual programming, advanced autocomplete, live coding tools for musicians and artists, interactive debuggers, interactive theorem provers, educational user interfaces, end-user programming, cognitive dimensions of notation, mental models, API usability, and programmable physical environments.

More info (pdf)

Fall 2019: Coding Theory for Theoretical Computer Science

Course No:
EECS 498-009/EECS598-013
Credit Hours:
4 credits
Instructor:
Mahdi Cheraghchi
Prerequisites:
Graduate or senior standing or permission of instructor

The aim of this course is to provide an introduction to coding theory from a theoretical computer science perspective, and showcase the fascinating interplay between the twotopics. A tentative list of topics to be covered includes: basics of codes, linear codes, fundamental bounds on codes, composition of codes, algebraic codes, combinatorial and algorithmic list decoding, applications to cryptography and learning theory, locallytestable and locally decodable codes, expander graphs and graph-based codes, hardness and randomness, list recovery and soft decision, randomness extractors, sparse signal processing and sparse transforms.

More info (pdf)

Fall 2019: Cybersecurity for Future Leaders

Course No:
498.005
Credit Hours:
3
Instructor:
Javed Ali and Dr. Carl Landwehr
Prerequisites:
None

Future leaders will need to understand the science, technology, and human considerations behind cybersecurity well enough to make informed decisions when provided advice and options for action. Over the last decade cybersecurity issues have risen in prominence from a U.S. national security perspective, as well as from the perspective of individuals and organizations.

This class will examine the broad landscape of cybersecurity from both a technical and policy perspective. It will introduce fundamental concepts of computing and cyber security, including information theory, computability, cryptography, networking fundamentals, how vulnerabilities arise, and how attacks work. In addition, it will explore foundational ideas including definitions, cyber norms, and ethics; identify existing U.S. laws, authorities and governmental constructs; and frame classic security concepts like deterrence, attribution, offense, defense, and retaliation. The course will also involve guest speakers, short assessments and writing assignments designed to capture technical and policy insights, and a simulated meeting where students assume different governmental or private sector roles to examine potential courses of action regarding a cybersecurity crisis scenario.

More info (pdf)

Fall 2019: Practical Skills for Teaching Computing

Course No:
EECS 398-003
Credit Hours:
1 credit
Instructor:
Kevin Angstadt
Prerequisites:
Permission of instructor

Are you a new IA looking for help getting started with teaching?Or are you an experienced IA who is curious about what goes on behind the scenes with organizing and teaching a computer science class? The new EECS 398 TA Practicum is a course offering designed just for you! This one-credit course will introduce students to, and allow students to develop practicalskills for, designing and teaching courses with significant computing aspects. Course content will both help prepare students for direct interaction with their peers as TAs andalso expose students to the research and scholarship of learning and teaching. Students will also have the opportunity to discuss challenges they face in the classroom with their peers. Ultimately, the goal of this course is to provide a place and time for TAsto explore their identity as teachers.

More info (pdf)

Fall 2019: Conversational Artificial Intelligence

Course No:
EECS 498-001
Credit Hours:
4 credits
Instructor:
Jason Mars
Prerequisites:
EECS 284 (required) and MATH 214 or equivalent (advisory)

See flyer for more information!

More info (pdf)

Fall 2019: Crowdsourcing and Human-AI Interaction

Course No:
EECS 598-008
Credit Hours:
4 credits
Instructor:
Walter Lasecki
Prerequisites:
Graduate standing in CSE or SI

This course will cover topics in Human-Computer Interaction, human computation and crowdsourcing, and the emerging literature in Human-AI Interaction, with a focus on techniques for creating interactive intelligent systems that leverage a combination of human and machine intelligence to accomplish tasks more effectively than either could alone. We will also touch on the theory underlying many of the current approaches (e.g., game theory, voting theory, reasoning under uncertainty, and machine learning), and potential ethical concerns raised by these systems (e.g., safety and end-user privacy).

More info (pdf)

Fall 2019: Brain-Inspired Computing: Models, Architectures, and Programming

Course No:
EECS 598-001
Credit Hours:
3-4 credits
Instructor:
Pinaki Mazumder
Prerequisites:
Permission of instructor

Brain-inspired computing is a subset of AI-based machine learning and is generally referred to both deep and shallow artificial neural networks (ANN) and spiking neural networks (SNN). Deep convolutional neural networks (CNN) have made pervasive market inroads in numerous commercial applications and their software implementations are widely studied in computer vision, speech processing and other courses. The purpose of this course will be to study the wide gamut of shallow and deep neural network models, the methodologies for specialized hardware design of popular learning algorithms, as well as adapting hardware architectures on crossbar fabrics of emerging technologies such as memristors and spin torque nonmagnetic devices. Existing software development tools such as TensorFlow, Caffe, and PyTorch will be leveraged to teach various aspects of neuromorphic designs.

More info (pdf)

Fall 2019: Topics in Surveillance: Law and Technology

Course No:
EECS 598-007
Credit Hours:
1 credit
Instructor:
J. Alex Halderman and Margo Schlanger
Prerequisites:
Grad standing or permission of instructor

This unique seminar brings together students and faculty from computer science and law to address six current controversies in surveillance, chosen from topics like:-smartphone hacking by the FBI-internet and telephone metadata collection-border searches of electronic devices-mass surveillance of data and phone calls-cellphone geolocation tracking.

More info (pdf)

Fall 2019: VLSI for Communication and Machine Learning

Course No:
EECS 598-006
Credit Hours:
3-4 credits
Instructor:
Hunseok Kim
Prerequisites:
EECS 351 and (EECS 312 or EECS 370) or grad standing

This course will survey methodologies to design energy efficient and/or high-performance VLSI systems for the state-of-the-art wireless communication, machine learning, and signal processing systems. The primary focus of the course is on designing hardware efficient algorithms and energy-aware VLSI IC architectures to deliver the performance and efficiency required by various signal processing and machine learning applications. The course will be a mix of lectures and student-led presentations/projects. The content will be suitable for senior undergraduates or graduate students interested in hardware-efficient algorithms and their VLSI implementations.

More info (pdf)

Fall 2019: Laser Plasma Diagnostics

Course No:
EECS 598-004
Credit Hours:
3 credits
Instructor:
Louise Willingale
Prerequisites:
EECS 537 or permission of instructor

High power laser pulses are used to both create and diagnose high-energy density systems. In this course, we will discuss the techniques used for creating, characterizing and timing high power laser pulses from megajoule-nanosecond pulses to relativistic-intensity femtosecond pulses. We will explore the diagnostics used to characterize high-energy density plasmas through opticaland other radiation measurements as well as backlighting techniques. Other important aspects of performing experiments, such as target positioning techniques, will be touched on. In addition to the material discussed in lectures, students will consider real experimental data and recent research publications to learn analysis techniques, gain appreciation for physical limitations (such as instrument resolution and background signals), and comparison with theoretical models. This course is suitable for graduate students studying plasma physics, optics and laser science and other related areas. A design project based aroundan experimental proposal will involve a peer review process, written proposal and oral presentation

More info (pdf)

Fall 2019: Applied Parallel Programming with GPUs

Course No:
EECS 498-003
Credit Hours:
4 credits
Instructor:
Reetuparna Das
Prerequisites:
EECS 281 and EECS 370

The goal of this class is to teach parallel computing anddeveloping applications for massively parallel processors (e.g.GPUs). Self driving cars, machine learning and augmentedreality are examples of applications involving parallel computing. The class focuses on computational thinking, forms of parallelism, programming models, mapping computations to parallel hardware, efficient data structures, paradigms for efficient parallel algorithms, and application case studies.

The course will cover popular programming interface for graphics processors (CUDA for NVIDIA processors), internal architecture of graphics processors and how it impacts performance, and implementations of parallel algorithms on graphics processors. The curriculum will be delivered in ~29 lectures. The class has heavy programming components, including six hands-on assignmentsand a final project.

More info (pdf)

Fall 2019: Power System Markets and Optimization

Course No:
EECS 598-004
Credit Hours:
3 credits
Instructor:
Johanna Mathieu
Prerequisites:
EECS 463 or permission of instructor

This course covers the fundamentals of electric power system markets and the optimization methods required to solve planning and operational problems including economic dispatch, optimal power flow, and unit commitment. The course will highlight recent advances including convex relaxations of the optimal power flow problem, and formulations/solutions to stochastic dispatch problems. Problems will be placed in the context of actual electricity markets, and new issues, such as incorporation of renewable resources and demand response into markets, will be covered. All students will conduct an individual research project.

More info (pdf)

Fall 2019: Computational Modeling in HCI

Course No:
EECS 598-002
Credit Hours:
3 credits
Instructor:
Nikola Banovic
Prerequisites:
Programming experience in Java, Python, MATLAB or R

This seminar style course will teach students methods to track, collect, and express human behavior data as computational models of behavior. The course will have a particular focus on computational approaches to describe, simulate, and predict human behavior from empirical behavior traces data. It will contrast computational modeling with other methodologies to understand human behavior and compare computational modeling with existing behavior modeling methodologies in Human-Computer Interaction (HCI). Short individual assignments will give students exposure to existing modeling methods in HCI. Large,group-based final project will give students an opportunity to push the boundaries of computational modeling in HCI by modeling behaviors of their choice from an existing data set to design and implement a novel Computational Modeling system from scratch.

More info (pdf)

Fall 2019: Building Computer-Based Supports for Student Learning Through Inquiry

Course No:
EECS 498-009
Credit Hours:
4 credits
Instructor:
Elliot Soloway and Mark Guzdial
Prerequisites:
Senior standing

In this 498, the goal will be to build software to support educational activities in K-12 and in higher education. Faculty in K-12 have suggested the need for specific pieces of software. For example, a 3rd grade teacher has been pleading for a T-Chart app one that is collabrified, i.e., it supports synchronous collaboration. In higher ed, in materials courses, there is a need for a VR app to help students visualize the atomic structure of the materials. In high school, there is a need for a tool to support historical inquiry. In past iterations of this project, students have built software that is actually used in schools, nationwide. Teams will be formed; they will use the agile software development methodology: cycles of design, build, user test. Be prepared to visit classrooms and hear first-hand what users think of your software!

More info (pdf)