**We will practice the following skills this semester.**
Exposing you to the many techniques and capabilities in MATLAB will enhance your ability to use computing tools and languages to solve engineering problems
you encounter in your future academic and professional career.

**Build programs to solve engineering problems**

Use programming operations to calculate solutions

Determine better and more accurate solutions

Perform and evaluate algebraic and trigonometric operations using built-in functions

Assign and manage variables

Manipulate vectors and matrices, use matrix indexing, and determine matrix dimensions

Generate linearly spaced vectors

Create and execute a script

Create and evaluate x-y plots and subplots suitable for technical presentation

Create, test, and execute user-defined functions and sub-functions

Create function input validation

Distinguish between the different MATLAB ‘data types’

Create and manipulate Structures and Arrays

Perform and evaluate relational and logical operations

Load, analyze, and manipulate images

Obtain and utilize user input

Manage and format text output

Import and export numeric data using other filetypes (e.g. .csv, .xls, and .txt)

Perform polynomial curve-fitting, general curve fitting, and interpolation

Perform numeric and symbolic differentiation and integration

Solve non-linear systems of equations

Solve numeric ODE’s

Build a block diagram in Simulink to perform an operation

Perform numerical optimization

Analyze Signals

**Apply MATLAB conventions and "good" programming practices**

Note: To meet this objective, you will have to submit WORKING programs on your exams. There is no partial credit.

Utilize debugging techniques: isolate and test sections of a program, suppress or display intermediate operations, and trace variables to locate errors

Utilize proper conventions to name files and variables and manipulate data

Employ effective commenting

Implement techniques to increase code efficiency: use effective naming, maintain consistency, follow a logical organization, reuse components where possible, remove redundancy (DIE: duplication is evil), and minimize risk for error-
**Manipulate and control hardware in team-based design projects**

Demonstrate initiative to self-learn how to use hardware

Demonstrate innovation and creativity in your approach to solve complex problems

Acquire sensor data and program an autonomous response

Deliver a successful product

Demonstrate successful teamwork

Demonstrate effective technical communication to present the details of a project