Electrical Engineering and Computer Science

Explore Lassonde

Close mobile menu

EECS 5111 Automata, Computability and Complexity
This course is intended to give students a detailed understanding of the basic concepts of abstract machine structure, information flow, computability, and complexity. The emphasis will be on appreciating the significance of these ideas and the formal techniques used to establish their properties. Topics chosen for study include: models of finite and infinite automata, the limits to computation, and the measurement of the intrinsic difficulty of computational problems.

InstructorDayStart timeDurationLocationGroup
George TourlakisMW8:3090Online1

EECS 5323 Computer Vision
This course will introduce the basic concepts in Computer Vision. Primarily a survey of current computational methods, we will begin by examining methods for measuring visual data (image based operators, edge detection, feature extraction), and low-level processes for feature aggregation (optic flow, segmentation, correspondence). Finally, we will consider some issues in “high-level” vision systems..

InstructorDayStart timeDurationLocationGroup
Konstantinos DerpanisMW11:3090Online2
M16:00120 (Lab1)
R12:00120 (Lab2)

EECS 5327 Introduction to Machine Learning and Pattern Recognition
Machine learning is the study of algorithms that learn how to perform a task from prior experience. This course introduces the student to machine learning concepts and techniques applied to pattern recognition problem in a diversity of application areas.

InstructorDayStart timeDurationLocationGroup
Marcus BrubakerTR10:0090Online2

EECS 5351 Human-Computer Interaction
This course introduces the concepts and technology necessary to design, manage and implement interactive software. Students work in small groups and learn how to design user interfaces, how to realize them and how to evaluate the end result. Both design and evaluation are emphasized.

InstructorDayStart timeDurationLocationGroup
Scott MacKenzieTR13:0090Online2

EECS 5414 Information Networks
Information networks are effective representations of pairwise relationships between objects. Examples include technological networks (e.g., the Web), social networks (e.g., Facebook), biological networks (e.g., protein-to-protein interactions), and more. Analysis of information networks is an emerging discipline of immense importance. This course provides students with theoretical knowledge and practical experience of the field by covering models and algorithms of information networks.

InstructorDayStart timeDurationLocationGroup
Manos PapagelisM18:00180Online3

EECS 5443 Mobile User Interfaces (tentative)
This course teaches the design and implementation of user interfaces for touchscreen phones and tablet computers. Students develop user interfaces that include touch, multi-touch, vibration, device motion, position, and orientation, environment sensing, and video and audio capture. Lab exercises emphasise these topics in a practical manner.

InstructorDayStart timeDurationLocationGroup
R14:30120 (Lab1)
W14:30120 (Lab2)

EECS 5501 Computer Architecture
This course presents the core concepts of computer architecture and design ideas embodied in many machines and emphasizes a quantitative approach to cost/performance tradeoffs. This course concentrates on uniprocessor systems. A few machines are studies to illustrate how these concepts are implemented; how various tradeoffs that exit among design choices are treated; and how good designs make efficient use of technology. Future trends in computer architecture are also discussed.

InstructorDayStart timeDurationLocationGroup
Sebastian MagierowskiMW10:0090Online3

EECS 5611 Analog Integrated Circuit Design
This course presents analog circuit principles for the analysis and design of high-performance circuits in modern technologies. Its techniques enable the realization of wide-band amplifiers, low-noise amplifiers, operational amplifiers, and feedback amplifiers. Advanced computer simulation, and physical layout are presented. Integrated with the undergraduate course LE/EECS 4611 3.00.

InstructorDayStart timeDurationLocationGroup
Amir SodagarMW13:0090OnlineN/A
W14:30180 (Lab)

EECS 6127 Machine Learning Theory
This course takes a foundational perspective on machine learning and covers some of its underlying mathematical principles. Topics range from well-established results in learning theory to current research challenges. We start with introducing a formal framework, and then introduce and analyze learning methods, such as Nearest Neighbors, Boosting, SVMs and Neural Networks. Finally, students present and discuss recent research papers.

InstructorDayStart timeDurationLocationGroup
Ruth UrnerMW13:0090Online1

EECS 6222 Coding and Information Theory
This course introduces students to fundamentals of information theory, as well as methods for achieving information-theoretic results using source codes and channel codes. Students will learn Shannon’s source coding and channel coding theorems, as well as the mathematical machinery required to prove these and other information theoretic results. Students will also be exposed to source coding techniques, as well as channel coding techniques for state-of-the-art systems. Advanced topics such as multiterminal (Slepian-Wolf) source coding and rateless codes will also be covered, time permitting.

InstructorDayStart timeDurationLocationGroup
Andrew EckfordTR16:0090This course or a portion of this course will meet in person – Location TBD1

EECS 6327 Probabilistic Models and Machine Learning
Intelligent systems must make effective judgements in the face of uncertainty. This requires probabilistic models to represent complex relationships between random variables (learning) as well as algorithms that produce good estimates and decisions based on these models (inference). This course explores both probabilistic learning and inference, in a range of application areas.

InstructorDayStart timeDurationLocationGroup
Hui JiangTR13:0090Online2

ECS 6412 Data Mining
This course introduces fundamental concepts of data mining. It presents various data mining technologies, algorithms and applications. Topics include association rule mining, classification models, sequential pattern mining and clustering.

InstructorDayStart timeDurationLocationGroup
Aijun AnMW14:3090Online3

EECS 6444 Mining Software Engineering Data
Software engineering data (such as source code repositories, execution logs, performance counters, developer mailing lists and bug databases) contains a wealth of information about a project’s status and history. Applying data mining techniques on such data, researchers can gain empirically based understanding of software development practices, and practitioners can better manage, maintain and evolve complex software projects.

InstructorDayStart timeDurationLocationGroup
Jack JiangTR11:3090Online3

EECS 6606 Low Power ASIC Design
This course introduces several important concepts and techniques in low power ASIC design. It covers VSLI design methodology, ASIC design flow, low power digital circuit design principles, timing closure in ASIC, power analysis, and power optimization. Student will have the opportunities to perform circuit design tasks using the state-of-the-art EDA tools. The concepts are enhanced through readings and projects.

InstructorDayStart timeDurationLocationGroup
Peter LianW16:00180OnlineN/A

PHIL 5340 Ethics and Societal Implications of Artificial Intelligence – for AI specialization students
This course is intended for students with professional interest in the social and ethical implications of AI. Topics include theoretical issues (could AI ever have moral rights?), practical issues (algorithmic bias, labour automation, data privacy), and professional issues (tech industry social responsibility).

InstructorDayStart timeDurationLocationGroup
TBDR14:30180This course or a portion of this course will meet in person – Location TBD