I am from the small tropical island of Mauritius, Indian Ocean. I completed my high school education at a public catholic school named College du Saint-Esprit (CSE) where I studied sciences in an educational system based on the British educational system. Students in Mauritius, just like in Singapore, sit for the Ordinary Level (O-Level) and Advanced Level (A-Level) examinations, administered by the University of Cambridge International Examinations (CIE), which operates under the University of Cambridge, Cambridge, United Kingdom.

After my A-Levels, I decided to pursue a Bachelor of Applied Science, at the University of Toronto, as a Computer Engineering major. In hindsight, my four years in quest of the Iron Ring went by fast. Skule life was busy but fun above all. The experience was very rewarding in terms of academic learning and personal growth.

During my 4 years of undergrad, I was awarded the McAllister J E scholarship and the University of Toronto scholarship. I was also on the Dean's List throughout my undergrad. In terms of extra-curricular activities, I played intramurals soccer on the Innis Soccer Team for 2 years and I subsequently joined the Skule (Engineering) Div 1 Soccer Team. I am also the co-founder of the University of Toronto Mauritian Society (UTMS) and served as its President, Vice-President and for the past 3 years, I have been an active member in the capacity of webmaster.

In June 2005, I graduated from the Computer Engineering program, with honours standing. This brings me to where I am now (as of September 2005), pursuing a Master of Applied Science degree at the University of Toronto. I am part of the Computer Systems Lab, which operates under the Computer Engineering Group within the Department of Electrical and Computer Engineering. I'm working under the supervision of Professor David Lie. For more information, check out my research page.
Date:
Jan 2006 - Apr 2006
Instructor:
Description:
Modern computer systems have become tightly intertwined with our daily lives. However, they are complex, failure-prone and insecure and thus hardly dependable. They are also difficult to manage so that configuring systems by even expert humans is overwhelmingly complex, rarely correct, and often results in decreased dependability and increased vulnerabilities. These problems have become even more severe with increased networking and with easy availability of inexpensive, powerful and embedded devices.

While these dependability problems dominate cost of ownership of computer systems, unfortunately they have no simple solutions. There is a realization that these problems cannot be decisively solved but are ongoing facts of life that must be dealt with regularly. To do so, systems should be designed to detect, isolate and recover from these problems.

This graduate-level course focuses on dependability in software systems and examines current research that aims to address challenges caused by software defects, intrusions and software misconfiguration. Students are expected to read and critique recent research papers in operating systems and networking that cover these areas. They are also expected to work on a research project and make class presentations.
Date:
Jan 2006 - Apr 2006
Instructor:
Description:
This course examines the design and analysis of selected aspects of operating systems and distributed systems. It covers topics such as concurrency and distributed communication; fault-tolerance, availability, and persistence; and operating system structure. Lectures focus on the principles used in the design of operating systems and distributed systems, and algorithms and data structures used in their implementation. Readings include case studies, seminal papers, and recent conference and journal articles.
Date:
Sep 2005 - Dec 2005
Instructor:
Description:
Internet systems and services have grown to become indispensable tools; we use them to buy books online, to schedule flights, to chat with people world-wide, or to download multimedia content, such as songs and movies. Despite the Internet's apparent maturity, we are far from understanding how to build fast, scalable, fault-tolerant, and, secure Internet-scale systems. Exploring current solutions and understanding their limitations is an important prerequisite in designing the next generation of Internet systems and services. The need for highly scalable, available, and secure large networked systems is likely to be exacerbated as the Internet becomes as ubiquitous as the telephone and utility networks.

This course is intended to be a tour through modern Internet systems. Topics include peer-to-peer systems, clusters, Web systems, content delivery networks, and Internet security. The course's goals are:
  • To be familiar with a number of influential and interesting papers on these topics;
  • To understand the state-of-the-art in modern Internet systems;
  • To understand how Internet systems research is done and evaluated;
  • To investigate novel ideas over a short-term project.
