Version: October 29, 2014, 19:20

Course Descriptions

Astronomy

AS101: Astronomy I: Our Place in the Cosmos

An introduction to the science of astronomy, the process by which we develop astronomical principles and the application of these techniques to gain a modern understanding of our Solar System. Topics covered include the historical development of astronomy, understanding the night sky, Newton's law of gravitation, light and telescopes, and a detailed study of the Solar System. New data from recent explorations of Mars, Saturn and other celestial objects will be discussed.

Credit: 0.50
Exclusion: AS105

AS102: Astronomy II: Journey Through the Cosmos

A journey beyond our Solar System to develop a modern understanding of other stars, galaxies and the structure, origin and fate of the universe. Includes an introduction to basic concepts of relativity and quantum mechanics, lives of stars, evolution of galaxies, Hubble's law and the Big Bang. Objects such as black holes, supernovae, pulsars, dark matter and wormholes are encountered and studied along the way.

Credit: 0.50
Prerequisite: AS101
Exclusion: AS105


Computer Science

CP102: Information Processing with Microcomputer Systems

An introduction to the concepts of microcomputer hardware and software applications in a hands-on environment. Examples are based on the needs of students in the arts and sciences and are intended to give background knowledge and experience in the use of the microcomputer as a tool for many different applications. Topics include the history of technological innovation in microcomputer systems, design and operation, input/output devices, storage media and techniques, communications, operating systems, word processors, spreadsheets, statistics packages, computer-aided design and drawing, database management and system utilities.

3 lecture hours, 1 lab hour
Credit: 0.50
Exclusion: BU115, BU155, MB115; registration in BA or BSc programs in Computer Science or Physics; CS100 (University of Waterloo)

CP104: Introduction to Programming

An introductory course designed to familiarize the student with modern software development techniques. Emphasis is on problem-solving and structured program design methodologies. Programming projects are implemented in a widely used high-level language. (This course may be "challenged for credit".)

3 lecture hours, 2.5 lab hours
Credit: 0.50

CP114: Data Structures

Introduction to analysis of algorithms, data structures, recursion, searching, sorting, linked lists, queues, stacks, trees.

3 lecture hours, 2.5 lab. hours
Credit: 0.50
Prerequisite: CP104

CP120: Digital Electronics

Introduction to digital logic: logic gates; combinational circuit analysis using boolean algebra and Karnaugh maps; number systems and codes; minimization techniques applied to combinational logic systems; flip-flops, multivibrators, counters and shift registers.

3 lecture hours, 1.5 lab hours
Credit: 0.50
Cross-Listed: as PC120

CP200: Electronics Laboratory I

Experiments in analog electronics intended for those with no previous exposure to electronics. Use of common lab equipment: meters, oscilloscopes, power supplies, function generators. Measurement of current, voltage, resistance, and continuity. Fundamentals of series and parallel DC networks. Identification and use of common DC circuits: such as pull-up resistors, current limiting resistors, variable resistors, voltage dividers, bridge circuits. Analog characteristics of digital gates: voltage and current limits, propagation delay, tri-state, open collector.

1 lecture hour, 2.5 lab hours
Credit: 0.25
Cross-Listed: as PC200
Prerequisite: PC120 or PC132

CP202: Website Design

This course provides an in depth understanding of website design and administration, short of server-side programming. Emphasis is on standards, good design practices, accessibility, and tools. By the end of the course students should have the skills to administer a website, deal with security issues, design readable, informative, attractive and accessible web pages that fit current standards, and apply a logical and consistent navigational scheme to an entire website.

Credit: 0.50
Prerequisite: CP102 or CP104
Exclusion: Registration in BA or BSc programs in Computing.

CP212: Windows Application Programming

This course is designed for students who have a basic understanding of spreadsheets, word processors, and databases as well as introductory programming experience. The course introduces methods to automate repetitive tasks and create user-friendly applications in spreadsheets, word processors, and databases using the powerful macro language, Visual Basic for Applications (VBA). Topics include: a review of programming constructs such as data types, looping, conditional statements, and arrays; the design of graphical interfaces with the typical "look and feel" of Windows software; the design of dialog boxes with controls and eventhandling code that responds to user input; automating tasks; consolidating data; providing userfriendly reports.

