ENGR 138: Computer Programming and Numerical Methods for Engineers
Citrus College Course Outline of Record
Heading | Value |
---|---|
Effective Term: | Fall 2023 |
Credits: | 4 |
Total Contact Hours: | 108 |
Lecture Hours : | 54 |
Lab Hours: | 54 |
Hours Arranged: | 0 |
Outside of Class Hours: | 108 |
Total Student Learning Hours: | 216 |
Prerequisite: | MATH 190 or higher. |
Strongly Recommended: | ENGL 101. |
Transferable to CSU: | Yes |
Transferable to UC: | Yes - Approved |
Grading Method: | Standard Letter |
Catalog Course Description
Engineering computation using MATLAB and VBA. Topics include programming fundamentals, matrix computation, statistical analysis, data graphing, data extraction from spreadsheets and solving mathematical problems using numerical methods. 54 lecture hours, 54 lab hours.
Course Objectives
- Identify, formulate and solve computational problems.
- Design algorithms and flowcharts to facilitate programming.
- Create, test and debug programs using procedural and object oriented approaches.
- Write programs requiring subroutine call outs and importing of data from files.
- Write MATLAB programs to analyze data and generate tables, charts and graphs.
- Write VBA programs to assist in extracting information from a spreadsheet to analyze and generate tables, charts and graphs.
Major Course Content
- Introduction to computer programming
- Basic computer programming concepts
- Programing languages
- Matlab language attributes
- Linear algebra and array concepts
- Linear equation applications and solutions
- Definitions and operations of arrays
- Problem-solving methods, scripting, inputs and outputs
- Relational and logical operators, IF, IF-ELSE statements
- IF Ladders, flowcharting
- FOR loops, series approximation and indexing
- Nested FOR loops, vectorization and 3D plots
- WHILE loops, newton and bisection methods
- Problem solving applications
- Interpolation, least squares regression, linearization
- Heat transfer and stress applications
- Solving 1st order ordinary differential equations, exponential growth
- Monte Carlo simulation
- Program organization and debugging
- Strings
- Cell arrays and structures
- Sorting and searching
- Introduction to Microsoft Excel VBA and macros
- Spreadsheet low-level file input/output
- Object-oriented programming, graphical objects
- Graphical user interfaces
- Exporting data to MATLAB from a spreadsheet
- Importing data from MATLAB
Lab Content
- Writing and correcting expressions in Matlab
- Working with arrays
- Developing databases
- Sorting lists
- Plotting with advanced techniques
- Problem solving applications
- Solving circuits and statics problem
- Analyzing projectile motion
- Calculating areas and volumes of solids
- Analyzing solid object stress data
- Analyzing heat transfer data
- Solving functions of one variable
- Introduction to Excel VBA
- Data input and extraction form spreadsheet
- Writing Macros to process data
- Developing simple graphic user interfaces (GUI)
- Transfer spreadsheet data to MATLAB, process data and report results on graph or chart
Suggested Reading Other Than Required Textbook
Engineering journals or periodicals from professional engineering organizations such as ASME, SAE, IEEE, ASCE, etc.
Examples of Required Writing Assignments
Each section will have questions to answer from the textbooks in short answer form.
e.g. Describe how a program can be written to cause an infinite loop to occur.
Examples of Outside Assignments
Section practice problems:
- Given the matrix representation for the planar circuit, solve the matrix. Apply your technique to the given DC circuit. Now modify your solution to deal with AC circuits of variable frequency.
- Enter the following list into an Excel spreadsheet. Write a program in VBA to divide the Velocity, Time and the 'X' and 'Y' distances into arrays on a separate sheet. Write a MATLAB program that will read the divided data and plot the data as a graph representing the projectile's position with respect to time and velocity.
Instruction Type(s)
Lab, Lecture, Online Education Lab, Online Education Lecture