Date:
Sep 2005 - Dec 2005
Instructor:
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.
Date:
Sep 2005 - Dec 2005
Instructor:
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.
Date:
Sep 2004 - Apr 2005
Description:
Students will choose a design project that involves going from concept to working prototype. Students are expected to work in teams. Some of the proposed design projects may involve interaction with industry. A group project summary must be submitted within the first two weeks of the first session. A group technical proposal must be submitted halfway through the first session. Formal progress reports are required from each member of a team at the end of the first session and midway through the second session. A final group report is required at the end of the second session. Students will give a seminar during the second session and will give a poster presentation of their work to the Third Year students during the latter half of the second session. In addition, lectures given during the first session will develop expertise in various areas related to design. Design project requirements and selection are defined during the Winter Session of Third Year.
Date:
Jan 2005 - Apr 2005
Instructor:
Description:
This is an introductory course in digital filtering and applications. Introduction to real-world signal processing. Review of sampling and quantization of signals. Review of the discrete Fourier transform (DFT). The fast Fourier transform (FFT). Design and realization of digital filters: finite impulse response (FIR) filters, infinite impulse response (IIR) filters. DSP hardware: basic elements, I/O methods, finite word-length arithmetic and noise, architecture issues and design philosophy. DSP applications to communications: decimators and interpolators, power spectrum estimation, equalization. DSP applications in multi-media: data and voice communications, comparametric equations and imaging.
Date:
Jan 2005 - Apr 2005
Instructor:
Description:
This course will cover the fundamentals of protocols for packet switching networks with emphasis on Internet type of networks including the following topics: the Internetworking concept and architectural model; data link layer (Ethernet and PPP); service interface; Internet addresses; address resolution protocol; Internet protocol (connectionless datagram delivery); routing IP datagrams; Internet control message protocol (error and control messages); subnet and supernet address extensions; ping program; traceroute program; user datagram protocol; reliable stream transport service (TCP); the socket interface; routing (GGP, EGP, IP, OSPF, HELLO); Internet multicasting; domain name system; applications such as HTTP, electronic mail, and SNMP; Internet security and firewall design; Ipv6, RSVP, flows, and ISIP.
Date:
Jan 2005 - Apr 2005
Instructor:
Description:
The course will cover the fundamentals of multimedia systems with particular emphasis on the theory, features, design, performance, complexity analysis and application of multimedia engineering technologies. Topics include audio, image and video characterization, compression requirements, source entropy and hybrid coding, transform coding, wavelet-based coding, motion estimation, JPEG, JPEG2000, MPEG style video coding, objectbased processing, and multimedia indexing and retrieval.
Date:
Jan 2005 - Apr 2005
Description:
The economic evaluation and justification of engineering projects and investment proposals are discussed. Cost concepts; financial and cost accounting; depreciation; the time value of money and compound interest; inflation; capital budgeting; equity, bond and loan financing; income tax and after-tax cash flow; measures of economic merit in the private sector; sensitivity and risk analysis. Applications: evaluations of competing engineering project proposals; replacement analysis; economic life of assets; lease versus buy decisions; break-even analysis; decision tree analysis. Entrepreneurship, the Canadian business environment and the business plan for a new venture will be discussed.
Date:
Sep 2004 - Dec 2004
Description:
Concepts, approaches, and techniques in database management systems (DBMS): relational data bases, querying and updating a data base, query language SQL, data base constraints and database design, elements of data base technology.
Date:
Sep 2004 - Dec 2004
Description:
The software development process. Software requirements and specifications. Software design techniques. Techniques for developing large software systems; CASE tools and software development environments. Software testing, documentation and maintenance.
Date:
Sep 2004 - Dec 2004
Instructor:
Description:
Students in the Communication Networks option should take either this course or the sequence ECE416H1 F, ECE417H1 S if they want a more in-depth coverage of physical layer communications. This course will cover various issues in the design of the physical layer of data communication systems. Topics covered include: Digital representations: sampling, quantization, pulse-code modulation, data compression, entropy coding; Pulse transmission: pulse energy, signal power, bandwidth, intersymbol interference, Nyquist's criterion; Channel models: Gaussian channels, fading channels, binary and M-ary modulation, pulse-amplitude modulation, phase-shift keying, quadrature amplitude modulation, optimum detection, performance analysis; Error control: channel coding, block codes, convolutional codes, channel capacity.
Date:
Sep 2004 - Dec 2004
Instructor:
Description:
Concepts in high performance processor design, with a focus on hardware but stressing the importance of how software interacts with the hardware to achieve performance. Instruction set design, memory system design, pipelining, instruction issue techniques. Multiprocessors, interconnection networks, algorithms, process and processor synchronization.
Date:
Jan 2004 - Apr 2004
Description:
General techniques for efficient algorithm design: greedy algorithms, dynamic programming, network flow, linear programming. Introduction to complexity theory: models of computation, the classes P and NP, polynomial time reducibility and NP-completeness, heuristic algorithms. Introduction to the theory of computability.
Date:
Jan 2004 - Apr 2004
Instructor:
Description:
An introduction to dynamic systems and their control. Differential equation models of physical systems such as robots, helicopters, power systems, thermal systems, and chemical processes. Linearization and transfer functions. Feedback control systems; transient and steady-state analysis. The concept of system stability, stability of feedback systems, Routh-Hurwitz stability criterion. Root locus. Introduction to design of feedback controllers. Simulation of systems using Simulink and computer-aided analysis using MATLAB. Lab: Control of a servomotor.
Date:
Jan 2004 - Apr 2004
Instructor:
Description:
Bus design. Input/output subsystems. Direct memory access techniques. Interconnection standards. Transmission line effects. Noise and shielding considerations in digital circuits. The course emphasizes design techniques in typical application environments.
Date:
Jan 2004 - Apr 2004
Instructor:
Description:
Operating system structures, concurrency, synchronization, deadlock, CPU scheduling, memory management, file systems. The laboratory exercises will require implementation of part of an operating system.
Date:
Jan 2004 - Apr 2004
Instructor:
Description:
Network architecture and topology. Ring, bus, tree and star networks. The ISO reference model: other models. The physical and data link layers. The network layer for point-to-point networks; satellite, packet radio and local area networks. The transport, session, presentation and application layers. Network interconnection; network standards (IEEE, ISO, ISDN, Arpanet, SNA, Map, etc.).
Date:
Sep 2003 - Dec 2003
Instructor:
Description:
Study of programming styles and paradigms. Included are imperative, functional, logic-based and object-oriented approaches. Languages that support these programming styles will be introduced. Languages treated include C, Lisp, Prolog, and Smalltalk.
Date:
Sep 2003 - Dec 2003
Instructor:
Description:
Basic principles and properties of probability. Random variable, distribution and density functions. Expectation, moments, characteristic function, correlation coefficient. Functions of random variables. Bernoulli trials, Binomial, Poisson and Gaussian distributions. Introduction to random processes. Applications will be chosen from reliability theory, estimation and hypothesis testing, linear models for data, noise in devices, random number generation and simulation. Textbook: A. Leon-Garcia, Probability and Random Processes for Electrical Engineering, Addison-Wesley.
Date:
Sep 2003 - Dec 2003
Instructor:
Description:
Signals and linear systems. Discrete-time and continuous-time systems. Input-output relations for linear time-invariant systems. Fourier analysis for continuous-time signals and systems. Fourier analysis for discrete-time signals. Filtering. Communication systems; linear modulation techniques. The sampling theorem with application to pulse-code modulation.
Date:
Sep 2003 - Dec 2003
Instructor:
Description:
Digital design techniques for integrated circuits. The emphasis will be on the design of logic gates at the transistor level. A number of different logic families will be described, but CMOS will be emphasized. Review of: device modelling, IC processing, and Spice simulation, simplified layout rules, inverter noise margins, transient response, and power dissipation, traditional CMOS logic design, transmission gates, RC timing approximations, input-output circuits, latches and flipflops, counters and adders, decoders and muxes, dynamic gates, SRAMs, DRAMs, and EEPROMs.
Date:
Sep 2003 - Dec 2003
Instructor:
Description:
Basic computer structure. Design of central processing unit. Hardwired and microprogrammed control. Input-output. Arithmetic circuits. Assembly language programming. Main memory organization. Peripherals and interfacing. Microprocessors. System design considerations. The laboratory will consist of experiments involving logic systems and microprocessors. Design activity constitutes a major portion of laboratory work. Textbook: V.C. Hamacher, Z.G. Vranesic and S.G. Zaky, Computer Organization, 5th. ed., McGraw-Hill, 2001.
Date:
Sep 2002 - Apr 2003
Description:
The basic principles and methods of sociology applied to the study of human societies; social sources of differing values and conceptions of reality, and the influences of these on the behaviour of individuals, patterns of relations among groups, and social stability and change.
Date:
Jan 2003 - Apr 2003
Description:
Sets and set operations, propositional logic, predicate logic, rules of inference, methods of proof, induction, relations, functions, graphs, graph algorithms, trees, combinatorics.
Date:
Jan 2003 - Apr 2003
Instructor:
Description:
The theory of electromagnetism is presented in terms of Maxwell's Equations. The equations are applied to electrostatic, and magnetostatic problems, with and without material media. Simple analytic and numerical solutions of Laplace's, and Poisson's equations (in cartesian, cylindrical and spherical coordinate systems) are presented.
Date:
Jan 2003 - Apr 2003
Instructor:
Description:
An introduction to electronic circuits using operational amplifiers, diodes, bipolar junction transistors and field-effect transistors. Textbook: A.S. Sedra, and K.C. Smith, Microelectronic Circuits, 4th ed., Oxford University Press, 1997.
Date:
Jan 2003 - Apr 2003
Description:
Digital logic circuit design and hands-on use of state-of-the-art CAD tools to design digital circuits using programmable logic devices. Algebraic representation of logic functions and variables; truth tables. Optimization of combinational logic, using "don't cares". Multi-level logic optimization. Transistor-level design of logic gates; propagation delay and timing of gates and circuits. The Verilog hardware description language. Sequential digital logic - cross-coupled NOR gates, latches and clocked flip-flops. Set-up and hold times of sequential logic. Finite state machines - design and implementation. Binary number representation, hardware addition and multiplication. Tri-state gates, and multiplexors. Field-Programmable Gate Arrays (FPGAs). There is a major lab component using Complex Programmable Logic Devices (CPLDs) and Altera Max + plus II (software).
Date:
Sep 2002 - Dec 2002
Description:
Nodal and loop analysis and network theorems. Natural and forced response of RL, RC, and RLC circuits. Sinusoidal steady-state analysis; polyphase circuits. Frequency response; resonance phenomena; poles and zeros; applications of the Laplace transform.
Date:
Sep 2002 - Dec 2002
Description:
Analysis of algorithms and complexity notation. Recursion and recurrence relations. Techniques for algorithm design. Program development; top-down analysis, modular design. Elementary data structures. Dynamic data structures. Abstract data types. Stacks, queues, linked lists, trees. Searching and sorting. Case studies. Students write a number of assigned programs using a modern programming language.
Date:
Sep 2002 - Dec 2002
Description:
Basic complex analysis: complex numbers and topology of the complex plane, continuity and differentiability of complex functions, power series and convergence tests, elementary complex functions, contour integration, Cauchy-Goursat theorem and Cauchy integral formula, Taylor and Laurent series, residue theorem (if time permits, geometry of complex mappings, conformal mapping). Applications selected from evaluation of real integrals, planar flows and potential theory, Laplace transform and inversion by residues, transform solution of ordinary differential equations with constant coefficients.
Date:
Sep 2002 - Dec 2002
Description:
The chain rule for functions of several variables; the gradient. Maxima and minima, Lagrange multipliers. Multiple integrals; change of variables, Jacobians. Line integrals, independence of path, Green's theorem. The gradient, divergence and curl of a vector field. Surface integrals; parametric representations, applications from electromagnetic fields, Gauss' theorem and Stokes' theorem.
Date:
Jan 2002 - Apr 2002
Description:
The course introduces students to best available practices modern engineers use for dealing with the social and environmental effects of technology. The theoretical framework is based on the observation that the common denominator of all these practices involves an understanding of how technology interacts with human life, society and the environment and the application of that understanding to adjust design and decision-making to ensure that technology meets our needs without undermining our life-support systems. Applications will be surveyed in four areas: materials and production, energy, work and cities. The methods and approaches of the social sciences and humanities are applied to critical issues in modern engineering.
Date:
Jan 2002 - Apr 2002
Description:
A course in physical chemistry. Topics discussed include systems and their states, the properties of gases, the laws of chemical thermodynamics (calculations involving internal energy, enthalpy, free energy, and entropy), phase equilibrium, chemical equilibrium, ionic equilibrium, acids and bases, solutions, colligative properties, electrochemistry, and corrosion.
Date:
Jan 2002 - Apr 2002
Description:
Vector calculus. Coulomb's and Gauss's law. Electric field of discrete and continuous charge distributions. Electric potential, energy and capacitance. Current and forces on moving charges. Resistance and DC circuits with one loop. Magnetic fields. Ampere's law, Bio-Savart's formula, examples in rings and coils. Induction: Faraday's law, induced electric fields, motional emf. Examples and applications: inductance. RLC transients.
Date:
Jan 2002 - Apr 2002
Description:
Techniques of integration, introduction to second order differential equations, sequences and series, vector-valued functions, functions of several variables, partial differentiation. Applications to mechanics and other engineering problems.
Date:
Jan 2002 - Apr 2002
Description:
Kinematics of particles in 3-D, curvilinear motion. Kinetics of particles. Newton's law, linear and angular momentum, work, energy, and impulse reactions, kinetics of systems with timevarying mass, central force motion, impact. Kinematics and kinetics of translation and plane rotation of rigid bodies. Vibrations, forced oscillations.
Date:
Sep 2001 - Dec 2001
Description:
An introduction to computer systems and problem solving using computers. The process of developing software. Topics include: the representation of information, programming techniques, algorithms and program organization using objects. Array and pointer-based data structures, including stacks, queues, linked lists,and trees. Searching and sorting. Basic computer organization, operating systems, and applications. The laboratory reinforces the lecture topics and develops essential programming skills using a modern programming language such as Java or C++.
Date:
Sep 2001 - Dec 2001
Description:
An introduction to the art and science of designing structures; material bodies that sustain or resist forces. Newton's laws, concepts of force, equilibrium of forces at a point, use of free body diagrams. Concepts of stress and strain, work, energy.
Date:
Sep 2001 - Dec 2001
Description:
This course is designed to develop students' competence in writing expository and persuasive prose, taking into account the forms and conventions of professional writing. By focusing both on the process of composition (prewriting, drafting, revising, and editing) and on effective organizational strategies (description, definition, comparison/contrast, cause/effect, problem/solution, process analysis, classification/division), the course shows students how to create professional documents that communicate their message clearly, logically, and convincingly. Students will be asked to write about 7000 words in papers of various kinds and length, including business letters, memos, e-mails, formal reports, informal reports, and graphical presentations.
Date:
Sep 2001 - Dec 2001
Description:
Limits and continuity, differentiation, maximum and minimum problems, definite and indefinite integrals, application of integration to geometry, mechanics, and other engineering problems, introduction to first order differential equations.
Date:
Sep 2001 - Dec 2001
Description:
Systems of linear equations; matrices; determinants; vectors, lines and planes in 3 dimensions; Rn; vector spaces; eigenvalues and eigenvectors; introduction to products; applications. Geometric and physical intuition together with precision and rigour are emphasized.