3 lecture hours, 1 lab hour
Credit: 0.50
Prerequisite: CP102 and previous programming experience, or CP104

CP213: Introduction to Object-Oriented Programming

Fundamentals of object-oriented programming, classes, subclasses, inheritance, references, overloading, event-driven and concurrent programming, using modern application programming interface. The language Java will be used.

3 lecture hours, 1 lab hours
Credit: 0.50
Prerequisite: CP114

CP216: Microprocessor I

A comprehensive study of a current commercial microprocessor, its architecture and assembly language. Emphasis on (1) the relationship between architecture, assembly language and system operation, and (2) the relationship between assembly language, high level languages and operating systems.

3 lecture hours, 1 lab hour
Credit: 0.50
Prerequisite: CP120/PC120 and CP114

CP217: Introduction to System Programming

Introduction to the C language. Contemporary ideas and techniques in system programming using the C language. Using and implementing software tools: filters, pipelines, sorts, text patterns and others. Introduction to Unix operating system and Unix commands. Shell programming in Unix.

3 lecture hours, 1 lab hour
Credit: 0.50
Prerequisite: CP114
Exclusion: CP264

CP300: Electronics Laboratory II

Experiments in interfacing analog inputs and analog output transducers to digital systems. Resistive, self-generating, digital, intelligent and semiconductor based sensors. Motors, solenoids, relays, and other actuators. Controlling AC power with solid state relays, thyristors and triacs. Operational amplifiers, bridge circuits, and other signal conditioning techniques. Design considerations such as minimizing noise. Analog-to-digital convertors and digital-to-analog convertors.

1 lecture hour, 3 lab hours
Credit: 0.25
Cross-Listed: as PC300
Prerequisite: CP200
Co-requisite: PC319 recommended

CP310: Special Topics

A detailed examination of a field or topic of interest not covered by the regular program. Irregular course.

Credit: 0.50
Prerequisite: Permission of the department.

CP310A: Introduction to Quantum Computing

Quantum computing offers the possibility of dramatic advances in computational power compared to the best computers we have today. In addition, novel quantum protocols such as teleportation and unconditionally secure communication have already been demonstrated. This course provides an introduction to this exciting and cutting-edge field. Topics include an overview of quantum theory, quantum algorithms, teleportation, secure quantum communication, error correction and the latest state-of-the-art experiments. No prior knowledge of quantum mechanics is required.

Credit: 0.50
Prerequisite: MA122 and students must be in 3rd or 4th year, majoring in physics (or photonics), computer science, mathematics or chemistry.

CP312: Algorithm Design and Analysis I

Analysis of the best, average, and worse case behaviors of algorithms. Algorithmic strategies: brute force algorithms, greedy algorithms, divide-and-conquer, branch and bound, backtracking. Fundamental computing algorithms: O (n log n) sorting, hash table, binary trees, depth- and breadth-first search of graphs.

Credit: 0.50
Prerequisite: CP213 (MA238 recommended)

CP315: Introduction to Scientific Computation

An introduction to scientific computation, with substantial use of scientific software, such as Maple and Matlab. Scientific problems and models from different disciplines are considered. Numerical methods introduced in this course include interpolation, curve fitting, solving (systems of) linear and nonlinear equations, eigenvalue problems, integration and solving ordinary and partial differential equations.

Credit: 0.50
Cross-Listed: as PC315
Prerequisite: CP104, MA110* (or MA103), MA122, MA205
Exclusion: CP225/PC225

CP316: Microprocessor Systems & Interfacing

Interfacing a microprocessor or microcontroller with external devices for real-time hardware control. Microcontroller hardware and software in real time applications; serial and parallel IO; timing generation; priority interrupt structures and servicing; bus timing. Interpretation and use of industry documentation and data sheets.

3 lecture hours, 2.5 lab hours
Credit: 0.50
Prerequisite: CP216, CP300/PC300

CP317: Software Engineering

Discussion of software development activities, including software process models, analysis, design, implementation, testing, project management and advanced topics. Both traditional and object-oriented methods are considered.

Credit: 0.50
Prerequisite: CP213, CP217 or CP264
Exclusion: CP417

CP319: Digital System Design

