Joel Leckie

Computer Engineering Technology

Student at NAIT

Joel Leckie - Education

Educational Synopsis

NAIT: Computer Engineering Technology Co-op Sep. 2021 ⇒ Apr. 2023
❖ A 2-year diploma program where students design, build, and program computers. Students study both the hardware and software aspects of microcomputers through extensive hands-on training. This produces well-trained technical personnel to meet the growing demand and advances in miniature, solid-state microprocessor technology. The program covers a versatile range of industrial electronics, programming languages, application development, database concepts, and web development. NAIT
NAIT: Business Administration - Finance Sep. 2014 ⇒ Dec. 2015
❖ A 2-year diploma program where students learn the elements of sound financial management. Students are immersed in economics, stock trading, and corporate investing as they gain networking opportunities and practical, hands-on experience. Students dig into a creative field that uses numbers and analysis to provide solutions to real business challenges. NAIT
Taylor University College: English Literature Sep. 2004 ⇒ Apr. 2009
❖ A 4-year Bachelor of Arts program through a University of Alberta affiliation. Exploring the richness of literature and language to develop tools for understanding a complex society. Students learn to appreciate the work of the imagination in changing the world. They gain effective communication skills and enhance their analytical and critical thinking skills. U of A
❖ Additionally a Minor in Business studies. Providing introductory training in a variety of business areas. Students study principles of micro and macro economics, business statistics, marketing, and behavior in organizations. U of A

Educational Notes

Computer Engineering Technology: Current Calendar

NAIT Class Schedule: Winter 2023
MondayTuesdayWednesdayThursdayFriday
8:00am CMPE-2850
taught by
Aj Armstrong
CMPE-2850
Programming Languages

Programmers must be capable of choosing the most appropriate technology to implement a software solution given a specific set of criteria. Participants will implement and compare software designs from a relevant candidate language.

CMPE-2700
taught by
Jeffrey Lutz
CMPE-2700
Communication and Networking

Devices in a computer based system need to communicate efficiently and accurately. Participants will implement and troubleshoot communications between a variety of devices, using several different protocols. Participants will explore principles of data communication using serial connections and TCP/IP networking. This course includes Internet of Things (IoT) / Industrial Internet of Things (IIoT) communication.

CMPE-2850
taught by
Aj Armstrong
CMPE-2850
Programming Languages

Programmers must be capable of choosing the most appropriate technology to implement a software solution given a specific set of criteria. Participants will implement and compare software designs from a relevant candidate language.

8:30am
9:00am
9:30am
10:00am CMPE-2800
taught by
Simon Walker
CMPE-2800
Advanced Programming

Software developers must be prepared to create professional and maintainable applications. Participants will employ reusable and extensible code, multi-tier considerations, runtime performance, dynamic typing, and advanced application patterns.

CMPE-2700
taught by
Jeffrey Lutz
CMPE-2700
Communication and Networking

Devices in a computer based system need to communicate efficiently and accurately. Participants will implement and troubleshoot communications between a variety of devices, using several different protocols. Participants will explore principles of data communication using serial connections and TCP/IP networking. This course includes Internet of Things (IoT) / Industrial Internet of Things (IIoT) communication.

CMPE-2965
taught by
Various Instructors
CMPE-2965
Technical Project

Computer engineering technology solutions require the synthesis of skills obtained in a variety of disciplines throughout the program. Student teams will apply project management skills and professional practices to their solutions. Participants will conceive and research a project idea, propose a solution, design and build a prototype, and document and present their results.

CNT Tutorial Period
CNT Tutorial

Each week students in their first year have an opportunity to study and gain further instruction from second year students. This also allows the second year students to further their knowledge and gain practice in supervising and coaching their peers.

CMPE-2965
taught by
Various Instructors
CMPE-2965
Technical Project

Computer engineering technology solutions require the synthesis of skills obtained in a variety of disciplines throughout the program. Student teams will apply project management skills and professional practices to their solutions. Participants will conceive and research a project idea, propose a solution, design and build a prototype, and document and present their results.

