Embedded Systems Engineering Design

International

Course List

Term 1

ENG-1173: Communication for Technology

This course includes various technical writing problems that challenge the student to generate practical solutions that are clear, focused, and expressed in appropriate language and style. The course assists students to develop sound thinking and planning skills that are fundamental to communicating successfully in technical fields. In addition, the computer is used for online research, collaboration with other students, and formatting technical information to industry standards using text and graphics.

WDI-1001: Workplace Diversity

By 2017, Statistics Canada projects that 1 in 5 of the Canadian Labour force will be from a visible minority. Intercultural competency is required for the Canadian workplace environment. The focus of this course is on workplace diversity, Canadian business practices and cross cultural communication skills. The goal is for students to be able to work more effectively in an intercultural environment.

ESE-1005: Principles of Digital Logic Design

Students are introduced to logic design and the basic building blocks used in digital systems. Students are able to work with combinational and sequential circuits and are able to synthesize and then verify the logic. An accompanying lab component integrates hands-on experience with modern computer-aided design software including logic simulation, minimization and an introduction of the use of hardware description language (HDL) and implementation of a variety of projects.

ESE-1014: Principles of Electronics Systems Design

This course begins with a comprehensive review of electronic circuits and devices. Topics covered include: ideal amplifiers (voltage / current / transconductance / transimpedance), opamps, filters, oscillators, and voltage regulation; basic techniques for interfacing with microcontrollers will be covered (pull-up/pull-down resistors, debouncers, level shifters, voltage references, buffers and amplifiers). Modern power management techniques for mobile embedded devices (high efficiency and low-noise techniques) will also be covered. The latter portion of the course describes modern EDA methodology: schematic capture, simulation, printed-circuit board design (including coverage of good layout practices), as well as the creation of and cost considerations associated with the bill of materials (BoM). Students will get firsthand experience working on two projects using KiCAD (an open-source EDA tool) from "pencil-and-paper design" to soldering and testing.

ESE-1025: Principles of Embedded Programming

This course covers the fundamentals of embedded C and C++ software development, working in both native and cross toolchain environments. Following an overview of the basics of C, embedded-specific programming techniques are emphasized. The course employs APIs and driver code from hardware vendors in programming exercises and projects. Students will gain experience writing embedded-C applications that access GPIO, PWM, DMA and/or interrupt features on a modern 32-bit (ARM-based) microcontroller. The course next introduces C++ and the basics of object-oriented programming. Features of the standard library (e.g., classes, data structures, containers, algorithms), will be emphasized to enable students to write programs "in the idiom" of C++. Finally, in a Linux environment, students will be exposed to C++ hardware programming using sysfs on an advanced ARM cortex-A-based embedded target.

Term 2

MTH-1444: Mathematics for Embedded Systems

Students use C++ to develop applications which solve various numerical problems. Numerical methods are used to perform root finding, differentiation, integration and calculating solutions to linear systems of equations as well as a discussion on error analysis and accuracy in computing. Additionally, applications are written to perform random number generation, minimization and maximization of functions, calculation of the Fast Fourier Transform and solutions to differential equations.

ESE-2005: Embedded Systems Architecture I

Students are introduced to the Von Neumann and Harvard processor architectures. Students will recognize the differences between Microprocessors, Microcontrollers and System-on-Chip/System-on-Module, and the differences between Intel and ARM processors. Students are introduced to the building blocks of microcomputers and microprocessors such as memory, I/O, registers, the ALU and the control unit. The design of computer instruction sets and CPUs are reviewed with students designing systems that use peripherals such as real-time clocks, analog-to-digital converters, digital-to-analog converters and interfacing with GPIO pins. Students will write applications that use the ARM and Thumb instruction sets.

ESE-2014: Digital Signal Processing and Storage

Students are introduced to the analysis and representation of continuous-time, discrete-time and linear time-invariant systems. Students learn both the theory and practice of such topics as difference equations, discrete-time convolution, the z-transform, discrete-time Fourier Transform and the Fast Fourier Transform algorithm. Students implement finite-impulse response and infinite-impulse response filters. DAC and ADC theory and application will be studied. Students also design and implement an application that computes the discrete Fourier Transform using the Fast Fourier Transform(FFT)algorithm.

ESE-2025: Embedded Operating Systems

This course provides a comprehensive study of the Linux operating system, describing its multi-tasking operation and structure (kernel, kernel space and user space, filesystem), boot process, commands and filesystem operations. Both host and embedded target Linux distributions will be compared/contrasted. Students will learn advanced shell programming using BASH, developing scripts for searching, organizing and manipulating data. Students will also learn advanced C++ techniques, developing multi-threaded applications using POSIX pthreads, queues, mutexes and semaphores, under Linux, and using make to build applications. Students will learn about developing and deploying custom embedded Linux distributions using the Yocto Project. Students will use emulation tools and burn U-boot and Linux images to be deployed on a real ARM Cortex-A platform.

