ENGRĀ 0220. Programming and Problem Solving in Engineering

Units: 4
Prerequisite: Completion of MATH 30 and PHYS 205 and 205L with grades of "C" or better
Advisory: PHYS 205 may be taken concurrently
Hours: 108 (54 lecture, 54 laboratory)
Utilizes the MATLAB environment to provide students with a working knowledge of computer-based problem-solving methods relevant to science and engineering. It introduces the fundamentals of procedural and object-oriented programming, numerical analysis, and data structures. Examples and assignments in the course are drawn from practical applications in engineering, physics, and mathematics. (C-ID ENGR 220) (CSU, UC)

ENGR 0220 - Programming and Problem Solving in Engineering

http://catalog.sierracollege.edu/course-outlines/engr-0220/

Catalog Description DESCRIPTION IS HERE: Prerequisite: Completion of MATH 30 and PHYS 205 and 205L with grades of "C" or better Advisory: PHYS 205 may be taken concurrently Hours: 108 (54 lecture, 54 laboratory) Description: Utilizes the MATLAB environment to provide students with a working knowledge of computer-based problem-solving methods relevant to science and engineering. It introduces the fundamentals of procedural and object-oriented programming, numerical analysis, and data structures. Examples and assignments in the course are drawn from practical applications in engineering, physics, and mathematics. (C-ID ENGR 220) (CSU, UC) Units 4 Lecture-Discussion 54 Laboratory 54 By Arrangement Contact Hours 108 Outside of Class Hours Course Student Learning Outcomes Apply a top-down design methodology to develop computer algorithms. Apply numeric techniques and computer simulations to analyze and solve engineering-related problems. Implement MATLAB effectively to analyze and visualize data. Create, test and debug sequential MATLAB programs, as well as programs that use object-oriented techniques, in order to achieve computational objectives. Create, format, and program data sets into structural arrays to solve standard engineering problems using course software. Course Content Outline I. Introduction to MATLAB A. Setting up the environment B. Using the GUI C. Engineering problem solving in MATLAB II. MATLAB Environment A. Opening, closing, saving, printing, and screens B. Define and use simple matrices C. Name and use variables D. Order of operations in MATLAB E. Scalar, array, and matrix calcualtions F. create and save a series of commands (M-file) III. MATLAB Functions A. Trigonometric functions B. Algebra functions C. Statistical and data analysis functions D. Uniform and Gaussian random number matrices E. Special function built into MATLAB IV. Manipulating Matrices A. Create and edit a matrix B. Extract data within a matrix C. Two variable matrix D. Create and use special matrices V. Plotting A. Create and label two-dimensional plots B. Adjust the format of plotting (units, size, grid) C. Divide the plot into sub-plots D. Create and label three-dimensional plots E. Interactive MATLAB plotting tools VI. User defined functions A. Create user defined MATLAB functions for single variable problems B. Create user defined MATALB functions for multi variable problems C. Store and access user defined functions D. Create and use anonymous functions E. Create and use subfunctions and nested subfunctions VII. User controlled input and output A. Creating and using M-files B. Create output with multiple functions C. Create user formatted output D. Create user formatted output in conjunction with other functions E. Graphical techniques to provide program input F. Cell mode for modifying and running M-file programs VIII. Logical functions and selection structure A. Understanding how MATLAB interprets relational and logical operators B. Find function C. Work with "if/else" commands E. Work with "switch/case" commands IX. Repetition structures A. Program "for" loops B. Program "while" loops C. Create midpoint break structures D. Measure time required to execute program components E. Improving program execution time X. Matrix Algebra A. performing basic matrix algebra operations B. Solve simultaneous equations with MATLAB Matrix operations C. Set up and use some MATLAB special matrices XI. Alternate Arrays A. Different data types and their use B. Numeric and character arrays C. Multi-dimensional arrays D. Cell and structure arrays XII. Symbolic Mathematics A. Symbolic variables B. Factor and simplify mathematical expressions C. Solve symbolic expressions D. Solve systems of equations E. Create symbolic functions F. Symbolic derivatives of a function G. Integrate symbolic expressions symbolically H. Solve differential equations symbolically XIII. Numerical techniques A. Interpolate between data points (linear and cubic spline) B. Model a set of data points as a polynomial C. Basic fitting tools D. Curve-fitting tool box E. performing numerical differentiations F. Solve differential equations numerically XIV. Advanced graphics A. creating and formating the different image files B. Assigning a handle to plots, adjusting properties, and using handle graphics C. Create animations with MATLAB D. Adjust lighting, camera, and transperency of graphics E. Visualization techniques for both scalar and vector information in three dimensions XV. Graphical User Interface A. The GUIDE layout editor B. Modify function callbacks C. Create and modify several different types of graphical user interfaces Course Objectives Course Objectives Lecture Objectives: 1) Demonstrate proficiency with the MATLAB environment and functions; 3) Create user defined functions, inputs and outputs; 4) Define engineering problems within MATLAB Software; 5) Create and manipulate matrices within MATLAB software that model engineering problems (physical phenomena); 6) Create (program) logical functions, selection structures, and repetition structures; 6) Perform matrix algebra with MATLAB to solve engineering problems; 7) Perform symbolic mathematics with MATLAB to simulate engineering problems; 8) Use advanced numerical techniques with MATLAB to simulate engineering problems; 9) Distinguish between variables, constants, and controls; 10) Use the MATLAB software to obtain graphical solutions for engineering problems; Laboratory Objectives: 1)Create a top-down design methodology to develop computer algorithms. 2) Write, test and debug sequential Matlab programs, as well as programs that use object-oriented techniques, in order to achieve computational objectives. 3)Synthesize numeric techniques and computer simulations to analyze and solve engineering-related problems. 4)Create a MATLAB program to effectively analyze and visualize (display) data. 5)Create and use standard data structures within a MATLAB software program. Methods of Evaluation Objective Examinations Projects Reading Assignments 1. Read the assigned pages from the textbook on programming and matrix algebra operations and be prepared to discuss and solve engineering problems that include multiple constraint equations. 2. Read the assigned pages from the textbook on MATLAB user defined input variables and be prepared to discuss their use and how to program those input variables. Writing, Problem Solving or Performance 1. Complete several of the problems at the end of the chapter related to creating and manipulating matrices. These problems will then be graded by an instructor with a standardized rubric in accordance with correct solutions and accepted best practices for programming. 2. Complete problem sets at the end of the chapter on formatting output to a desired representation. Turn in plots with said output to the instructor and have them evaluated (graded). Other (Term projects, research papers, portfolios, etc.) Methods of Instruction Laboratory Lecture/Discussion Distance Learning Other materials and-or supplies required of students that contribute to the cost of the course. Computer storage device (Flash drive)