10:30am
11:00am
11:30am
12:00pm
12:30pm
1:00pm CMPE-2965
taught by
Various Instructors
CMPE-2965
Technical Project

Computer engineering technology solutions require the synthesis of skills obtained in a variety of disciplines throughout the program. Student teams will apply project management skills and professional practices to their solutions. Participants will conceive and research a project idea, propose a solution, design and build a prototype, and document and present their results.

CMPE-2750
taught by
Simon Walker
CMPE-2750
Embedded System Design

The course involves the design and construction of a simple microcontroller-based that responds to data collected from a chosen sensor. Participants will be guided in the selection and integration of components for a working prototype. All stages of implementation will be performed by the student including board design, component selection, population, and programming.

CMPE-2800
taught by
Simon Walker
CMPE-2800
Advanced Programming

Software developers must be prepared to create professional and maintainable applications. Participants will employ reusable and extensible code, multi-tier considerations, runtime performance, dynamic typing, and advanced application patterns.

CMPE-2750
taught by
Simon Walker
CMPE-2750
Embedded System Design

The course involves the design and construction of a simple microcontroller-based that responds to data collected from a chosen sensor. Participants will be guided in the selection and integration of components for a working prototype. All stages of implementation will be performed by the student including board design, component selection, population, and programming.

1:30pm
2:00pm CMPE-2965
taught by
Various Instructors
CMPE-2965
Technical Project

Computer engineering technology solutions require the synthesis of skills obtained in a variety of disciplines throughout the program. Student teams will apply project management skills and professional practices to their solutions. Participants will conceive and research a project idea, propose a solution, design and build a prototype, and document and present their results.

2:30pm
3:00pm CMPE-2965
taught by
Various Instructors
CMPE-2965
Technical Project

Computer engineering technology solutions require the synthesis of skills obtained in a variety of disciplines throughout the program. Student teams will apply project management skills and professional practices to their solutions. Participants will conceive and research a project idea, propose a solution, design and build a prototype, and document and present their results.

CMPE-2800
taught by
Simon Walker
CMPE-2800
Advanced Programming

Software developers must be prepared to create professional and maintainable applications. Participants will employ reusable and extensible code, multi-tier considerations, runtime performance, dynamic typing, and advanced application patterns.

3:30pm
4:00pm
4:30pm
5:00pm
5:30pm
*Class descriptions as per NAIT

Computer Engineering Technology: Course Details

Term 1 expand_more

CMPE1000: Basic Electricity expand_more
In order to work with electronic systems students need to have a basic working knowledge of electrical circuits. Upon completion of this course, students should be able to construct, test, analyze, design, and document direct current (DC) and alternating current (AC) circuits.

CMPE1100: Workplace Skills and Safety expand_more
Working in a safe and professional manner is a requirement at all worksites. Fundamental skills and knowledge expected of all computer engineering technologists will also be explored. Participants will learn and demonstrate skills in workplace safety, soldering, prototyping, basic computer and networking components, and introduction to virtualization.

CMPE1300: Fundamentals of Programming expand_more
Fundamental skills in programming are critical to many of the tasks IT professionals perform. Students will create programs that use looping, decision-making, and methods to implement algorithms and analyze, debug, and troubleshoot programs.

CMPE1550: Digital Logic expand_more
Digital logic is foundational to an understanding of computing systems. Upon completion of this course students will be able to design, build, simulate, and analyze logic circuits.

COMM1000: Technical Communications expand_more
This course will place an emphasis on developing professional communication skills to enable students to be successful members of a team in a work environment. The course concentrates on skills in writing, reading, speaking, researching, and critical thinking, within the context of technical communications in the workplace.

MATH1106: Technical Mathematics, Calculus I, and Statistics expand_more
This course is for Computer Engineering Technology students. In order to analyze electric circuits students need to be able to use algebraic and transcendental functions. This course also introduces the student to statistics and statistical methods, as well as differential calculus which are commonly used in technical analysis.

Term 2 expand_more

CMPE1250: Embedded System Fundamentals expand_more
Dedicated embedded controllers exist in vehicles, appliances, and electronic systems. A foundation in embedded controllers is essential for building and programming these systems. Students will learn to program an embedded controller and interface it to a variety of input and output devices.