JSS-1001: Job Search and Success

This course is designed to give the student an understanding of how to conduct a job search and how to succeed in the work place. This includes self-reflection, effectively designing a cover letter and resume, online job searches utilizing social media, behavioural based interviewing as well as marketing oneself effectively in a job interview. Job safety, successful work strategies and harassment and discrimination plan of action is also discussed.

Academic Break

Academic Break

Term 3

ESE-3002: Project Preparation

This course prepares students for the work required in the Embedded Systems Design Project course. Students will work with faculty advisors and professors to obtain the guidance necessary to complete the project. Students will be shown the proper techniques used for performing research and project planning. Practical experience will be developed in setting goals, milestones and tracking project progress.

ESE-3005: Embedded Systems Architecture II

In this course students build on their knowledge gained from introductory courses to design and implement complete embedded applications. Applications combine multiple communication interfaces and hardware peripherals to provide complete embedded solutions that students may encounter as a professional. Specifically, applications make use of various peripherals such as touch screens, cameras, microphones and speakers, GPIOs, timers, GPS modules, Bluetooth, WiFi, and ADC/DACs.

ESE-3014: Embedded Systems Communication Protocols and Security

This course serves as an introduction to popular communication protocols used in embedded systems. In addition, the basics of communications and communications security is presented. A survey of I2C, SPI, RS-232/RS-485, IrDA infrared, JTAG, USB, Bluetooth, IEEE 802.11 WiFi, IEEE 802.3 Ethernet, CAN and GPS protocols and systems is covered. Each protocol is explored during laboratory sessions to reinforce presented theory.

ESE-3025: Embedded Real Time Operating Systems

This course provides an overview of multi-tasking operating systems and an in-depth study of real-time operating system (RTOS) programming techniques, building on the software foundations of ESE 1025 and ESE 2025. The course emphasizes hands-on RTOS development using Amazon FreeRTOS in embedded C on modern 32-bit cortex-M embedded platforms (e.g., NXP LPC1769 and LPC54114 MCUs). Topics covered include: preemptive versus cooperative scheduler operation; tick rate and time slicing; critical code; fixed, dynamic and hybrid task priority allocation; application-specific considerations; power management tactics; semaphores, mutexes and queues; debugging strategies; performance estimation (resources/bandwidth/queue-depth and latency).

PHL-1253: Ethical Leadership and Critical Decision Making

This interdisciplinary course combines insights from the field of business with social psychology and applied ethics to challenge students with an introspective look at some of today's most important ethical dilemmas. Students in PHL-1253 learn that the ethical standards employed by businesses and corporations ultimately concern the quality of human behaviours in those organizations. Human behaviour evolves from many influences: our past relationships, the ways we think and feel, how we respond to pressures in various social contexts, and how we deliberate in our daily thoughts and actions. Each of these influences is intimately involved with the quality of our ethical decision making.

Term 4

ESE-4009: Embedded Systems Design Project

Students develop and apply sound engineering design principles and methodology to the solution of an open-ended design project. Students will experience all phases of the design process, including: problem definition, generation and evaluation of concepts, engineering analysis and testing, as well as the creation of design documentation and test plans. Project management and communications skills are emphasized to prepare students for employment in industry. Suitable design projects may be defined by students, faculty, or industry sponsors. Students should also have good oral and written communication skills, and should be able to function effectively in a design team. The student or student teams are expected to meet with the project supervisor during mutually agreed upon times and are required to attend each in-class session during the week.

Program Maps

Students are required to follow their prescribed program map and are not allowed to take unscheduled breaks for any reason. Typically, scheduled breaks occur after Term 2.

Current Students

Current students can view program maps from previous years on the mylambton website. 

You will need to login with your C# and password in order to access your program map.

Disclaimer

Lambton College reserves the right to alter information including admission requirements and fees and to cancel at any time a program or course; to change the location and/or term in which a program or course is offered; to change the program curriculum as necessary to meet current competencies or changes in the job market or for budgetary reasons; to change the pathways third-party certification bodies; or to withdraw an offer of admission both prior to and after its acceptance by an applicant or student because of insufficient applications or registrations, over-acceptance of offers of admission, budgetary constraints, or for other such reasons.  In the event Lambton College exercises such a right, Lambton College’s sole liability will be the return of monies paid by the applicant or student to Lambton College.


International Education
Any questions or inquiries please e-mail:
international@lambtoncollege.ca


Back to Top