MICRO-608: Optical ComputingIn this course we will start with a brief history of optical computing, describe methods for implementing optical interconnection and logic and then spend most of our time on learning about the recent
CS-302: Parallelism and concurrency in softwareFrom sensors,to smart phones,to the world's largest datacenters and supercomputers, parallelism & concurrency is ubiquitous in modern computing.There are also many forms of parallel & concurrent execu
EE-567: Semiconductor devices IIStudents will learn about understanding the fundamentals and applications of emerging nanoscale devices, materials
and concepts. Remark: at least 5 students should be enrolled for the course to be giv
CS-173: Fundamentals of digital systemsWelcome to the introductory course in digital design and computer architecture. In this course, we will embark on a journey into the world of digital systems, exploring the fundamental principles and
MICRO-435: Quantum and nanocomputingThe course teaches non von-Neumann architectures. The first part of the course deals with quantum computing, sensing, and communications. The second focuses on field-coupled and conduction-based nanoc
CS-453: Concurrent computingWith the advent of modern architectures, it becomes crucial to master the underlying algorithmics of concurrency. The objective of this course is to study the foundations of concurrent algorithms and
BIOENG-450: In silico neuroscience"In silico Neuroscience" introduces students to a synthesis of modern neuroscience and state-of-the-art data management, modelling and computing technologies.