MREN 178 Data Structures and Algorithms Units: 4.00
This course introduces fundamental structures and algorithms for storing, managing, manipulating and analyzing data. Topics covered include structures, such as multidimensional arrays, linked lists, stacks, queues, deques, asymptotic notation, hash and scatter tables, trees and search trees, heaps and priority queues, graphs, and algorithms such as recursion, branch-and-bound methods, searching, sorting, and probabilistic algorithms. Microcontroller-based laboratory exercises will explore applications of data structures and algorithms, using examples drawn from mechatronics and robotics engineering.
(Lec: 3, Lab: 0.5, Tut: 0.5)
(Lec: 3, Lab: 0.5, Tut: 0.5)
Requirements: Prerequisites: APSC 142 or APSC 143 or MNTC 313
Corequisites:
Exclusions: ELEC 278 or CISC 235
Offering Term: W
CEAB Units:
Mathematics 12
Natural Sciences 0
Complementary Studies 0
Engineering Science 24
Engineering Design 12
Offering Faculty: Smith Engineering
Course Learning Outcomes:
- Proficiently implement fundamental data structures and algorithms using the C programming language on a microcontroller.
- Identify and describe the standard data structures and algorithms.
- Describe fundamental techniques for comparing alternative data structures and algorithms.
- Select the appropriate data structure or algorithm to correctly and efficiently solve a given computational problem.
- Analyze a given computational problem and correctly implement it using suitable data structures and algorithms.
- Examine solutions using critical thinking to increase efficiency and robustness of a given computational problem solution.
- Identify legal requirements, liabilities, commitments, and risks associated with software design and development.
- Evaluate performance of a design, using criteria that incorporate specifications, limitations, assumptions, and other relevant factors.