Logic families and interfacing considerations for logic devices, VHDL; implementation techniques for combinational and sequential logic; introduction to finite state machines and design methodologies for synchronous and asynchronous sequential circuits; hazards, cycles and races; operation and interfacing of memory devices.

Credit: 0.50
Cross-Listed: as PC319
Prerequisite: CP104, CP120/PC120
Co-requisite: CP300/PC300 recommended

CP331: Parallel Programming

Parallel computers, or supercomputers or high-performance clusters are ubiquitous today in science and engineering. Parallel programming requires inventing new algorithms and programming techniques. This course will cover the fundamental paradigms of parallel programming, with an emphasis on problem solving and actual applications. The parallel programming concepts and algorithms will be illustrated via implementations in OpenMP and MPI (Message Passing Interface), as well as serial farming.

3 lecture hours.
Credit: 0.50
Prerequisite: CP217 (proficiency in C is the only actual prerequisite).
Exclusion: CP400N

CP363: Database I

Introduction to database systems. Topics include data models, query languages, database design, recovery and concurrency, integrity and security.

Credit: 0.50
Prerequisite: CP114

CP364: Data Communications and Networks

Data communication fundamentals, with an emphasis on the physical layer, and telecommunication networks, with an emphasis on the architectures and protocols will be studied. Topics include transmission media, digital data transmission, architectures of telecommunication networks.

3 lecture hours, 1.5 lab hours
Credit: 0.50
Cross-Listed: as PC364
Prerequisite: CP120/PC120, CP200/PC200, or PC212 (or PC210 and PC211)

CP372: Computer Networks

Introduction to computer communication networks. The OSI reference model. Protocols for error and flow control. Medium access protocols. Routing and congestion control. Internet architecture and protocols. Unix network programming.

Credit: 0.50
Prerequisite: CP213, CP386 (formerly CP466)

CP373: Ethics and Professional Practice in Computer Science

Introduction to ethics, computer reliability and safety, privacy, computer crime, intellectual property, impact of computers on work and society. Assessment includes written assignments and oral presentations.

Credit: 0.50
Prerequisite: Registration in Year 3 or Year 4 BA or BSc in Computing or Physics
Exclusion: CP400L

CP386: Operating Systems

Topics include operating system services, file systems, CPU scheduling, memory management, virtual memory, disk scheduling, deadlocks, concurrent processes, protection and distributed systems.

Credit: 0.50
Prerequisite: CP216, CP217 or CP264
Exclusion: CP466

CP395: Directed Studies

A detailed study of an aspect of computer science or computer electronics not available through the regular program. Irregular course.

Credit: 0.50
Prerequisite: Registration status: Year 3 or 4 of an Honours Computer Science or Honours Computing & Computer Electronics program and permission of both the department and the instructor.

CP400: Special Topics

A detailed examination of a field or topic of interest not covered by the regular program. Irregular Course

Credit: 0.50
Prerequisite: Permission of the Department

CP411: Computer Graphics

The principles, algorithms, and techniques of computer graphics. Topics include introduction to graphics hardware, output primitives, two- and three-dimensional geometric transformations, three-dimensional object representation and viewing, illumination models and surface-rendering methods. Graphics software tools will be introduced in this course.

Credit: 0.50
Prerequisite: CP114, MA122, CP217 or CP264

CP412: Algorithm Design and Analysis II

A continuation of the study of computer algorithms. Amortized analysis, on-line and off-line algorithms, randomized algorithms, dynamic programming.

Credit: 0.50
Prerequisite: CP312, MA238

CP414: Foundations of Computing

