The definitions of the Mechanical Engineering Program Educational Objectives (PEO) and Program Outcomes can be found on the Mechanical Engineering Program home page.
Course Objectives and Outcomes
MEEN 292 - Spring 2005     |     home
Course Calendar   |   Course Objectives and Outcomes   |   Course Activities and Assessment   |   Course Grading   |   Related Links
Course Objectives and Outcomes
Course Objectives
The objectives of MEEN 292 are to develop in mechanical engineering students the knowledge and skills required to
write well-crafted programs in C++ using object-oriented techniques. (PEO2, PEO5)
apply numerical methods to the solution of several types of mechanical engineering problems. (PEO2)
Course Outcomes
Students will be able to create correctly formatted C++ constants and variables of type int, float, and double. They will know the different characteristics of these data types and when each type should be used. (PO10)
Students will be able to create correctly formatted C++ expressions using the following operators: +, -, *, /, %, (), and [ ]. (PO10)
Students will be able to build programs units consisting of the sequence, selection, and repetition programming structures of C++. More specifically they will be able to determine under what conditions each of the following structures should be used:
Sequence: assignment statement
Selection: if, if-else, if-else if-else if-else, and switch structures.
Repetition: for, while, and do-while structures.  (PO10)
Students will be able to create and call functions having arguments and return values. They will know when arguments should be passed by value or reference.  (PO10)
Students will be able to create simple classes having data members and member functions. They will understand the concept of template classes and be able to instantiate objects from both regular and template classes. They will understand the principle of least privilege as pertaining to class design and the implications of the principles of data abstraction and encapsulation. They will be able to read class header files and be able to call object member functions defined in the header files.  (PO10)
Students will be able to define two types of error inherent in all numerical calculations. They will be able to calculate machine epsilon and know its significance related to roundoff error. (PO01)
Students will be able manually to solve for the zero of a single nonlinear algebraic function using the incremental search, bisection, regula falsi, modified regula falsi, and Newton-Raphson iteration methods. They will be able to apply provided C++ routines for each of these methods. They will be able to list the advantages and disadvantages of each of these methods. (PO01, PO10))
Students will be able manually to solve a set of simultaneous linear algebraic equations using the Gauss elimination with partial pivoting, LU decomposition (specifically Crout's and Doolittle's method), and Gauss-Seidel methods. (PO01, PO10)
Students will be able to apply provided C++ routines for each of these methods. They will be able to list the advantages and disadvantages of each of these methods. (PO01, PO10)
Students will be able manually to determine the coefficients of the interpolating polynomial for a given set of data points using Lagrange's method. They will be able to use provided C++ code for finding a least squares polynomial fit for a given set of data points. They will be able to use provided C++ code for finding a cubic spline curve fit for a given set of data points. They will be able to explain in words the differences between each of these three methods and when each one should be used. (PO01, PO10)
Students will be able manually to compute the integral of a set of uniformly spaced data points using the trapezoidal rule, Simpson's one-third rule, and Simpson's three-eighths rule. They also will be able to derive any of these three integration formulas from first principles. They will be able to use provided C++ code which implements these methods. (PO01, PO10)
Students will be able to decompose a set of higher-oder ordinary differential equations into a simultaneous set of first-order ordinary differential equations. They will be able manually to compute the numerical solution for a single first-order ordinary differential equation using any given Runge-Kutta method. They will be able to use the C++ version of RKSUITE to obtain numerical solutions to simultaneous sets of first-order ordinary differential equations as an initial condition problem. They will be able to distinguish between an initial condition problem and a boundary value problem. They will be able to apply RKSUITE to obtain numerical solutions to two-point boundary value problems. (PO01, PO10)
Students will be able to document computer solutions to engineering problems with well written reports in a standard format that emphasizes insight into the engineering problem, not just the presentation of numbers. (PO06)