CE640 / OC512 - Basic Matlab for Environmental Scientists and Engineers (2cr)
Instructor - Dr. David Hill
Office - 207 Owen Hall
Phone - 541.737.4939
Email - dfh@oregonstate.edu
Class Time - TU 10:00 - 11:50 am
Class Location - 241 Owen Hall
Office Hours - TH 10:00 - 11:30 am. This is a pretty on point explanation of office hours...use them!
Prerequisites None.
Course Catalog Description This programming class develops the competence and confidence of students in analyzing data and writing codes. It introduces basic coding structues and teaches students how to combine these solve complex problems in engineering and natural science analysis. Finally, it helps students develop the skills to effectively and visually communicate results and conclusions to others.
Additional Description This course will provide an introduction to the numerical computing and graphics environment and programming language, MATLAB, and is intended for beginning graduate students in engineering, oceanography, atmospheric sciences and marine geosciences. The MATLAB desktop environment will be introduced and basic programming and data analysis skills will be developed, with an emphasis on writing optimized routines to analyze data sets utilizing matrix algebra and vectorization of functions. Basic graphics and visualization will be covered, including two-dimensional and three-dimensional graphing, contouring and movies. Additional topics covered will include metadata and code versioning. The course will emphasize hands-on computer lab experience during the lecture hours and out of class programming assignments.
Tentative Weekly Schedule
- Introduction - Matlab desktop and environment. Also, GitHub and Slack stuff...
- Data types and arrays, strings, cells, structures, scripts vs. live scripts
- m-files, functions, for loops, while loops, if statements, and so on
- File input and output, ascii, binary, tables, etc.
- Ooooo....pretty graphics
- Curve fitting and parameter estimation
- Techniques for solving differential equations (numerically)
- Time series analysis, detrending, outlier detection, filtering
- Mapping stuff, projections, etc.
- NetCDF, metadata, data acquisition, etc.
Course Learning Outcomes
- Recall and reproduce fundamental syntax and programming constructs, including variables, data types, operators, and basic control structures.
- Interpret and explain code snippets, functions, and scripts, demonstrating comprehension of their purpose, logic flow, and expected outcomes.
- Apply programming skills to solve simple computational problems, such as mathematical calculations, data manipulation, and basic algorithmic tasks.
- Analyze and debug code to identify and rectify errors, utilizing debugging tools and techniques effectively to troubleshoot programs.
- Critically assess and compare different approaches and algorithms for solving specific computational problems, evaluating their efficiency, accuracy, and appropriateness.
- Design and develop programs and functions to solve complex computational problems, integrating multiple programming concepts and techniques learned throughout the course.
Evaluation of Student Performance
- The course grade is based on weekly assignments. Depending on the class size, it is likely that I will grade only a sub-set of the assignments.
- You may discuss your assignments with others and work through common issues in a group, but you must hand in your own original work. Passing off someone else’s code as yours is academic misconduct. And, you don’t learn much that way. So, put in your own work, please and ask for help!
- Assignments are due at the start of the next class.
- Grading Breakdown
- 92 - 100 A
- 90 - 92 A-
- 88 - 90 B+
- 82 - 88 B
- 80 - 82 B-
- 70 - 80 C
- 60 - 70 D
- 0 - 60 F
Learning Resources
- Numerous eBooks from the OSU Library (pick eBooks, search for MATLAB). Read on line or 28-day download.
- Online documentation and movies are extensive and excellent
- Tons of actual books, should you want a hard copy reference
- Ask your friends (or me, or anyone else)
- Online help – Matlab Central
- Demos – Online or at the command prompt.
Compulsory Univeristy Course Statements
- All students are subject to the registration and refund deadlines as stated in the Academic Calendar
- Accommodations for students with disabilities are determined and approved by Disability Access Services (DAS). If you, as a student, believe you are eligible for accommodations but have not obtained approval please contact DAS immediately at 541-737-4098 or online. DAS notifies students and faculty members of approved academic accommodations and coordinates implementation of those accommodations. While not required, students and faculty members are encouraged to discuss details of the implementation of individual accommodations.
- Student Conduct Expectations
- OSU has twelve established student rights. They include due process in all university disciplinary processes, an equal opportunity to learn, and grading in accordance with the course syllabus.
- University students encounter setbacks from time to time. If you encounter difficulties and need assistance, it’s important to reach out. Consider discussing the situation with an instructor or academic advisor. Learn about resources that assist with wellness and academic success. If you are in immediate crisis, please contact the Crisis Text Line by texting OREGON to 741-741 or call the National Suicide Prevention Lifeline at 1-800-273-TALK (8255).