Computer engineers study and build the most general machine ever devised, a device that combines language and physics to do anything that can be done. Self-driving cars, robotics, mobile devices, e-commerce, wireless communications, the Internet of Things and other advances are all built by Computer Engineers.
We start by teaching the core concepts in computer hardware and software that you will use to design and implement solutions to the ever-increasing range of engineering challenges.
As a Computer Engineering student, you will gain deep knowledge about hardware and software design, as well be uniquely qualified to work on computer systems. You will take courses in computation, system design and other specialized areas, including robotics and virtual reality. This theoretical knowledge is balanced with hands-on experience. Lassonde Computer Engineering students have access to our state-of-the-art facilities – Digital Systems Lab and Robotics Lab.
A minimum of 30 course credits and at least half (50 percent) of the course credits required in each undergraduate degree program major/minor must be taken at York University.
Most 2000-, 3000-, and 4000-level EECS courses require the following general (that is, common) prerequisites, in addition to other course-specific prerequisites: a cumulative grade point average of 4.50 or better over all completed major EECS courses.
For more on specific degree requirements, view our academic calendar.
Most 2000-, 3000-, and 4000-level EECS courses require the following general (that is, common) prerequisites, in addition to other course-specific prerequisites: a cumulative grade point average of 4.50 or better over all completed major EECS courses.
For more on specific degree requirements, view our academic calendar.
Degree Checklists are a complete listing of all program-specific courses required for successful graduation.
• A strong programming foundation, spanning object-oriented (e.g., Java), assembly (e.g., RISC-V), and hardware description (e.g., Verilog) languages
• Complex digital system design including FPGA and VLSI hardware instantiations
• Exposure to advanced electronic CAD tools
• Embedded systems and digital logic design including sensor interfacing & actuation of electromechanical devices
• Sophisticated software development methods (design patterns, unit testing, etc.) with applications to robotics, networking, graphics, etc.
• Rapid prototyping of electronic and mechatronic systems
• Digital signal processing using MATLAB modelling software
• Design-to-application of digital communication interfaces and networks
• Unix system programming, shell scripting, virtual memory, multi-threading and other OS specifics
• Complex digital system design including FPGA and VLSI hardware instantiations
• Exposure to advanced electronic CAD tools
• Embedded systems and digital logic design including sensor interfacing & actuation of electromechanical devices
• Sophisticated software development methods (design patterns, unit testing, etc.) with applications to robotics, networking, graphics, etc.
• Rapid prototyping of electronic and mechatronic systems
• Digital signal processing using MATLAB modelling software
• Design-to-application of digital communication interfaces and networks
• Unix system programming, shell scripting, virtual memory, multi-threading and other OS specifics
• IBM
• Nascent
• Caseware
• CGI
• RBC
• Thales
• The Regional Municipality of York
• Ontario Ministry of Education
• Ontario Ministry of Training, Colleges and Universities
• Nascent
• Caseware
• CGI
• RBC
• Thales
• The Regional Municipality of York
• Ontario Ministry of Education
• Ontario Ministry of Training, Colleges and Universities
First Year
Fall
EECS 1101, 3 Credits
The Objectives of 1011 are threefold: providing a first exposure to procedural programming, teaching students a set of soft computing skills (such as reasoning about algorithms, tracing programs, test-driven development), and demonstrating how computers are used in a variety of engineering disciplines. It uses problem-based pedagogy to expose the underlying concepts and an experiential laboratory to implement them. An integrated computing environment (such as MATLAB) is used so that students can pick up key programming concepts(such as variables and control flow) without being exposed to complex or abstract constructs. The problems are chosen with consultation with the various engineering disciplines in the Faculty with a view of exposing how computing is used in these disciplines. Two hours per week for instructors lectures and three hours per week for lab work and tutorials. Prerequisites: None. Course credit exclusions: LE/EECS1541 3.00.
The Objectives of 1011 are threefold: providing a first exposure to procedural programming, teaching students a set of soft computing skills (such as reasoning about algorithms, tracing programs, test-driven development), and demonstrating how computers are used in a variety of engineering disciplines. It uses problem-based pedagogy to expose the underlying concepts and an experiential laboratory to implement them. An integrated computing environment (such as MATLAB) is used so that students can pick up key programming concepts(such as variables and control flow) without being exposed to complex or abstract constructs. The problems are chosen with consultation with the various engineering disciplines in the Faculty with a view of exposing how computing is used in these disciplines. Two hours per week for instructors lectures and three hours per week for lab work and tutorials. Prerequisites: None. Course credit exclusions: LE/EECS1541 3.00.
MATH 1028, 3 Credits
An introduction to propositional logic and application to switching circuits; sets, relations and functions; predicate logic and proof techniques; induction with applications to program correctness; basic counting techniques with applications; graphs and trees with applications in circuit analysis, information storage and retrieval, Huffman coding; automata and applications in software engineering. Prerequisites: MHF4U (Advanced Function) and MCV4U (Calculus and Vectors). Course Credit exclusions: LE/CSE 1019 3.00 (prior to Fall 2014), LE/EECS 1019 3.00, SC/CSE 1019 3.00 (prior to Summer 2013), SC/MATH 1019 3.00, SC/MATH 2320 3.00.
An introduction to propositional logic and application to switching circuits; sets, relations and functions; predicate logic and proof techniques; induction with applications to program correctness; basic counting techniques with applications; graphs and trees with applications in circuit analysis, information storage and retrieval, Huffman coding; automata and applications in software engineering. Prerequisites: MHF4U (Advanced Function) and MCV4U (Calculus and Vectors). Course Credit exclusions: LE/CSE 1019 3.00 (prior to Fall 2014), LE/EECS 1019 3.00, SC/CSE 1019 3.00 (prior to Summer 2013), SC/MATH 1019 3.00, SC/MATH 2320 3.00.
MATH 1013, 3 Credits
Introduction to the theory and applications of both differential and integral calculus. Limits. Derivatives of algebraic and trigonometric functions. Riemann sums, definite integrals and the Fundamental Theorem of Calculus. Logarithms and exponentials, Extreme value problems, Related rates, Areas and Volumes. Prerequisite: SC/MATH 1515 3.00 or SC/MATH 1520 3.00, or a high school calculus course. Course credit exclusions: SC/MATH 1000 3.00, SC/MATH 1300 3.00, SC/MATH 1505 6.00, SC/MATH 1513 6.00, SC/MATH 1530 3.00, SC/MATH 1550 6.00, GL/MATH/MODR 1930 3.00, AP/ECON 1530 3.00. Prior to Fall 2009: Prerequisite: AS/SC/MATH 1515 3.00 or AS/SC/MATH 1520 3.00, or a high school calculus course. Course credit exclusions: AS/SC/MATH 1000 3.00, AK/AS/SC/MATH 1300 3.00, AS/SC/MATH 1505 6.00, AS/SC/MATH 1513 6.00, AS/MATH 1530 3.00, AK/AS/MATH 1550 6.00, GL/MATH/MODR 1930 3.00, AS/ECON 1530 3.00.
Introduction to the theory and applications of both differential and integral calculus. Limits. Derivatives of algebraic and trigonometric functions. Riemann sums, definite integrals and the Fundamental Theorem of Calculus. Logarithms and exponentials, Extreme value problems, Related rates, Areas and Volumes. Prerequisite: SC/MATH 1515 3.00 or SC/MATH 1520 3.00, or a high school calculus course. Course credit exclusions: SC/MATH 1000 3.00, SC/MATH 1300 3.00, SC/MATH 1505 6.00, SC/MATH 1513 6.00, SC/MATH 1530 3.00, SC/MATH 1550 6.00, GL/MATH/MODR 1930 3.00, AP/ECON 1530 3.00. Prior to Fall 2009: Prerequisite: AS/SC/MATH 1515 3.00 or AS/SC/MATH 1520 3.00, or a high school calculus course. Course credit exclusions: AS/SC/MATH 1000 3.00, AK/AS/SC/MATH 1300 3.00, AS/SC/MATH 1505 6.00, AS/SC/MATH 1513 6.00, AS/MATH 1530 3.00, AK/AS/MATH 1550 6.00, GL/MATH/MODR 1930 3.00, AS/ECON 1530 3.00.
MATH 1025, 3 Credits
Topics include spherical and cylindrical coordinates in Euclidean 3-space, general matrix algebra, determinants, vector space concepts for Euclidean n-space (e.g. linear dependence and independence, basis, dimension, linear transformations etc.), an introduction to eigenvalues and eigenvectors. Prerequisites: One 12U or OAC mathematics course or equivalent. Course credit exclusions: SC/MATH 1021 3.00, SC/MATH 2021 3.00, SC/MATH 2221 3.00, GL/MATH/MODR 26503.00. Prior to Fall 2009: Course credit exclusions: AK/AS/SC/MATH 1021 3.00, AS/SC/MATH 2021 3.00, AK/AS/SC/MATH 2221 3.00, GL/MATH/MODR 2650 3.00.
Topics include spherical and cylindrical coordinates in Euclidean 3-space, general matrix algebra, determinants, vector space concepts for Euclidean n-space (e.g. linear dependence and independence, basis, dimension, linear transformations etc.), an introduction to eigenvalues and eigenvectors. Prerequisites: One 12U or OAC mathematics course or equivalent. Course credit exclusions: SC/MATH 1021 3.00, SC/MATH 2021 3.00, SC/MATH 2221 3.00, GL/MATH/MODR 26503.00. Prior to Fall 2009: Course credit exclusions: AK/AS/SC/MATH 1021 3.00, AS/SC/MATH 2021 3.00, AK/AS/SC/MATH 2221 3.00, GL/MATH/MODR 2650 3.00.
PHYS 1800, 3 Credits
Survey of the fundamental concepts of statics and dynamics with an emphasis on engineering applications. This is a calculus-based course intended primarily for engineering students. It includes tutorial and laboratory components. Three lecture hours per week; Two laboratory hours per week (for a total of Nine sessions); One tutorial hour per week. One term. Three credits. Prerequisites: 12U Physics or OAC Physics or SC/PHYS 1510 4.00. MHF4U Advanced Functions and MCV4U Calculus and Vectors, or 12U Advanced Functions and Introductory Calculus, or OAC Algebra and OAC Calculus. Corequisites: SC/MATH 1013 3.00 or SC/MATH 1300 3.00 or SC/MATH 1505 6.00. Course Credit Exclusions: SC/PHYS 1010 6.00, SC/PHYS 1410 6.00, SC/PHYS 1420 6.00.
Survey of the fundamental concepts of statics and dynamics with an emphasis on engineering applications. This is a calculus-based course intended primarily for engineering students. It includes tutorial and laboratory components. Three lecture hours per week; Two laboratory hours per week (for a total of Nine sessions); One tutorial hour per week. One term. Three credits. Prerequisites: 12U Physics or OAC Physics or SC/PHYS 1510 4.00. MHF4U Advanced Functions and MCV4U Calculus and Vectors, or 12U Advanced Functions and Introductory Calculus, or OAC Algebra and OAC Calculus. Corequisites: SC/MATH 1013 3.00 or SC/MATH 1300 3.00 or SC/MATH 1505 6.00. Course Credit Exclusions: SC/PHYS 1010 6.00, SC/PHYS 1410 6.00, SC/PHYS 1420 6.00.
ENG 1101, 4 Credits
Who is an engineer and what are his/her ethical and academic integrity obligations; communications strategies for technical subjects in oral and written forms; dealing with ambiguity, uncertainties, and open-ended problems in a technical context, problem definition strategies. 4 hours per week lectures and 1 hour per week tutorial session.
Who is an engineer and what are his/her ethical and academic integrity obligations; communications strategies for technical subjects in oral and written forms; dealing with ambiguity, uncertainties, and open-ended problems in a technical context, problem definition strategies. 4 hours per week lectures and 1 hour per week tutorial session.
Winter
CHEM 1100, 4 Credits
The course is designed for Engineering students interested in refreshing and expanding their general chemistry knowledge while exploring the relationship between the structure of matter, properties and processing. This course will focus mainly on covering important introductory concepts to understand solution chemistry including reactivity, thermochemistry, structure and properties of materials. The course is divided into six sections. The first section covers an introduction to the topic of Materials Science and its impact on our daily lives as well as future trends and reviews key chemistry concepts required for this course. The second section will present the states of matter (gas, liquid and solid), their physical characteristics and the forces holding materials together (bonding and intermolecular forces). The third section will expend on the liquid phase and properties of solutions including equilibrium, solubility, pH and pKa. The fourth section will deal with thermochemistry and its first law with an emphasis on enthalpy as well as phase changes and phase diagrams. Section six will present an introduction to the properties of solids (electronic and mechanical) and criteria in the selection of materials will also be discussed. Section seven will present in more detail structure-properties and processing of soft materials (natural and artificial polymer) in the context of the material covered in the other sections. Four lecture hours per week, one tutorial hour per week, and three hours of laboratory or active learning exercises every other week. One term. Four credits. Prerequisites: 12U chemistry or equivalent. Course credit exclusion: SC/CHEM 1000 3.00.
The course is designed for Engineering students interested in refreshing and expanding their general chemistry knowledge while exploring the relationship between the structure of matter, properties and processing. This course will focus mainly on covering important introductory concepts to understand solution chemistry including reactivity, thermochemistry, structure and properties of materials. The course is divided into six sections. The first section covers an introduction to the topic of Materials Science and its impact on our daily lives as well as future trends and reviews key chemistry concepts required for this course. The second section will present the states of matter (gas, liquid and solid), their physical characteristics and the forces holding materials together (bonding and intermolecular forces). The third section will expend on the liquid phase and properties of solutions including equilibrium, solubility, pH and pKa. The fourth section will deal with thermochemistry and its first law with an emphasis on enthalpy as well as phase changes and phase diagrams. Section six will present an introduction to the properties of solids (electronic and mechanical) and criteria in the selection of materials will also be discussed. Section seven will present in more detail structure-properties and processing of soft materials (natural and artificial polymer) in the context of the material covered in the other sections. Four lecture hours per week, one tutorial hour per week, and three hours of laboratory or active learning exercises every other week. One term. Four credits. Prerequisites: 12U chemistry or equivalent. Course credit exclusion: SC/CHEM 1000 3.00.
EECS 1021, 3 Credits
The objective of 1021 is to introduce computational thinking – a process-based approach to problem-solving. It uses a problem-based pedagogy to expose the underlying concepts and an experiential laboratory to implement them. The programming language is chosen so that it is widely used in a variety of applications, is object-oriented, and is of industrial strength (Java is an example of such a language). The problems are chosen in order to expose abstract programming concepts by immersing them in relevant and engaging applications. The experiential laboratory is based on sensors and actuators that connect to a computer. The problems are chosen with consultation with the various engineering disciplines in the Faculty with a view of exposing how computing is used in these disciplines. Two hours per week lectures and three hours per week for lab work and tutorials. Prerequisites: LE/EECS1011 3.00. Course credit exclusions: LE/EECS 1022 3.00, LE/EECS1020 3.00, LE/CSE 1020 3.00, AK/AS/SC/CSE 1020 3.00.
The objective of 1021 is to introduce computational thinking – a process-based approach to problem-solving. It uses a problem-based pedagogy to expose the underlying concepts and an experiential laboratory to implement them. The programming language is chosen so that it is widely used in a variety of applications, is object-oriented, and is of industrial strength (Java is an example of such a language). The problems are chosen in order to expose abstract programming concepts by immersing them in relevant and engaging applications. The experiential laboratory is based on sensors and actuators that connect to a computer. The problems are chosen with consultation with the various engineering disciplines in the Faculty with a view of exposing how computing is used in these disciplines. Two hours per week lectures and three hours per week for lab work and tutorials. Prerequisites: LE/EECS1011 3.00. Course credit exclusions: LE/EECS 1022 3.00, LE/EECS1020 3.00, LE/CSE 1020 3.00, AK/AS/SC/CSE 1020 3.00.
MATH 1014, 3 Credits
Calculus in Polar Coordinates. Techniques of Integration. Indeterminate Forms. Improper Integrals. Sequences, infinite series and power series. Approximations. Introduction to ordinary differential equations. Prerequisite(s): One of SC/MATH 1000 3.00, SC/MATH 1013 3.00, SC/MATH 1300 3.00, or SC/MATH 1513 6.00; for non-science students only, six credits from SC/MATH 1530 3.00 and SC/MATH 1540 3.00, SC/MATH 1550 6.00, AP/ECON 1530 3.00 and AP/ECON 1540 3.00. Course credit exclusions: SC/MATH 1010 3.00, SC/MATH 1310 3.00, SC/MATH 1505 6.00, GL/MATH/MODR 1940 3.00. Prior to Fall 2009: Prerequisite(s): One of AS/SC/MATH 1000 3.00, AS/SC/MATH 1013 3.00, AK/AS/SC/MATH 1300 3.00, or AS/SC/MATH 1513 6.00; for non-science students only, six credits from AS/MATH 1530 3.00 and AS/MATH 1540 3.00, AK/AS/MATH 1550 6.00, AS/ECON 1530 3.00 and AS/ECON 1540 3.00. Course credit exclusions: AS/SC/MATH 1010 3.00, AK/AS/SC/MATH 1310 3.00, AS/SC/MATH 1505 6.00, GL/MATH/MODR 1940 3.00.
Calculus in Polar Coordinates. Techniques of Integration. Indeterminate Forms. Improper Integrals. Sequences, infinite series and power series. Approximations. Introduction to ordinary differential equations. Prerequisite(s): One of SC/MATH 1000 3.00, SC/MATH 1013 3.00, SC/MATH 1300 3.00, or SC/MATH 1513 6.00; for non-science students only, six credits from SC/MATH 1530 3.00 and SC/MATH 1540 3.00, SC/MATH 1550 6.00, AP/ECON 1530 3.00 and AP/ECON 1540 3.00. Course credit exclusions: SC/MATH 1010 3.00, SC/MATH 1310 3.00, SC/MATH 1505 6.00, GL/MATH/MODR 1940 3.00. Prior to Fall 2009: Prerequisite(s): One of AS/SC/MATH 1000 3.00, AS/SC/MATH 1013 3.00, AK/AS/SC/MATH 1300 3.00, or AS/SC/MATH 1513 6.00; for non-science students only, six credits from AS/MATH 1530 3.00 and AS/MATH 1540 3.00, AK/AS/MATH 1550 6.00, AS/ECON 1530 3.00 and AS/ECON 1540 3.00. Course credit exclusions: AS/SC/MATH 1010 3.00, AK/AS/SC/MATH 1310 3.00, AS/SC/MATH 1505 6.00, GL/MATH/MODR 1940 3.00.
MATH 1013, 3 Credits
A survey of physics in which fundamental concepts in electricity, magnetism and optics are emphasized through engineering applications. This is a calculus-based course intended primarily for engineering students. It includes tutorial and laboratory components. Three lecture hours per week. Two laboratory hours per week (for a total of 9 sessions). One tutorial hour per week. One term. Three credits. Prerequisites: SC/PHYS 1800 3.00. Course Credit Exclusions: SC/PHYS 1010 6.00, SC/PHYS 1410 6.00, SC/PHYS 1420 6.00
A survey of physics in which fundamental concepts in electricity, magnetism and optics are emphasized through engineering applications. This is a calculus-based course intended primarily for engineering students. It includes tutorial and laboratory components. Three lecture hours per week. Two laboratory hours per week (for a total of 9 sessions). One tutorial hour per week. One term. Three credits. Prerequisites: SC/PHYS 1800 3.00. Course Credit Exclusions: SC/PHYS 1010 6.00, SC/PHYS 1410 6.00, SC/PHYS 1420 6.00
ENG 1102, 4 Credits
This course will cover engineering design methodology; features and elements of good design with environment and human interface considerations; aesthetics in design and idea communication using graphics and technical drawings. Lectures: 4 hours per week for 12 weeks. Tutorials: 1 hour per week for 12 weeks Pre-req.: LE ENG 1101 4.0.
This course will cover engineering design methodology; features and elements of good design with environment and human interface considerations; aesthetics in design and idea communication using graphics and technical drawings. Lectures: 4 hours per week for 12 weeks. Tutorials: 1 hour per week for 12 weeks Pre-req.: LE ENG 1101 4.0.
Second Year
Fall
MATH 1090, 3 Credits
The syntax and semantics of propositional and predicate logic. Applications to program specification and verification. Optional topics include set theory and induction using the formal logical language of the first part of the course. Prerequisite: SC/MATH 1190 3.00 or SC/MATH 1019 3.00. Course credit exclusion: SC/MATH 4290 3.00.
The syntax and semantics of propositional and predicate logic. Applications to program specification and verification. Optional topics include set theory and induction using the formal logical language of the first part of the course. Prerequisite: SC/MATH 1190 3.00 or SC/MATH 1019 3.00. Course credit exclusion: SC/MATH 4290 3.00.
EECS 2011, 3 Credits
A study of fundamental data structures and their use in the efficient implementation of algorithms. Topics include abstract data types, lists, stacks, queues, trees and graphs. Prerequisites: cumulative GPA of 4.50 or better over all major EECS courses (without second digit “5”), LE/EECS 1030 3.00 or LE/EECS 2030 3.00, LE/EECS 1028 3.00 OR SC/MATH 1028 3.00 or LE/EECS 1019 3.00 or SC/MATH 1019 3.00. Previously offered as: LE/CSE 2011 3.00. The course discusses the fundamental data structures commonly used in the design of algorithms. Abstract operations on data structures are specified using pre and post conditions and/or system invariants. Trade-offs between a number of different implementations of each abstract data types (ADT) are analyzed. Each algorithm operating on data structures is proved correct using loop invariants or induction. Both formal and informal proofs are introduced though most of the reasoning is done informally. Data structures are coded and unit tested in an object-oriented language. Selecting the appropriate ADT and a suitable implementation depending on the application is covered. Prerequisites: EECS1019 or EECS1028, EECS1030 or 2030, MATHS1090
A study of fundamental data structures and their use in the efficient implementation of algorithms. Topics include abstract data types, lists, stacks, queues, trees and graphs. Prerequisites: cumulative GPA of 4.50 or better over all major EECS courses (without second digit “5”), LE/EECS 1030 3.00 or LE/EECS 2030 3.00, LE/EECS 1028 3.00 OR SC/MATH 1028 3.00 or LE/EECS 1019 3.00 or SC/MATH 1019 3.00. Previously offered as: LE/CSE 2011 3.00. The course discusses the fundamental data structures commonly used in the design of algorithms. Abstract operations on data structures are specified using pre and post conditions and/or system invariants. Trade-offs between a number of different implementations of each abstract data types (ADT) are analyzed. Each algorithm operating on data structures is proved correct using loop invariants or induction. Both formal and informal proofs are introduced though most of the reasoning is done informally. Data structures are coded and unit tested in an object-oriented language. Selecting the appropriate ADT and a suitable implementation depending on the application is covered. Prerequisites: EECS1019 or EECS1028, EECS1030 or 2030, MATHS1090
EECS 2021, 4 Credits
Introduction to computer organization and instruction set architecture, covering assembly language, machine language and encoding, addressing modes, single/multicycle datapaths (including functional units and controls), pipelining, memory segments and memory hierarchy. Prerequisites: cumulative GPA of 4.50 or better over all major EECS courses (without second digit “5”); LE/EECS 1021 3.00 or LE/EECS 1022 3.00 or LE/EECS 1720 3.00 or LE/EECS 1030 3.00. Previously offered as: LE/CSE 2021 4.00, SC/CSE 2021 4.00.
Introduction to computer organization and instruction set architecture, covering assembly language, machine language and encoding, addressing modes, single/multicycle datapaths (including functional units and controls), pipelining, memory segments and memory hierarchy. Prerequisites: cumulative GPA of 4.50 or better over all major EECS courses (without second digit “5”); LE/EECS 1021 3.00 or LE/EECS 1022 3.00 or LE/EECS 1720 3.00 or LE/EECS 1030 3.00. Previously offered as: LE/CSE 2021 4.00, SC/CSE 2021 4.00.
EECS 2030, 3 Credits
This course continues the separation of concern theme introduced in LE/EECS 1020 3.00 and LE/EECS1021 3.00. While 1020 and 1021 focuses on the client concern, this course focuses on the concern of the implementer. Hence, rather than using an API (Application Programming Interface) to build an application, the student is asked to implement a given API. Topics include implementing classes (non-utilities, delegation within the class definition, documentation and API generation, implementing contracts), aggregations (implementing aggregates versus compositions and implementing collections), inheritance hierarchies (attribute visibility, overriding methods, abstract classes versus interfaces, inner classes); applications of aggregation and inheritance in concurrent programming and event-driven programming; recursion; searching and sorting including quick and merge sorts); stacks and queues; linked lists; binary trees. Prerequisites: cumulative GPA of 4.50 or better over all major EECS courses (without second digit “5”); LE/EECS1021 3.00 or LE/EECS 1020 (prior to Fall 2015) 3.00 or LE/EECS1022 3.00 or LE/EECS 1720 3.00. Course credit exclusions: AP/ITEC 2620 3.00. Previously offered as: LE/EECS1030 3.00, LE/CSE 1030 3.00.
This course continues the separation of concern theme introduced in LE/EECS 1020 3.00 and LE/EECS1021 3.00. While 1020 and 1021 focuses on the client concern, this course focuses on the concern of the implementer. Hence, rather than using an API (Application Programming Interface) to build an application, the student is asked to implement a given API. Topics include implementing classes (non-utilities, delegation within the class definition, documentation and API generation, implementing contracts), aggregations (implementing aggregates versus compositions and implementing collections), inheritance hierarchies (attribute visibility, overriding methods, abstract classes versus interfaces, inner classes); applications of aggregation and inheritance in concurrent programming and event-driven programming; recursion; searching and sorting including quick and merge sorts); stacks and queues; linked lists; binary trees. Prerequisites: cumulative GPA of 4.50 or better over all major EECS courses (without second digit “5”); LE/EECS1021 3.00 or LE/EECS 1020 (prior to Fall 2015) 3.00 or LE/EECS1022 3.00 or LE/EECS 1720 3.00. Course credit exclusions: AP/ITEC 2620 3.00. Previously offered as: LE/EECS1030 3.00, LE/CSE 1030 3.00.
EECS 2032, 4 Credits
This course introduces students to embedded systems. The students will learn basic features of embedded system architecture, as well as how to design, implement, and test programs for embedded systems. Topics include microcontrollers architectures, peripherals and communication protocols, interfacing, program development, and testing. Prerequisites: General Prerequisite: Cumulative GPA of 4.50 or better over all major EECS courses (without second digit “5”), LE/EECS 1021 3.00 , or LE/EECS 1022 3.00, and LE/EECS 2021 4.00. Course Credit Exclusion LE/EECS 2031 3.00, LE/EECS 3215 4.00, LE/CSE 3215 4.00. Co-requisites: LE/EECS 2030 3.00.
This course introduces students to embedded systems. The students will learn basic features of embedded system architecture, as well as how to design, implement, and test programs for embedded systems. Topics include microcontrollers architectures, peripherals and communication protocols, interfacing, program development, and testing. Prerequisites: General Prerequisite: Cumulative GPA of 4.50 or better over all major EECS courses (without second digit “5”), LE/EECS 1021 3.00 , or LE/EECS 1022 3.00, and LE/EECS 2021 4.00. Course Credit Exclusion LE/EECS 2031 3.00, LE/EECS 3215 4.00, LE/CSE 3215 4.00. Co-requisites: LE/EECS 2030 3.00.
ENG 2001, 3 Credits
Introduction to management, economics and safety as they relate to engineering projects, including the following. Project management: work breakdown structures, Gantt charts, logic diagrams and change management. Engineering economics: time value of money, comparison methods, rates of return. Workplace safety. Group design projects. Weekly tutorial. Prerequisites: LE/ENG 1101 4.00 and LE/ENG 1102 4.0.
Introduction to management, economics and safety as they relate to engineering projects, including the following. Project management: work breakdown structures, Gantt charts, logic diagrams and change management. Engineering economics: time value of money, comparison methods, rates of return. Workplace safety. Group design projects. Weekly tutorial. Prerequisites: LE/ENG 1101 4.00 and LE/ENG 1102 4.0.
Winter
PHYS 2211, 1 Credit
An introductory laboratory course for second-year students. The course consists of 10 experiments covering basic concepts of electromagnetism. Normally three laboratory hours per week. One term. One credit. Prerequisite: SC/PHYS 1010 6.00, or SC/PHYS 1800 3.00 and SC/PHYS 1801 3.00, or SC/ISCI 1310 6.0 or a minimum grade of C in SC/PHYS 1410 6.00 or SC/PHYS 1420 6.00. Corequisite(s): SC/PHYS 2020 3.00. Course credit exclusion: SC/PHYS 2213 3.00
An introductory laboratory course for second-year students. The course consists of 10 experiments covering basic concepts of electromagnetism. Normally three laboratory hours per week. One term. One credit. Prerequisite: SC/PHYS 1010 6.00, or SC/PHYS 1800 3.00 and SC/PHYS 1801 3.00, or SC/ISCI 1310 6.0 or a minimum grade of C in SC/PHYS 1410 6.00 or SC/PHYS 1420 6.00. Corequisite(s): SC/PHYS 2020 3.00. Course credit exclusion: SC/PHYS 2213 3.00
EECS 2200 , 3 Credits
This course covers the basic principles of linear circuits. Kirchhoff’s laws, circuit equations, RL, RC, and RLC circuits, three-phase circuits, power analysis and power factor, and magnetically coupled circuits. Prerequisites: cumulative GPA of 4.50 or better over all major EECS courses (without second digit””5″), SC/PHYS 1010 6.00 or SC/PHYS 1801 3.00. Course credit exclusions: SC/PHYS 3050 3.00.
This course covers the basic principles of linear circuits. Kirchhoff’s laws, circuit equations, RL, RC, and RLC circuits, three-phase circuits, power analysis and power factor, and magnetically coupled circuits. Prerequisites: cumulative GPA of 4.50 or better over all major EECS courses (without second digit””5″), SC/PHYS 1010 6.00 or SC/PHYS 1801 3.00. Course credit exclusions: SC/PHYS 3050 3.00.
EECS 2210, 3 Credits
This course covers the basic material required in the design of both analog and digital electronic circuits. Diodes, transistors (both BJT and FET), amplifiers, rectifiers. Prerequisites: Cumulative GPA of 4.50 or better over all major EECS courses (without second digit “5”), LE/ENG 2200 3.00. Course credit exclusion: SC/PHYS 3150 3.00.
This course covers the basic material required in the design of both analog and digital electronic circuits. Diodes, transistors (both BJT and FET), amplifiers, rectifiers. Prerequisites: Cumulative GPA of 4.50 or better over all major EECS courses (without second digit “5”), LE/ENG 2200 3.00. Course credit exclusion: SC/PHYS 3150 3.00.
ENG 2003, 3 Credits
Students learn to effectively employ communication strategies essential to a successful engineering career, including the social, rhetorical, ethical, and practical aspects of professional communications. The focus is on building individuals’ confidence and judgment through communications assignments based on case studies. Two lecture hours per week. Two laboratory hours per week. Prerequisites: LE/ENG 1101 4.0.
Students learn to effectively employ communication strategies essential to a successful engineering career, including the social, rhetorical, ethical, and practical aspects of professional communications. The focus is on building individuals’ confidence and judgment through communications assignments based on case studies. Two lecture hours per week. Two laboratory hours per week. Prerequisites: LE/ENG 1101 4.0.
MATH 2015, 3 Credits
Topics covered include partial derivatives; grad, div, curl and Laplacian operators; line and surface integrals; theorems of Gauss and Stokes; double and triple integrals in various coordinate systems; extrema and Taylor series for multivariate functions. Prerequisite: One of SC/MATH 1010 3.00, SC/MATH 1014 3.00, SC/MATH 1310 3.00; or SC/MATH 1505 6.00 plus permission of the course coordinator. Course credit exclusions: SC/MATH 2010 3.00, SC/MATH 2310 3.00, GL/MATH 2670 3.00, GL/MODR 2670 3.00, GL/MATH 3200 3.00.
Topics covered include partial derivatives; grad, div, curl and Laplacian operators; line and surface integrals; theorems of Gauss and Stokes; double and triple integrals in various coordinate systems; extrema and Taylor series for multivariate functions. Prerequisite: One of SC/MATH 1010 3.00, SC/MATH 1014 3.00, SC/MATH 1310 3.00; or SC/MATH 1505 6.00 plus permission of the course coordinator. Course credit exclusions: SC/MATH 2010 3.00, SC/MATH 2310 3.00, GL/MATH 2670 3.00, GL/MODR 2670 3.00, GL/MATH 3200 3.00.
CIVL 2390, 3 Credits
This is an applied probability and statistics course for engineering students. The aim is to provide an application-oriented introduction to probability and statistics. The examples will be from a wide selection of engineering disciplines. The probability component is about 30% of the lectures. About 40% of the time, the lectures and tutorials focus on solving practical statistical problems that emerge from engineering problems. Prerequisites: SC/MATH 1014 3.00 or equivalent; SC/MATH 1025 3.00 or equivalent; LE/EECS 1011 3.00 or equivalent. Course credit exclusions: SC/MATH 1131 3.00; SC/MATH 2560 3.00; SC/MATH 2570 3.00; SC/MATH 2565 3.00.
This is an applied probability and statistics course for engineering students. The aim is to provide an application-oriented introduction to probability and statistics. The examples will be from a wide selection of engineering disciplines. The probability component is about 30% of the lectures. About 40% of the time, the lectures and tutorials focus on solving practical statistical problems that emerge from engineering problems. Prerequisites: SC/MATH 1014 3.00 or equivalent; SC/MATH 1025 3.00 or equivalent; LE/EECS 1011 3.00 or equivalent. Course credit exclusions: SC/MATH 1131 3.00; SC/MATH 2560 3.00; SC/MATH 2570 3.00; SC/MATH 2565 3.00.
PHYS 2020, 3 Credits
The elements of electric and magnetic fields are developed together with DC and AC circuit theory. Prerequisites: SC/PHYS 1010 6.00, or SC/PHYS 1800 3.00 and SC/PHYS 1801 3.00, or SC/ISCI 1310 6.00, or a minimum grade of C in SC/PHYS 1410 6.00 or SC/PHYS 1420 6.00. Corequisite: SC/MATH 2015 3.00.
The elements of electric and magnetic fields are developed together with DC and AC circuit theory. Prerequisites: SC/PHYS 1010 6.00, or SC/PHYS 1800 3.00 and SC/PHYS 1801 3.00, or SC/ISCI 1310 6.00, or a minimum grade of C in SC/PHYS 1410 6.00 or SC/PHYS 1420 6.00. Corequisite: SC/MATH 2015 3.00.
Third Year
Fall
ENG 3000, 3 Credits
An introduction to the legal and ethical frameworks of the engineering profession, preparing students for the Professional Practice Examination required for certification as a professional engineer. Also covered are associated professional issues such as entrepreneurship, intellectual property and patents. Prerequisites: LE/ENG 2001 3.00. Course credit exclusions: LE/EECS 3000 3.00
An introduction to the legal and ethical frameworks of the engineering profession, preparing students for the Professional Practice Examination required for certification as a professional engineer. Also covered are associated professional issues such as entrepreneurship, intellectual property and patents. Prerequisites: LE/ENG 2001 3.00. Course credit exclusions: LE/EECS 3000 3.00
EECS 3101, 3 Credits
Review of fundamental data structures. Analysis of algorithms: time and space complexity. Algorithm design paradigms: divide-and-conquer, exploring graphs, greedy methods, local search, dynamic programming, probabilistic algorithms, computational geometry. NP-complete problems. Prerequisites: cumulative GPA of 4.50 or better over all major EECS courses (without second digit “5”); LE/EECS 2011 3.00; SC/MATH 1090 3.00; SC/MATH 1310 3.00. Course credit exclusion: LE/SC CSE 3101 3.00.
Review of fundamental data structures. Analysis of algorithms: time and space complexity. Algorithm design paradigms: divide-and-conquer, exploring graphs, greedy methods, local search, dynamic programming, probabilistic algorithms, computational geometry. NP-complete problems. Prerequisites: cumulative GPA of 4.50 or better over all major EECS courses (without second digit “5”); LE/EECS 2011 3.00; SC/MATH 1090 3.00; SC/MATH 1310 3.00. Course credit exclusion: LE/SC CSE 3101 3.00.
EECS 3201, 4 Credits
Theory, analysis, and design of logic circuits used in digital systems. Students will be introduced to the design of switching circuits to implement logic gates, digital number representation and arithmetic circuits. They will learn how to use logic gates to construct combinational and sequential logic circuits and functional blocks. The course and the laboratory introduce the students to hardware description language and modern cad tools. Prerequisites: Cumulative GPA of 4.50 or better over all major EECS courses.(without second digit of ‘5 ) LE/EECS 1021 3.00 or LE/EECS 1022 3.00; SC/PHYS 1012 or SC/PHYS 1412 or SC/PHYS 1422 or SC/PHYS 1801 3.0 or SC/PHYS 1010
Theory, analysis, and design of logic circuits used in digital systems. Students will be introduced to the design of switching circuits to implement logic gates, digital number representation and arithmetic circuits. They will learn how to use logic gates to construct combinational and sequential logic circuits and functional blocks. The course and the laboratory introduce the students to hardware description language and modern cad tools. Prerequisites: Cumulative GPA of 4.50 or better over all major EECS courses.(without second digit of ‘5 ) LE/EECS 1021 3.00 or LE/EECS 1022 3.00; SC/PHYS 1012 or SC/PHYS 1412 or SC/PHYS 1422 or SC/PHYS 1801 3.0 or SC/PHYS 1010
EECS 3213, 3 Credits
Introduces the basics of communications and networking. Topics include transmission media; fundamental limits; protocols and hierarchies; the OSI model; encoding of data as signals; error and flow control; medium access; routing; internetworking; transport services; high-level applications. Prerequisites: cumulative GPA of 4.50 or better over all major EECS courses (without second digit “5”); LE/EECS 2030 3.00 or LE/EECS 1030 3.00; SC/MATH 1310 3.00. Previously offered as LE/CSE 3213 3.00. PRIOR TO SUMMER 2013: SC/CSE 3213 3.00.
Introduces the basics of communications and networking. Topics include transmission media; fundamental limits; protocols and hierarchies; the OSI model; encoding of data as signals; error and flow control; medium access; routing; internetworking; transport services; high-level applications. Prerequisites: cumulative GPA of 4.50 or better over all major EECS courses (without second digit “5”); LE/EECS 2030 3.00 or LE/EECS 1030 3.00; SC/MATH 1310 3.00. Previously offered as LE/CSE 3213 3.00. PRIOR TO SUMMER 2013: SC/CSE 3213 3.00.
Winter
EECS 3216, 3 Credits
This is a project-intensive course to introduce students to modelling, implementation, testing, and validation of hardware-based embedded systems. The emphasis in this course is on complex digital systems that interact with physical systems. Prerequisites: cumulative GPA of 4.50 or better over all major EECS courses (without second digit “5”), LE/EECS 2032 4.00, or LE/EECS 2031 3.00, and LE/EECS 3201 3.00.
This is a project-intensive course to introduce students to modelling, implementation, testing, and validation of hardware-based embedded systems. The emphasis in this course is on complex digital systems that interact with physical systems. Prerequisites: cumulative GPA of 4.50 or better over all major EECS courses (without second digit “5”), LE/EECS 2032 4.00, or LE/EECS 2031 3.00, and LE/EECS 3201 3.00.
EECS 3221, 3 Credits
Principles of operating systems. Concurrent processes, CPU scheduling, deadlocks, memory management, file systems, protection and security, and case studies. Prerequisites: cumulative GPA of 4.50 or better over all major EECS courses (without second digit “5”); LE/EECS 2030 3.00 or LE/EECS 1030 3.00; LE/EECS 2021 4.00 and LE/EECS 2031 3.00 or LE/EECS 2032 4.00. Course Credit Exclusion: LE/CSE 3221 3.00
Principles of operating systems. Concurrent processes, CPU scheduling, deadlocks, memory management, file systems, protection and security, and case studies. Prerequisites: cumulative GPA of 4.50 or better over all major EECS courses (without second digit “5”); LE/EECS 2030 3.00 or LE/EECS 1030 3.00; LE/EECS 2021 4.00 and LE/EECS 2031 3.00 or LE/EECS 2032 4.00. Course Credit Exclusion: LE/CSE 3221 3.00
EECS 3311, 3 Credits
A study of design methods and their use in the correct implementation, maintenance and evolution of software systems. Topics include design, implementation, testing, documentation needs and standards, support tools. Students design and implement components of a software system. Prerequisites: cumulative GPA of 4.50 or better over all major EECS courses (without second digit “5”); LE/EECS 2030 3.00 or LE/EECS 1030 3.00; LE/EECS 2011 3.00; SC/MATH 1090 3.00; LE/EECS 2031 3.00 or LE/EECS 2032 4.00. Course Credit Exclusions: LE/CSE 3311 3.00
A study of design methods and their use in the correct implementation, maintenance and evolution of software systems. Topics include design, implementation, testing, documentation needs and standards, support tools. Students design and implement components of a software system. Prerequisites: cumulative GPA of 4.50 or better over all major EECS courses (without second digit “5”); LE/EECS 2030 3.00 or LE/EECS 1030 3.00; LE/EECS 2011 3.00; SC/MATH 1090 3.00; LE/EECS 2031 3.00 or LE/EECS 2032 4.00. Course Credit Exclusions: LE/CSE 3311 3.00
EECS 3451, 3 Credits
An introduction to the mathematical background in signals and systems; signal and image processing: sampling, discrete Fourier transform, filtering; linear system theory; Kalman filtering; feedback. Prerequisites: cumulative GPA of 4.50 or better over all major EECS courses (without second digit “5”); LE/EECS 2021 4.00, SC/MATH 1310 3.00. Course credit exclusions: SC/MATH 4130B 3.00, SC/PHYS 4060 3.00. Previously offered as LE/CSE 3451 4.00. PRIOR TO FALL 2014: course credit exclusions: SC/MATH 4830 3.00. PRIOR TO SUMMER 2013: course credit exclusions: SC/CSE 3451 4.00, SC/EATS 4020 3.00.
An introduction to the mathematical background in signals and systems; signal and image processing: sampling, discrete Fourier transform, filtering; linear system theory; Kalman filtering; feedback. Prerequisites: cumulative GPA of 4.50 or better over all major EECS courses (without second digit “5”); LE/EECS 2021 4.00, SC/MATH 1310 3.00. Course credit exclusions: SC/MATH 4130B 3.00, SC/PHYS 4060 3.00. Previously offered as LE/CSE 3451 4.00. PRIOR TO FALL 2014: course credit exclusions: SC/MATH 4830 3.00. PRIOR TO SUMMER 2013: course credit exclusions: SC/CSE 3451 4.00, SC/EATS 4020 3.00.
At least 6 additional credits from
SC/BIOL 1000 3.00, SC/BIOL 1001 3.00, SC/CHEM 1001 3.00, SC/CHEM
2011 3.00, LE/ESSE 1011 3.00, LE/ESSE 1012 3.00, SC/PHYS 1070 3.00
[alternatively SC/PHYS 1470 3.00], SC/PHYS 2010 3.00, SC/PHYS 2040
3.00, SC/PHYS 2060 3.00, HH/IHST 1001 3.00; HH/IHST 1002 3.00
Fourth Year
Fall
ENG 4000, 6 Credits
The project will include significant elements of design and implementation. The format is intended to resemble engineering projects in practice, including specifications, background research, innovative solutions, analysis, testing and communication. 2 terms. Prerequisite(s): 21 3000-level science or engineering credits in the Engineering Program, exclusive of LE/ENG 3000 3.00. Prerequisite or corequisite: LE/ENG 3000 3.00. Course credit exclusions: CIVL4000 , ESSE4000.
The project will include significant elements of design and implementation. The format is intended to resemble engineering projects in practice, including specifications, background research, innovative solutions, analysis, testing and communication. 2 terms. Prerequisite(s): 21 3000-level science or engineering credits in the Engineering Program, exclusive of LE/ENG 3000 3.00. Prerequisite or corequisite: LE/ENG 3000 3.00. Course credit exclusions: CIVL4000 , ESSE4000.
EECS 4201, 3 Credits
The internal structure and design ideas are embodied in many computers and the techniques for evaluating them. Fast arithmetic algorithms, memory system designs, pipeline techniques, input-output subsystems and parallel computing structures. Future trends in computer architecture. Prerequisites: Cumulative GPA of 4.50 or better over all major EECS courses (without second digit “5”); LE/EECS 3201 4.00, LE/EECS 3221 3.00. Previously offered as LE/CSE 4201 3.00.
The internal structure and design ideas are embodied in many computers and the techniques for evaluating them. Fast arithmetic algorithms, memory system designs, pipeline techniques, input-output subsystems and parallel computing structures. Future trends in computer architecture. Prerequisites: Cumulative GPA of 4.50 or better over all major EECS courses (without second digit “5”); LE/EECS 3201 4.00, LE/EECS 3221 3.00. Previously offered as LE/CSE 4201 3.00.
Winter
EECS 4214, 4 Credits
Introduces fundamental principles underlying the design and analysis of digital communication systems. Develops mathematical/physical understanding from the information source through the transmitter, channel, receiver, and information sink. Topics include baseband transmission, matched filtering, modulation, channel coding, and spread spectrum. Prerequisites: cumulative GPA of 4.50 or better over all major EECS courses (without second digit “5”), LE/EECS 3213 3.00, One of SC/MATH 2030 3.00 or SC/MATH 2930 3.00, One of LE/EECS 3451 4.00, LE/EECS 3602 4.00, LE/ESSE 4020 3.00, SC/MATH 4830 3.00, SC/PHYS 4060 3.00 or SC/PHYS 4250 3.00. Previously offered as LE/CSE 4214 4.00. PRIOR TO SUMMER 2013: course credit exclusion: SC/CSE 4214 4.00.
Introduces fundamental principles underlying the design and analysis of digital communication systems. Develops mathematical/physical understanding from the information source through the transmitter, channel, receiver, and information sink. Topics include baseband transmission, matched filtering, modulation, channel coding, and spread spectrum. Prerequisites: cumulative GPA of 4.50 or better over all major EECS courses (without second digit “5”), LE/EECS 3213 3.00, One of SC/MATH 2030 3.00 or SC/MATH 2930 3.00, One of LE/EECS 3451 4.00, LE/EECS 3602 4.00, LE/ESSE 4020 3.00, SC/MATH 4830 3.00, SC/PHYS 4060 3.00 or SC/PHYS 4250 3.00. Previously offered as LE/CSE 4214 4.00. PRIOR TO SUMMER 2013: course credit exclusion: SC/CSE 4214 4.00.
EECS 4312, 3 Credits
This course deals with the elicitation, specification and analysis of software requirements and provides a critical description of available methods and tools and practical exercises on applying these methods and tools to realistic problems. Three lecture hours per week. One laboratory hour per week. One term. Three credits. Prerequisites: cumulative GPA of 4.50 or better over all major EECS courses (without second digit “5”); LE/EECS 2030 3.00 or LE/EECS 1030 3.00; LE/EECS 3311 3.00. Course credit exclusions: LE/CSE 4312 3.00, AK/AS/SC/CSE 4312 3.00.
This course deals with the elicitation, specification and analysis of software requirements and provides a critical description of available methods and tools and practical exercises on applying these methods and tools to realistic problems. Three lecture hours per week. One laboratory hour per week. One term. Three credits. Prerequisites: cumulative GPA of 4.50 or better over all major EECS courses (without second digit “5”); LE/EECS 2030 3.00 or LE/EECS 1030 3.00; LE/EECS 3311 3.00. Course credit exclusions: LE/CSE 4312 3.00, AK/AS/SC/CSE 4312 3.00.
Complementary Studies (12 credits)
12 credits from
LE/EECS 3214 3.00, LE/EECS 3431 3.00, LE/EECS 3603 4.00², LE/EECS
3604 4.00², LE/EECS 3611 4.00², LE/EECS 4210 3.00², LE/EECS 4211
3.00, LE/EECS 4215 3.00², LE/EECS 4313 3.00, LE/EECS 4352 3.00²,
LE/EECS 4404 3.0, LE/EECS 4421 3.00², LE/EECS 4422 3.00², LE/EECS
4431 3.00², LE/EECS 4441 3.00, LE/EECS 4452 3.00, LE/EECS 4471 3.00,
LE/ENG 3320 3.00, LE/ENG 4550 3.00 (List A Electrical Engineering
technical elective courses*). ²These 12 credits must incl. at least 2
courses with significant lab experience.