CMPE1400: Semiconductors expand_more
In order to work with electronics, students need to have a basic working knowledge of semiconductor circuits. Upon completion of this course, students will be able to analyze, design, construct, and test linear and digital switching semiconductor circuits.

CMPE1666: Intermediate Programming expand_more
Windows and the .NET Framework provide an infrastructure for the rapid creation of rich interactive programs. This course introduces students to user-interface design and event-driven programming, where they will create responsive applications that use standard controls, components, and resources. Students will also refine skills in troubleshooting, algorithm implementation, and program analysis.

CMPE2000: Web Technologies expand_more
The Internet plays an increasingly important role in all industries. This course introduces website design using current HTML and CSS standards. Interactive web interfaces will be developed using JavaScript and JQuery, including web service consumption, and functionality will be further enhanced using external JavaScript libraries.

CMPE2400: Databases expand_more
Efficient organization and retrieval of information is critical to all aspects of computing. This course introduces transactional relational database programming using SQL. Students will create queries that retrieve and manipulate data. Students will also design, implement, and operate normalized databases.

MATH1200: Calculus II expand_more
This course is for Computer Engineering Technology students. In order to analyze frequency content in the data acquisition context series approximations will be studied. In addition, students will analyze physical systems using Integral Calculus and Laplace Transforms.

Term 3 expand_more

CMPE2100: Hardware Interfacing expand_more
In order to manage industrial and commercial systems, one must interface with and process real-world physical quantities. Students will design and build circuits to interface sensors with computers and computers with actuators. Students will create programs to automate this process and create human machine interfaces (HMI).

CMPE2150: Practical Electronics expand_more
Designing and building electronic systems requires practical application of theory. Declarative problems in electronics will be solved through typical applications in project work. Topics covered include AC control, digital filtering, motor control, interface circuits, and printed circuit board design for manufacture.

CMPE2250: Embedded System Applications expand_more
Embedded controllers typically interface with other devices for acquisition of data and control. More advanced features such as interrupts, non-blocking code, efficient code architecture will be explored. Participants will operate on-chip modules and interface with external devices.

CMPE2300: Object-Oriented Programming expand_more
Creating sophisticated programs requires advanced techniques in programming, including object-oriented concepts. Students will create class hierarchies that employ inheritance, polymorphism, and interfaces.

CMPE2550: Web Applications expand_more
Web users expect a dynamic, interactive, and personalized experience from websites. This course introduces server-centric web application development. Students will create dynamic web applications and web services that use server-side databases.

CMPE2600: Process Automation expand_more
Programmable Logic Controllers (PLCs) are used to control industrial plants and processes. Students will design, program, troubleshoot, and document the automation of industrial applications using a PLC.

Term 4 expand_more

CMPE2700: Communication and Networking expand_more
Devices in a computer based system need to communicate efficiently and accurately. Participants will implement and troubleshoot communications between a variety of devices, using several different protocols. Participants will explore principles of data communication using serial connections and TCP/IP networking. This course includes Internet of Things (IoT) / Industrial Internet of Things (IIoT) communication.

CMPE2750: Embedded System Design expand_more
The course involves the design and construction of a simple microcontroller-based that responds to data collected from a chosen sensor. Participants will be guided in the selection and integration of components for a working prototype. All stages of implementation will be performed by the student including board design, component selection, population, and programming.

CMPE2800: Advanced Programming expand_more
Software developers must be prepared to create professional and maintainable applications. Participants will employ reusable and extensible code, multi-tier considerations, runtime performance, dynamic typing, and advanced application patterns.

CMPE2850: Programming Languages expand_more
Programmers must be capable of choosing the most appropriate technology to implement a software solution given a specific set of criteria. Participants will implement and compare software designs from a relevant candidate language.

CMPE2965: Technical Project expand_more
Computer engineering technology solutions require the synthesis of skills obtained in a variety of disciplines throughout the program. Student teams will apply project management skills and professional practices to their solutions. Participants will conceive and research a project idea, propose a solution, design and build a prototype, and document and present their results.