Course includes both lecture and lab components per week. Study the interactions of energy and matter. Learn and apply the 0th, 1st, and 2nd laws of thermodynamics, work and heat, free energy, entropy, enthalpy. Learn how equations of state relate quantities such as temperature, pressure, volume, and internal energy for ideal gases and more complex systems. Prerequisite: grade of C or higher in PHYS 260.

Course includes both lecture and lab components per week. Learn about fundamental crystal structures, elastic constants, stress and strain due to mechanical deformation and thermal expansion, and plastic deformation. Use the Schmid factor to determine active slip systems. Learn how to model viscoelasticity and select optimal materials using Ashby plots. Prerequisite: grade of C or higher in 250.

Students learn basic procedural programming skills in a program such as Matlab, and study various mathematical models along with their applications to engineering. Various deterministic, stochastic, and simulation models are covered. Requirements include modeling projects with written reports and class presentations. Prerequisite: acceptable placement score or grade of C or higher in 220, 325. (Equivalent to MATH 365). QL, WCII

An introduction to the development and implementation of complex systems and effective management strategies to complete projects. Apply estimation, planning, and tracking to optimize systems emphasizing the phases of product lifecycle. Learn to verify and validate designs, manage risk, and formulate technical reviews. Course includes both lecture and lab components per week. Restricted to students with junior or senior standing.

Explore metacognitive strategies to better understand how you learn, reflect on problem-solving approaches, and build habits for lifelong learning in technical fields. Develop an applied understanding of precalculus, linear algebra, spatial reasoning, and calculus.

Course includes both lecture and lab components per week. Practice innovation by designing and building solutions subject to physical constraints. Explore the creative side of problem solving, learn the fundamentals of the design process, and strengthen solutions by working in teams. Sharpen real-world presentation skills by giving pitches to "customers". AE

This course provides an in-depth study of database management and design and considers how databases interact with software applications. Tools used to organize, maintain, and safeguard large volumes of data are presented. Students will study database structures, data modeling, and structured query languages (SQL). Prerequisite: grade of C or higher in 110.

Learn the basics of microcontroller internal architecture, functions and applications. Apply input/output interface protocols and debugging to create devices that can run independently. Analyze Low-level data operations, effective memory allocation, management strategies, resource utilization optimization, performance and reliability. This course develops a solid foundation of C programming, emphasizing its application in developing embedded systems. Prerequisites: grade of C or better in 110, MATH-261.

Students will understand data structures and develop skills to design and analyze software algorithms. This course is designed for students with foundational programming knowledge. Topics include arrays, trees, dictionaries, sorting, searching, recursion, and graph traversal. Emphasis will be placed on understanding algorithmic efficiency, Big-O notation, and performance trade-offs, equipping students to write efficient code for complex problem-solving. Prerequisites: 110, MATH-261.

Learn the fundamentals of operating systems that are optimized for embedded environments, with a dual focus on the customization of the Linux kernel and the principles of real-time operating systems (RTOS). Configure and enhance the Linux kernel and implement RTOS for deterministic performance in embedded applications. Prerequisite: grade of C or better in 320.