\documentclass[letterpaper,12pt]{report} \usepackage{graphicx} \usepackage{epsfig} \usepackage{setspace} \usepackage{lscape} \usepackage{multirow} \usepackage[width=8.5in, height=11in]{geometry} \textwidth 6.5in \textheight 9.0in \topmargin -0.60in \oddsidemargin -0.00in \title{{\Huge{Our Very Own Graduate Calendar\footnote{Disclaimer: We created this practically overnight. Everything herein COULD be wrong. We've taken care to ensure that things are accurate, but of course, check the course sites. After all, this is compiled using LAST year's information. By reading this line, you absolve the authors of any/all damages that occur as a result of reading this document. Thank you, and have a nice day.}}}} \author{\\\\Mohammed Ajmal\\Aly Merchant\\\\\\\\\\\\University of Toronto\\ECE Graduate Studies} \begin{document} \newcounter{counter} % Title Page \maketitle \thispagestyle{empty} \pagestyle{headings} % PRINTS HEADINGS \singlespacing % TOC \clearpage \tableofcontents \thispagestyle{empty} \clearpage %%%%%%%%%%%%%%%%%%%%%%%%% FALL %%%%%%%%%%%%%%%%%%%%%%%%% \chapter{Fall Courses} \section{List of Courses} % COMPUTER GROUP COURSES \begin{table}[ht] \centering \begin{tabular}{||c|l|c||} \hline\hline \multicolumn{3}{||c||}{Computer Group Fall Courses}\\ \hline Course Code&Title&Professor\\ \hline\hline \multirow{2}{*}{ECE1724F}&Sp. Topics in Software Engineering: &\multirow{2}{*}{M. J. Voss}\\ &Software Systems for Runtime Program Optimization&\\ ECE1746F&Distributed Systems&A. Goel\\ ECE1747F&Parallel Programming&C. Amza\\ ECE1762F&Algorithms and Data Structures&A. Veneris\\ ECE1774F&Sensory Cybernetics&W. Wong\\ ECE1775F&Microphone Arrays: Theory and Applications&P. Aarabi\\ ECE1776F&Computer Security, Cryptography and Privacy&D. Lie\\ \hline\hline \end{tabular} \caption{Computer Group Fall Courses} \end{table} % COMM GROUP COURSES \begin{table}[ht] \centering \begin{tabular}{||c|l|c||} \hline\hline \multicolumn{3}{||c||}{Communication Group Fall Courses}\\ \hline Course Code&Title&Professor\\ \hline\hline ECE1500F&Stochastic Processes&B. Liang\\ ECE1501F&Error Control Codes&I. F. Blake\\ \multirow{2}{*}{ECE1508F}&Sp. Topics in Communication: &\multirow{2}{*}{B. Frey}\\ &Probabilistic Inference Algorithms \& Applications&\\ ECE1520F&Data Communications I&T. J. Lim\\ ECE1529F&Adaptive Systems for Signal Processing \& Communications&K. N. Plataniotis\\ ECE1531F&Quantum Information Theory&H. K. Lo\\ ECE1541F&Communication Networks I&S. Valaee\\ ECE1548F&Advanced Network Architectures&A. Leon-Garcia\\ \hline\hline \end{tabular} \caption{Communication Group Fall Courses} \end{table} \section{Computer Group - Course Information} %%%%%%%%%% ECE1724F %%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{ECE1724F - Sp. Topics in Software Engineering: Software Systems for Runtime Program Optimization} {\em All information for this course is taken from: http://www.eecg.toronto.edu/\~{}voss/ece1724f-04}\\ {\large {\bf Instructor: }}M. J. Voss\\ {\large {\bf Course Description: }}Traditional static compilation and optimization approaches operate with limited knowledge of the runtime environment. With current trends toward a few dominant processor architectures and operating systems, a single executable can now be generated that executes on a large range of compatible but diverse systems. These systems may be as diverse as supercomputer-class systems and hand-held devices. To cope with the radically different characteristics of these compatible systems, optimization is being forced to runtime, when accurate information about the target system and input data set is known. Once optimization is moved to runtime, completely new paradigms can be explored, such as runtime binary translation from one instruction set to another, or just-in-time compilation, where machine-specific code is generated lazily as needed.\\ This course explores the state of the art in runtime dynamic and adaptive program optimization. It will include topics such as: \begin{itemize} \item{Combined Compile-Time / Runtime Systems} \item{Dynamic Compilation} \item{Runtime Binary Translation} \item{Just-In-Time Compilers and Virtual Machines} \end{itemize} {\large {\bf Prerequisites: }}Projects will require good programming skills. Some knowledge of compiler implementation and design is extremely useful -- but not essential. A basic understanding of computer architecture is required. If you don't understand things, ask questions...\\ {\large {\bf Marking Scheme: }} \begin{itemize} \item{Small Project Assignments: 20\%} \item{Final Project: 50\%} \item{Class Presentation: 20\%} \item{Participation: 10\%} \end{itemize} %%%%%%%%%% ECE1746F %%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{ECE1746F - Distributed Systems} {\em All information for this course is taken from: http://www.eecg.toronto.edu/\~{}ashvin/courses/ece1746-2004/index.html}\\ {\large {\bf Instructor: }}A. Goel\\ {\large {\bf Course Description \& Prerequisites: }}This course explores the state of the art in runtime dynamic and exponential growth of Internet services demonstrates the importance and potential of large-scale distributed systems. Today, Web services allow online shopping of virtually any product from cheap second-hand items to expensive art collections. Content delivery networks can potentially speed these services by cleverly caching Web pages. Peer-to-peer applications allow sharing of content in ways that are making industry nervous about their profit margins. Multimedia services provide streaming delivery of audio and video. The new classes of distributed applications that are becoming ubiquitous seems endless: cluster computing, grid computing, game services, pervasive computing, etc. In this scenario, a fundamental challenge is to provide scalable, secure and robust services in the presence of best-effort communication and unreliable nodes.\\ This graduate-level course focuses on distributed computing from a systems software perspective. Students are expected to read and critique recent research papers that cover some of the distributed applications mentioned above and span areas such as operating systems and networks. They are also expected to work on a research project and make a presentation.\\ While there are no specific prerequisites for this course, students who have taken undergraduate courses in operating systems, networks and distributed systems will have an edge.\\ {\large {\bf Marking Scheme: }} \begin{itemize} \item{Class Presentation: 20\%} \item{Class Project: 40\%} \item{Assignments: 20\%} \item{Class Participation: 20\%} \end{itemize} %%%%%%%%%% ECE1747F %%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{ECE1747F - Parallel Programming} {\em All information for this course is taken from: http://ccnet.utoronto.ca/20049/ece1747f}\\ {\large {\bf Instructor: }}C. Amza\\ {\large {\bf Course Description: }}This course is an intermediate graduate course in the area of parallel programming. In the first part of the course we will briefly introduce the architecture of parallel systems and the concept of data dependencies/races. The three most commonly used parallel programming paradigms (shared memory, distributed memory and data parallel) will then be examined in detail. An overview of automatic parallelization of programs and the use of parallel processing in related domains such as parallel and distributed database transaction processing will also be given.\\ In the second part of the course selected research topics will be examined. This part of the course consists of student-lead discussions of relevant research papers. A research-intensive group project in an area related to program parallelization is a fundamental part of the course. The projects can be done individually or in small teams of two or three people. The project outcome will be presented in a class session at the end of the semester. A list of suggested research projects has been posted (project\_suggestions.txt). Students are also encouraged to propose their own projects and discuss them with me.\\ {\large {\bf Prerequisites: }}It would be good for you if you had basic understanding of operating system principles, basic architecture and some knowledge of network programming. These are not strict pre-requisites though, most of the necessary material will be covered in class.\\ {\large {\bf Marking Scheme: }} \begin{itemize} \item{Research paper presentation - 10\%} \item{Research paper summaries - 10\%} \item{Assignments - 10\% each (expect 1 or 2)} \item{Class participation - 10\%} \item{Project report and presentation - remaining \%} \end{itemize} %%%%%%%%%% ECE1762F %%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{ECE1762F - Algorithms \& Data Structures} {\em All information for this course is taken from: http://www.eecg.toronto.edu/\~{}ece1762/1762.html}\\ {\large {\bf Instructor: }}A. Veneris\\ {\large {\bf Course Description: }}This course covers fundamentals of computer algorithms and data structures. The objective is to give the audience an introduction to combinatorial modeling, algorithms and the underlying analysis. It also aims to present a wide range of fundamental data structures and examine their complexity in terms of space/time. In brief, the course will start with a review of a number of basic combinatorial tools such as recurrences, worst/best/average case analysis, probability, and discrete mathematics (summations, principles of counting, induction). Next, it will present a wide range of fundamental data structures and algorithms along with a detailed analysis of their time/space behavior and real life use. Topics include searching and sorting, dictionary operations, dynamic programming, greedy methods, graph algorithms (shortest paths, maximum flow), intro to NP-completeness, approximation algorithms and one advanced topic of choice such as matrix multiplication, FFT or amortized analysis.\\ Algorithms and data structures along with an in-depth performance analysis is an important subject and has numerous applications in different areas of computer engineering such as software design, distributed computing, networking and wireless computing, programming languages, compilers, operating systems, multimedia and security, computer architecture, and digital circuit design.\\ This is a homework (problem solving) course and all topics are exercised on paper for the student to gain expertise on the subject. Theory is presented in class (lecture) and tutorial concentrates on homework. No programming is required. Auditing is welcome but strongly not recommended; a student will need to do homeworks and take the exams to digest the ideas.\\ {\large {\bf Prerequisites: }}You are assumed to have taken undergraduate level courses in discrete mathematics (ECE-203) and introductory algorithms \& data structures (ECE-242). Additional background such as CSC-364 or CSC-378 will help but it is not mandatory. Most introductory material will also be reviewed throughout the class.\\ {\large {\bf Marking Scheme: }} \begin{itemize} \item{One midterm, 100min long - 25\%} \item{One final, 140min long - 40\%} \item{Five homeworks - 35\%} \end{itemize} All exams are open book/notes. Homeworks are done individually. Extensions to the homework are sometimes given to all students and it is arranged in class. %%%%%%%%%% ECE1774F %%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{ECE1774F - Sensory Cybernetics} {\em All information for this course is taken from: http://ccnet.utoronto.ca/20049/ece1774hf}\\ {\large {\bf Instructor: }}W. Wong\\ {\large {\bf Course Description: }}This course covers the application of electrical engineering techniques to the study of the human senses. More and more engineers find it important to include the human user as part of the design process, hence the need for a proper understanding of the human perceptual process. Examples include multimedia, human-computer interaction and medical devices. We will cover the application of information theory and signal detection theory to the study of the human senses. Other topics include sensorineural engineering, the measurement of human performance, as well as an introduction to the requisite physiology and psychology. Course work will involve a research project and a final examination.\\ {\large {\bf Prerequisites: }}ECE302H, ECE351H or equivalent course in probability theory.\\ {\large {\bf Marking Scheme: }} \begin{itemize} \item{Final Exam - 50\%} \item{Project - 50\%} \end{itemize} %%%%%%%%%% ECE1775F %%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{ECE1775F - Microphone Arrays: Theory and Application} {\large {\bf Instructor: }}P. Aarabi\\ {\bf There was NO information found online for this course! Please fill in when available...} %%%%%%%%%% ECE1776F %%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{ECE1776F - Computer Security, Cryptography and Privacy} {\em All information for this course is taken from: http://www.eecg.toronto.edu/\~{}lie/ECE1776/}\\ {\large {\bf Instructor: }}D. Lie\\ {\large {\bf Course Description: }}This course covers the practical aspects of modern computer security. We will examine the techniques by which systems are compromised, and in turn learn to build systems that are more secure against attacks. The course will cover topics in Application Level Security, including stack smashing and format string attacks, methods of securing code and web browser security. It will also include an introduction into cryptographic techniques including common ciphers and mechanisms. Finally Hardware, System and Network security will be discussed.\\ {\large {\bf Prerequisites: }}This course is intended primarily for graduate students and those interested in pursuing research in computer system security. 4th-year undergraduates may take the course at the discretion of the instructor. Knowledge of material covered in an operating systems course such as ECE344 or equivalent is required, as well as a comfortable level of C.\\ {\large {\bf Marking Scheme: }} \begin{itemize} \item{Presentation - 20\%} \item{Assignments - 20\%} \item{Class Participation - 10\%} \item{Final Project - 50\%} \end{itemize} \section{Communication Group - Course Information} %%%%%%%%%% ECE1500F %%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{ECE1500F - Stochastic Processes} {\em All information for this course is taken from: http://ccnet.utoronto.ca/20049/ecd1500hf}\\ {\large {\bf Instructor: }}B. Liang\\ {\large {\bf Course Description: }}An introduction to stochastic processes and probabilistic modeling with emphasis on communication system applications.\\ {\large {\bf Prerequisites: }}Introductory probability and linear systems, or consent of instructor.\\ {\large {\bf Marking Scheme: }} \begin{itemize} \item{Homework - 10\%} \item{Midterm Exam - 40\%} \item{Final Exam - 50\%} \end{itemize} There will be bi-weekly homework assignments, one midterm exam, and one final exam. Homework will be graded solely on the basis of effort, not correctness. Solutions to the homework problems will be available when they are due, usually two weeks after they are assigned. The exam problems will be similar to the homework problems (so it would be wise to treat the homework assignments seriously) %%%%%%%%%% ECE1501F %%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{ECE1501F - Error Control Codes} {\em All information for this course is taken from: http://ccnet.utoronto.ca/20049/ece1501hf}\\ {\large {\bf Instructor: }}I. F. Blake\\ {\large {\bf Course Description: }}This course is an introduction to error control coding. The field of error control coding is aimed at devising efficient encoding and decoding procedures to achieve reliable transmission of information across channels which are corrupted by noise. The course will focus on the various encoding and decoding schemes that have proved important in practice.\\ {\bf Algebraic coding: }The mathematical theory of finite fields, linear block codes and their properties, bounds etc., cyclic codes, BCH codes, Reed-Solomon codes, hard decision decoding algorithms (~ 7 weeks) {\bf Convolutional code: }Convolutional codes, hard and soft decision decoding, the Viterbi algorithm, trellis coded modulation (~ 2 weeks) {\bf LDPC codes: }turbo codes, low density parity check codes, iterative decoding algorithms, the sum-product algorithms, erasure codes and linear complexity coding/decoding (~ 3 weeks)\\ {\large {\bf Prerequisites: }}None given.\\ {\large {\bf Marking Scheme: }} \begin{itemize} \item{Midterm Exam - 40\%} \item{Final Exam - 60\%} \end{itemize} Grades will be assigned on the basis of midterm and final exams. There will be several problem sets throughout the term. These will not be graded but solutions will be posted and difficulties will be discussed in lectures. %%%%%%%%%% ECE1508F %%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{ECE1508F - Sp. Topics in Communcication: Probabilistic Inference Algorithms \& Applications} {\large {\bf Instructor: }}B. Frey\\ {\bf There was NO information found online for this course! Please fill in when available...} %%%%%%%%%% ECE1520F %%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{ECE1520F - Data Communications I} {\em All information for this course is taken from: http://www.comm.utoronto.ca/\~{}limtj/ECE1520}\\ {\large {\bf Instructor: }}T. J. Lim\\ {\large {\bf Course Description: }}This course introduces students to advanced but fundamental concepts in digital communications primarily between a source and a destination. Multi-user concepts will be introduced briefly if time permits.\\ {\large {\bf Prerequisites: }}None given.\\ {\large {\bf Marking Scheme: }} \begin{itemize} \item{Homework (best 5 out of 6) - 20\%} \item{Quiz 1 - 20\%} \item{Quiz 2 - 20\%} \item{Final Exam - 40\%} \end{itemize} %%%%%%%%%% ECE1529F %%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{ECE1529F - Adaptive Systems for Signal Processing and Communications} {\em All information for this course is taken from: http://ccnet.utoronto.ca/20049/ece1529hf}\\ {\large {\bf Instructor: }}K. N. Plataniotis\\ {\large {\bf Course Description: }}ECE 1529 is devoted to the mathematical aspects of adaptive systems. Both theory and practice are covered with particular emphasis on areas, such as detection, estimation, pattern recognition and optimization.\\ It is expected that students will attend class regularly and work all of the assigned problems. I encourage you to work together on the assignments. The assignments can be viewed as an interactive student learning experience. Solutions to the assigned problems will be given to you as a learning tool. Copying and distribution of solutions to future students will be considered a violation of the code of ethics. The purpose of the project is to allow the student to study an application area of her particular interest in greater depth than can be done in class.\\ {\large {\bf Prerequisites: }}Probability and Random Processes, Linear Algebra, Signal Processing, Digital Communications.\\ {\large {\bf Marking Scheme: }} \begin{itemize} \item{Midterm Exam (open book, 2hr) - 30\%} \item{Project - 30\%} \item{Final Exam (open book, 3hr) - 40\%} \end{itemize} %%%%%%%%%% ECE1531F %%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{ECE1531F - Quantum Information Theory} {\em All information for this course is taken from: http://ccnet.utoronto.ca/20049/ece1531hf}\\ {\large {\bf Instructor: }}H. K. Lo\\ {\large {\bf Course Description: }}This course is an introduction to quantum information theory. We will focus on the theory of quantum communication and quantum cryptography. Quantum information processing offers some dramatic advantages over conventional information processing. For instance, quantum computers can efficiently break standard encryption schemes such as RSA. Therefore, much of conventional cryptography will fall apart if a quantum computer is ever built. Moreover, quantum cryptography allows perfectly secure communications with its security guaranteed by the fundamental laws of physics. Many institutions in the world are currently experimenting with technologies for implementing quantum information processing. We survey recent progress and open questions in quantum information theory.\\ {\large {\bf Prerequisites: }}None given.\\ {\large {\bf Marking Scheme: }}Not Specified. %%%%%%%%%% ECE1541F %%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{ECE1541F - Communication Networks I} {\em All information for this course is taken from: http://ccnet.utoronto.ca/20049/ece1541hf}\\ {\large {\bf Instructor: }}S. Valaee\\ {\large {\bf Course Description: }}Communication Networks is a graduate course that investigates performance of computer and communication networks. We will discuss analytical techniques that address Traffic Modelling, Poisson Process, Bursty Traffics, Self-similarity and Long-range Dependence, Statistical Multiplexing, Layering and Encapsulation, WAN and LAN networks, ARQ, Queueing Systems, Multiple Access Networks, Routing in IP Networks, Flow Control, Scheduling, Traffic Regulation, QoS Provisioning, Fairness, Wireless LANs and Ad Hoc Networks.\\ {\large {\bf Prerequisites: }}None given.\\ {\large {\bf Marking Scheme: }} \begin{itemize} \item{Final Exam - 40\%} \item{Project - 30\%} \item{Assignment - 30\%} \end{itemize} %%%%%%%%%% ECE1548F %%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{ECE1548F - Advanced Network Architectures} {\em All information for this course is taken from: http://ccnet.utoronto.ca/20049/ece1548hf} {\large {\bf Instructor: }}A. Leon-Garcia\\ {\large {\bf Course Description: }}The objective of this course is to present the key trends in the evolution of network architectures and the services and applications they support. Part I. Existing Architectures: Telephone network call model, Signaling and Intelligent Network; Internet architecture principles and transparency and security challenges; Wireless mobile networks and evolution to Third Generation wireless; SONET self-healing transport networks; Network and resource management systems. Part II. Technology Trends: Moore's law and future device capabilities; Radio processing and spectrum; Optical switching and processing; Generalized signaling; Self-healing and self-regulating systems; Service creation systems. Part III. Emerging Network Architectures: Novel network elements that combine switching and processing; Converged IP networks; Integrated mobile wireless networking; Consolidated transport networks; New service and application delivery platforms; Peer-to-Peer and Service Overlay Networks.\\ {\large {\bf Prerequisites: }}None given.\\ {\large {\bf Marking Scheme: }}Not Specified. %%%%%%%%%%%%%%%%%%%%%%%%% SPRING %%%%%%%%%%%%%%%%%%%%%%%%% \chapter{Spring Courses} \section{List of Courses} % COMPUTER GROUP COURSES \begin{table}[ht] \centering \begin{tabular}{||c|l|c||} \hline\hline \multicolumn{3}{||c||}{Computer Group Spring Courses}\\ \hline Course Code&Title&Professor\\ \hline\hline ECE516S&Personal Cybernetics \& Intelligent Imaging Systems&S. Mann\\ ECE532S&Digital Hardware&P. Chow\\ ECE540S&Optimizing Compilers&M. J. Voss\\ \multirow{2}{*}{ECE1718S}&Sp. Topics in Computer Hardware: &\multirow{2}{*}{J. G. Steffan}\\ &Design - Modern \& Emerging Architectures&\\ ECE1754S&Compilation Techniques for Parallel Processors&T. S. Abdelrahman\\ ECE1769S&Behavioral Synthesis of Digital Integrated Circuits&J. Zhu\\ ECE1770S&Trends in Middleware Systems - Selected Topics \& Concepts&H. A. Jacobsen\\ ECE1771S&Quality-of-Service Provisioning in Mobile Networks&B. Li\\ ECE1772S&Motion Analysis in Computer Vision&W. J. MacLean\\ \hline\hline \end{tabular} \caption{Computer Group Spring Courses} \end{table} % COMM GROUP COURSES \begin{table}[ht] \centering \begin{tabular}{||c|l|c||} \hline\hline \multicolumn{3}{||c||}{Communication Group Spring Courses}\\ \hline Course Code&Title&Professor\\ \hline\hline ECE1502S&Information Theory&W. Yu\\ ECE1512S&Digital Image Processing and Applications&A. N. Venetsanopoulos\\ ECE1515S&Smart Antennas&R. Adve\\ ECE1543S&Mobile Communication Systems&E. S. Sousa\\ \hline\hline \end{tabular} \caption{Communication Group Spring Courses} \end{table} \section{Computer Group - Course Info} \section{Communication Group - Course Info} \end{document}