Deterministic and nondeterministic finite automata (DFAs and NFAs), regular expressions, context-free grammars, relationship of push-down automata and context-free grammars, definintion of the classes P and NP, NP-completeness (Cook's Theorem), standard NP-complete problems, reduction techniques, Turing machines, the halting problem.

Credit: 0.50
Prerequisite: CP312, MA238

CP460: Applied Cryptography

Algorithms and issues in applied cryptography. Topics include history of cryptography, block ciphers, stream ciphers, public-key encryption, digital signatures, and key management. Also, discussions of current issues in information security.

Credit: 0.50
Prerequisite: CP213, MA121

CP461: Introduction to Computational Aspects of Bio-informatics

Introduction to the basic computational problems arising in molecular biology. Emphasis is on the development of efficient algorithms. Topics include sequence comparison, fragment assembly of DNA, physics and genetic mapping of DNA, genome rearrangements, molecular structure prediction. No background in biology is required.

Credit: 0.50
Prerequisite: CP213
Exclusion: CP400G

CP463: Simulation

Discrete and continuous simulations, queuing theory.

Credit: 0.50
Prerequisite: MA240 (or equivalent), CP213

CP464: Selected Topics in Computer Hardware

Topics may include computer classes and evolution, instruction set design, hardwired sequencer design, microprogramming, memory hierarchies, concurrency, multiple-processor systems, and fault-tolerant systems. Students will be required to design and build a computer, including the design of the instruction set and the control unit.

Credit: 0.50
Prerequisite: CP316, PC319

CP465: Database II

This course covers advanced database management system design principles and techniques. Possible topics include access methods, query processing and optimization, transaction processing, distributed databases, deductive databases, object-relational databases, data warehousing, data mining, Web and semistructured data, search engines, etc.

Credit: 0.50
Prerequisite: CP363
Exclusion: CP400H

CP467: Image Processing & Pattern Recognition

Introduction to vision systems for image acquisition and display. Comprehensive coverage of image enhancement, segmentation, feature extraction and classification.

Credit: 0.50
Prerequisite: CP213, MA240 (or equivalent), MA255 recommended

CP468: Artificial Intelligence

Examination of current concepts and techniques in artificial intelligence and machine learning. Topics include knowledge representation, automated reasoning, machine learning and knowledge-based systems. Extensive use of case studies and current applications.

Credit: 0.50
Prerequisite: CP213

CP469: iPhone Application Programming

Programming applications for the iPhone, iPad, and iPod platforms, using the Cocoa Touch framework on Mac OSX. Introduction to the programming language Objective-C. Interface development for mobile devices and dealing with different input modalities, web services, and memory management for mobile devices.

Credit: 0.50
Prerequisite: CP317 and Registration status: Year 4 of an Honours Computer Science or Honours Computing and Computer Electronics program.
Exclusion: CP400m

CP471: Introduction to Compiling

Principles and design techniques for compilers. Compiler organization, compiler writing tools, scanning, parsing, semantic analysis, run-time storage organization, memory management, code generation and optimization. Students implement a substantial portion of a compiler in a project.

Credit: 0.50
Prerequisite: CP213, CP216
Exclusion: CP400K

CP472: Programming Languages

Overview of programming languages, virtual machines, history of programming languages, programming language semantics, programming language design, introduction to language translation, declarations and types, abstraction mechanism, functional programming, logic programming, object-oriented programming.

Credit: 0.50
Prerequisite: CP213, CP217 or CP264
Exclusion: CP400J

CP476: Internet Computing

The architecture of the Internet. Client-server programming, technologies of the web (URLs, HTML, HTTP, applets, etc.) Introduction to building web applications and server-side programming.

Credit: 0.50
Prerequisite: CP363, CP372

CP480: Wireless Communication & Networks

This course introduces fundamental concepts of wireless networks. Topics include wireless communication overview, physical layer, wireless concepts and protocols including TCP over wireless; cellular standards, WIFI WIMax, and Bluetooth standards; applications such as personal area networks and sensor networks; other issues such as mobile communication security.

3 lecture hours and 1.5 lab hour per week
Credit: 0.50
Prerequisite: CP213, CP372 or CP364/PC364.
Exclusion: CP400P.

CP493: Directed Research Project I

An in-depth investigation of a computer science subject under faculty supervision, including the submission of a final report. Irregular course.

Credit: 0.50
Prerequisite: Registration status: Year 4 Honours Computing and Computer Electronics, or Computer Science, and permission of the department

CP494: Directed Research Project II

An in-depth investigation of a computer science subject under faculty supervision, including the submission of a formal report. Irregular course.

Credit: 0.50
Prerequisite: CP493 and permission of the Department.

CP495: Directed Studies

A detailed study of an aspect of computer science or computer electronics not available through the regular program. Irregular course.

Credit: 0.50
Prerequisite: Registration status: Year 4 Honours Computer Science or Honours Computing & Computer Electronics and permission of both the department and the instructor

CP496: Interdisciplinary Design Project I

This course gives students experience working in a group setting to solve a substantial problem that may span several areas of Computer Science, Electronics, Physics or Photonics. Students will define the requirements of the project, develop a solution plan, produce a design, and present their work using written and oral reports. (Irregular course)

Credit: 0.50
Cross-Listed: as PC496
Prerequisite: Registration in Year 4 BA or BSc in Computing or Physics or permission of the department.

CP497: Interdisciplinary Design Project II

This course gives students experience working in a group setting to solve a substantial problem that may span several areas of Computer Science, Electronics, Physics or Photonics. Students will continue the project begun in the preceding term. They will implement their design and demonstrate their work using written, oral, and video reports. (Irregular course)

Credit: 0.50
Cross-Listed: as PC497
Prerequisite: CP496/PC496 in the preceding term.

Physics

PC120: Digital Electronics

Introduction to digital logic: logic gates; combinational circuit analysis using boolean algebra and Karnaugh maps; number systems and codes; minimization techniques applied to combinational logic systems; flip-flops, multivibrators, counters and shift registers.

3 lecture hours, 1.5 lab hours
Credit: 0.50
Cross-Listed: as CP120

PC131: Mechanics

Calculus-based course, which introduces basic principles of physics. Detailed topics covered: one-dimensional motion, vectors, motion in two and three dimensions, force and motion, kinetic energy and work, potential energy, conservation of energy, collisions and momentum, rotational motion, simple harmonic motion, torque, angular momentum, and gravitation.

3 lecture hours, 1 tutorial hour, 2.5 lab hours alternate weeks
Credit: 0.50
Prerequisite: OAC or Grade 12U Physics or Advanced Functions and Introductory Calculus
Co-requisite: MA110* or MA103 or MA105
Exclusion: PC100*, PC110*, PC141, PC151, PC161

PC132: Thermodynamics and Waves

Calculus-based course, which introduces basic principles of physics. Detailed topics covered: elasticity, fluids, waves and sound, temperature and heat, the laws of thermodynamics, entropy, and an introduction to electricity.

3 lecture hours, 1 tutorial hour, 2.5 lab hours alternate weeks
Credit: 0.50
Prerequisite: PC131, MA110* (co-requisite) or MA103 or MA105.
Exclusion: PC100*, PC110*, PC142

PC141: Mechanics for the Life Sciences

Algebra-based course, which introduces basic principles of physics. Detailed topics covered: kinematics, motion in two dimensions, force, work and energy, linear momentum and collisions, circular motion and gravitation, rotational motion and equilibrium.

3 lecture hours, 2.5 lab hours
Credit: 0.50
Prerequisite: One of OAC or Grade 12U Biology, Chemistry, or Physics
Exclusion: PC100*, PC110*, PC131, PC151, PC161

PC142: Thermodynamics and Waves for the Life Sciences

Algebra-based course, which introduces basic principles of physics. Detailed topics covered: solids and fluids, temperature, heat, thermodynamics, vibrations and waves, sound.

3 lecture hours, 1 tutorial hour, 2.5 lab hours alternate weeks
Credit: 0.50
Prerequisite: PC141 or PC131
Exclusion: PC100*, PC110*, PC132

PC151: Mechanics

Identical to PC131 but without the labs.

Credit: 0.50
Prerequisite: OAC or Grade 12U Physics or Advanced Functions and Introductory Calculus
Co-requisite: MA100 or MA110* or MA103 or MA105
Exclusion: PC131, PC141, PC161, BSc degree programs, physics minor

PC152: Thermodynamics & Waves

Identical to PC132 but without the labs.

Credit: 0.50
Prerequisite: PC151 or PC131
Exclusion: PC132, PC142, PC162, BSc degree programs, physics minor

PC161: Mechanics for Life Sciences

Identical to PC141 but without the labs.

Credit: 0.50
Prerequisite: One of OAC or Grade 12U in Biology, Chemistry, or Physics
Exclusion: PC131, PC141, PC151, BSc degree programs, physics minor

PC162: Thermodynamics & Waves

Identical to PC142 but without the labs.

Credit: 0.50
Prerequisite: PC161 (or PC131 or PC141 or PC151)
Exclusion: PC132, PC142, PC152, BSc degree programs, physics minor

PC200: Electronics Laboratory I

Experiments in analog electronics intended for those with no previous exposure to electronics. Use of common lab equipment: meters, oscilloscopes, power supplies, function generators. Measurement of current, voltage, resistance, and continuity. Fundamentals of series and parallel DC networks. Identification and use of common DC circuits: such as pull-up resistors, current limiting resistors, variable resistors, voltage dividers, bridge circuits. Analog characteristics of digital gates: voltage and current limits, propagation delay, tri-state, open collector.

1 lecture hour, 2.5 lab hours
Credit: 0.25
Cross-Listed: as CP200
Prerequisite: PC120 or PC132

PC212: Electricity and Magnetism

Introduction to electrostatics and magnetostatics including Gauss' law, electric potential, capacitance, electromagnetic induction. Introductory DC and AC circuit theory. Electromagnetic waves.

3 lecture hours, 1 tutorial hour
Credit: 0.50
Prerequisite: PC131, PC132 (or PC141 and PC142), MA122, and one of MA110* or MA103 or MA105.
Exclusion: PC210, PC211

PC221: Analog Electronics I

AC circuit theory, complex impedance, resonance, Norton and Thvenin Theorems, semiconductor diodes, bipolar transistors, bias circuits, h-parameters, amplification, feedback.

3 lecture hours, 2 lab hours
Credit: 0.50
Prerequisite: CP200/PC200, PC212 (or PC210).

PC235: Classical Mechanics

This is an intermediate level course in classical mechanics. The major topics covered are Newtonian dynamics, dynamics of particles, non-inertial frames of reference, Lagrangian and Hamiltonian dynamics, oscillations, rigid body motion.

Credit: 0.50
Prerequisite: PC131, MA201, MA205.

PC236: Fundamentals of Photonics

Introduction to photonics, the science and technology of generating and controlling light (photons). Topics include overview of optics, light wave fundamentals, lasers, and applications of photonics in science and engineering, such as bioimaging and optical fibre communication.

Credit: 0.50
Prerequisite: Registration status: senior student, or permission of the department.
Exclusion: PC135; Honours Photonics students in year 3 or 4

PC237: Optics

Nature of light: Huygen's principle, Fermat's principle. Geometrical optics: reflection and refraction at plane and curved surfaces, lenses and lens systems. Wave optics: interference, diffraction, polarization.

3 lecture hours, 2 lab hours
Credit: 0.50
Prerequisite: PC131, PC132 (or PC141, PC142) and one of MA110* or MA103 or MA105.

PC242: Modern Physics

Failure of classical physics and early quantum theory, blackbody radiation and Planck's theory, the photoelectric effect and light quanta, wave particle duality, Compton scattering, De Broglie and matter waves, Davisson and Germer experiment, energy quantization, Bohr's theory of hydrogen, topics in atomic theory and the periodic table, X-ray spectra, molecules, phenomenological description of solids, Fermi statistics, conduction, semiconductors, energy bands. Nuclear physics, radioactivity, and modern particle physics, accelerators. Relativity.

Credit: 0.50
Prerequisite: PC131, PC132, (or PC141, PC142), MA205.

PC300: Electronics Laboratory II

Experiments in interfacing analog inputs and analog output transducers to digital systems. Resistive, self-generating, digital, intelligent and semiconductor based sensors. Motors, solenoids, relays, and other actuators. Controlling AC power with solid state relays, thyristors and triacs. Operational amplifiers, bridge circuits, and other signal conditioning techniques. Design considerations such as minimizing noise. Analog-to-digital convertors and digital-to-analog convertors.

1 lecture hour, 3 lab hours
Credit: 0.25
Cross-Listed: as CP300
Prerequisite: PC200
Co-requisite: PC319 recommended

PC310: Special Topics

A detailed examination of a field or topic of interest not covered by the regular program. Irregular course.

Credit: 0.50
Prerequisite: Permission of the department.

PC310A: Introduction to Quantum Computing

Quantum computing offers the possibility of dramatic advances in computational power compared to the best computers we have today. In addition, novel quantum protocols such as teleportation and unconditionally secure communication have already been demonstrated. This course provides an introduction to this exciting and cutting-edge field. Topics include an overview of quantum theory, quantum algorithms, teleportation, secure quantum communication, error correction and the latest state-of-the-art experiments. No prior knowledge of quantum mechanics is required.

Credit: 0.50
Prerequisite: MA122 and students must be in 3rd or 4th year, majoring in physics (or photonics), computer science, mathematics or chemistry.

PC315: Introduction to Scientific Computation

An introduction to scientific computation, with substantial use of scientific software, such as Maple and Matlab. Scientific problems and models from different disciplines are considered. Numerical methods introduced in this course include interpolation, curve fitting, solving (systems of) linear and nonlinear equations, eigenvalue problems, integration and solving ordinary and partial differential equations.

Credit: 0.50
Cross-Listed: as CP315
Prerequisite: CP104, MA110* (or MA103), MA122, MA205
Exclusion: CP225/PC225

PC319: Digital System Design

Logic families and interfacing considerations for logic devices, VHDL; implementation techniques for combinational and sequential logic; introduction to finite state machines and design methodologies for synchronous and asynchronous sequential circuits; hazards, cycles and races; operation and interfacing of memory devices.

Credit: 0.50
Cross-Listed: as CP319
Prerequisite: CP104, CP120/PC120
Co-requisite: CP300/PC300 recommended

PC321: Quantum Mechanics I

The Schroedinger equation, interpretation of the wave function, expectation value, Ehrenfest's theorem, wave packets, stationary states and energy quantization, potential wells and potential barriers, Kronig-Penney model, scattering and tunneling, the harmonic oscillator, Schroedinger equation in three dimensions, the hydrogen atom, WKB approximation.

Credit: 0.50
Prerequisite: PC242, MA205, MA255

PC322: Solid State Device Physics

Operating principles of solid state devices from the viewpoint of the quantum theory, silicon and germanium diodes, tunnel diodes, junction transistors, special topics.

Credit: 0.50
Prerequisite: PC242

PC331: Quantum Mechanics II

Advanced quantum mechanics. Topics covered include identical particles, time-independent and time-dependent perturbation theory, variational principle and Wentzel-Kramers-Brillouin approximation.

Credit: 0.50
Prerequisite: PC321, MA205

PC344: Thermodynamics and Statistical Mechanics

An introduction to thermodynamics and its statistical basis at the microscopic level, with applications to problelms originating in a modern laboratory or engineering environment. Topics include thermodynamics of model systems, Maxwell-Boltzmann distribution, quantum statistics and applications.

Credit: 0.50
Prerequisite: PC131, PC132, (or PC141 and PC142), MA201.

PC360: Electromagnetic Theory

Maxwell's equations, plane wave theory of waveguides, radiating systems.

Credit: 0.50
Prerequisite: PC212 (or PC211), PC237, MA201, MA205

PC364: Data Communications and Networks

Data communication fundamentals, with an emphasis on the physical layer, and telecommunication networks, with an emphasis on the architectures and protocols will be studied. Topics include transmission media, digital data transmission, architectures of telecommunication networks.

3 lecture hours, 1.5 lab hours
Credit: 0.50
Cross-Listed: as CP364
Prerequisite: CP120/PC120, CP200/PC200, or PC212 (or PC210 and PC211)

PC395: Directed Studies

A detailed study of an aspect of computer electronics, photonics or physics not available through the regular program. Irregular course.

Credit: 0.50
Prerequisite: Registration status: Year 3 or 4 of an Honours Physics, Honours Photonics or Honours Computing & Computer Electronics program and permission of both the department and the instructor.

PC400: Special Topics

A detailed examination of a field or topic of interest not covered by the regular program. (Irregular course)

Credit: 0.50
Prerequisite: Permission of the Department.

PC400A: Quantum-nano Science & Devices

0.5
Credit:

PC421: Photonics Devices

Design and operation of modern optoelectronic devices. Semiconductor band structure, semiconductor and metal-semiconductor junctions, optical gain and absorption in semiconductors, modal and charge-carrier confinement, rate equations, semiconductor heterostructures, light-emitting diodes, quantum-well structures, distributed feedback and vertical-cavity lasers, signal modulation, photodetectors.

Credit: 0.50
Prerequisite: PC454 (or PC322), PC482.

PC450: Instrumentation

Amplifiers and filters, temperature transducers including thermistors, semiconductor diodes, and thermocouples, photodetectors, strain and pressure sensing, analog-to-digital and digital-to-analog conversion, true RMS measurements, data acquisition systems, the IEEE 488 instrumentation bus, special topics.

Credit: 0.50
Prerequisite: PC120, PC221

PC454: Solid State Physics

The purpose of this course is to acquaint the student with the fundamentals of solid state physics. This emphasis is on understanding the behavior of electrons in metals and semiconductors. Topics discussed: crystal structure, reciprocal lattice, crystal binding and elastic constants, phonons, free-electron Fermi gas, energy bands, semiconductor crystals and Fermi surfaces.

Credit: 0.50
Prerequisite: PC321

PC471: Analog Electronics II

Amplifiers, oscillators, operational amplifiers, active filters, special circuits.

Credit: 0.50
Prerequisite: PC221

PC474: Optical Networks

A study of the building blocks, the architecture, and realization of optic networks; new developments in optic network technology, such as DWDM.

3 lecture hours, 1.5 lab hours
Credit: 0.50
Prerequisite: PC364, PC481

PC475: Design of Control Systems

Modeling of physical systems using differential equations, block diagrams, signal flow graphs, transfer functions, step response, PID controller, root locus design, Bode plots, Nyquist stability criteria, state-space design.

Credit: 0.50
Prerequisite: PC221, MA205

PC481: Fibre Optics

Types of fibres. Basic theory: characteristics, numerical aperture, losses, dispersion, modes. Passive fibre devices: couplers, connectors, splices. Light sources: LED, solid and semiconductor lasers. Modulators. Detectors. Systems design.

3 lecture hours, 2 lab hours
Credit: 0.50
Prerequisite: PC237

PC482: Lasers and Electro-optics

An introduction to steady-state theories of laser oscillators and amplifiers, spectroscopy of laser media, population inversion mechanism in gaseous and solid-state systems. Topics include propagation of optical beams in homogenous and lens like media, optical resonators and some specific laser systems.

Credit: 0.50
Prerequisite: PC331, PC344, PC360

PC491: Directed Research Project I

An in-depth investigation of a topic under faculty supervision, including the submission of a formal report.

Credit: 0.50
Prerequisite: Registration status: Year 4 Honours Computing and Computer Electronics, Honours Physics or Honours Photonics and permission of the department.

PC492: Directed Research Project II

An in-depth investigation of a topic under faculty supervision, including the submission of a formal report.

Credit: 0.50
Prerequisite: PC491 and permission of the Department

PC495: Directed Studies

A detailed study of an aspect of computer electronics, photonics or physics not available through the regular program. Irregular course.

Credit: 0.50
Prerequisite: Registration status: Year 4 Honours Physics, Honours Photonics or Honours Computing & Computer Electronics and permission of both the department and the instructor.

PC495A: Fourier Optics

Fourier transforms, Fourier series, convolution and correlation in two dimensions, plane and spherical electromagnetic waves, propagation through apertures, Talbot effect, Fourier transforming property of a lens, coherent and incoherent imaging, Fourier-plane image filtering, Gaussian beams, computational approaches.

Credit: 0.50
Prerequisite: MA255

PC496: Interdisciplinary Design Project I

This course gives students experience working in a group setting to solve a substantial problem that may span several areas of Computer Science, Electronics, Physics or Photonics. Students will define the requirements of the project, develop a solution plan, produce a design, and present their work using written and oral reports. (Irregular course)

Credit: 0.50
Cross-Listed: as CP496
Prerequisite: Registration in Year 4 BA or BSc in Computing or Physics or permission of the department.

PC497: Interdisciplinary Design Project II

This course gives students experience working in a group setting to solve a substantial problem that may span several areas of Computer Science, Electronics, Physics or Photonics. Students will continue the project begun in the preceding term. They will implement their design and demonstrate their work using written, oral, and video reports. (Irregular course)

Credit: 0.50
Cross-Listed: as CP497
Prerequisite: CP496/PC496 in the preceding term.