Joel Leckie - Education
Educational Synopsis
Educational Notes
- Through formal education, Joel has learned HTML, CSS, JavaScript, JQuery, PHP, SQL, C, and C#
- Informally, Joel has taught himself and practiced with Basic, Python, and MySQL
- In addition, Joel has previously completed the Personal Financial Services Advise (PFSA) level 1 and the Canadian Securities Course (CSC). These certificates have since lapsed as Joel now studies in the Computer Sciences department.
Computer Engineering Technology: Current Calendar
| Monday | Tuesday | Wednesday | Thursday | Friday | |
|---|---|---|---|---|---|
| 8:00am | CMPE-2850 taught by Aj Armstrong CMPE-2850Programming LanguagesProgrammers 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-2700Communication and NetworkingDevices 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-2850Programming LanguagesProgrammers 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-2800Advanced ProgrammingSoftware 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-2700Communication and NetworkingDevices 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-2965Technical ProjectComputer 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 TutorialEach 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-2965Technical ProjectComputer 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-2965Technical ProjectComputer 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-2750Embedded System DesignThe 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-2800Advanced ProgrammingSoftware 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-2750Embedded System DesignThe 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-2965Technical ProjectComputer 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-2965Technical ProjectComputer 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-2800Advanced ProgrammingSoftware 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 |
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.