Course Objectives - Learning Outcomes

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.

  1. BuildBuild 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

  2. ToolsApply 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

  3. Hardware 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