Practical Computing for Engineers:

Applied Matlab

Updated Aug 22, 2017

ENGRG 1112, Professor Andy Ruina (email)
Lectures: Fridays 1:25-2:15, Kimball B11
Communications via Piazza (click and sign up)

A one-credit supplement to CS 1112. Time commitment: 1 hr/wk in class + 2 hrs/wk out + 3 hrs final project.

Course description
An introduction to Engineering problem solving using Matlab, supplementing CS 1112. ENGRG 1112 uses CS 1112  concepts in the service of basic numerical computation for engineering. At course completion, a student will be able to comfortably use Matlab to solve or check homework problems or project issues, in almost all other math and engineering courses, using various numerical and symbolic methods.  

Throughout the semester, students will  solve `word problems'. The  over-arching theme, sitting above the list of topics in the applied text and in the CS 1112 syllabus,  is the nature of problem solving:  how to turn a question into a solvable problem, and then solving, debugging and making sense of the solution.   The final project and demonstration will show competence in all of this.


Why does CS 1112 need a supplement?
So that students who want that can orient their computer science skills more in the applied direction.

What is the difference between this (ENGRG 1112)  and the CS1112 AEW workshop?
AEW is reinforcement of the material in CS1112. ENGRG 1112 builds on CS 1112 with additional applied material.

Can I take ENGERG 1112 and  the  CS1112 AEW workshop?
Yes.  But you only have so many hours in a week.

Can I take this if I am in, or took, CS 1110?
You are not the main target audience.  But you can take ENGRG 1112  if you are willing to learn the CS 1112 material, namely basic Matlab syntax, on your own.

Can I take this if I have not taken any CS class?
If you are willing to learn enough of the CS 1112 material, namely basic Matlab syntax, on your own, you are welcome.

Can I take this if I am a sophomore or junior?
You might be bored by the initial weeks when the freshman are just getting up to speed, but we could give you homework suitable to your level.

Prerequisites:               No specific pre-requisites

Corequisites                 You should be taking, or have taken, Math 191 or equivalent, and CS 1112 or equivalent (exceptions w/ permission of instructor).

                          You should be comfortable with topics up to calculus  including algebra, geometry and trigonometry.

Required materials

* Getting Started with MATLAB: A Quick  Introduction for Scientists and Engineers,
7th Edition 

          * Strongly recommended: Matlab on a laptop computer (student edition or Cornell license).

* i-clicker, or cell phone app that interfaces with i-clicker.

Class and lab schedule:  1 lecture per week, Friday 1:25-2:15

Office hours: Many.  Students are expected to come, at least briefly, every week.

Assignments, exams, and projects

- Daily informal  in-class i-clicker quizzes

- Video and/or reading prep for every lecture.

- Using-the-computer assignment(s) associated with every lecture

- No prelims or exams

- Final ``design'' project, and individual presentation of project including query of student's mastery of material

- Nominal workload is  3 hours/wk  (in class and out of class). Thatís 50 hours total for the semester

Grading:       Letter grade or pass/fail.   Based on a weighted average of all course components.

Pass/fail: A student who credibly documents an investment of 50 hours total, passes. 

Letter: 50 hours guarantees a B.  The median grade will be somewhere in the B+ range, depending on overall class performance.

Typical topics covered

The course will re-inforce most of the content in  CS 1112. Additional emphasis will be on such things as  the Matlab user interface (managing windows, help, directories, etc); reading and writing files;  Symbolic calculations; useful math functions (ode45, interpolation,  curve fitting, backslash, etc);accuracy, convergence, roundoff and method errors; advanced Plotting, animation. Sample numerical  problems will include  finding areas and volumes, integration, differentiation, limits, series, monte-carlo population dynamics simulations, Euler's method for ODEs, etc.

Student outcomes

Working knowledge of most of the above topics, including both programming skills and special Matlab shortcuts.

Comfort and ability to setup, solve engineering and math problems using the tools above.

Ability to and habits of doing well documented, organized and checked-for-reasonableness computer work.

Student should be comfortably able to solve, illustrate, plot,  or animate some features of most homework problems in most later courses using Matlab, including projects involving multiple files and user-created functions.

Examples of detailed skills to be obtained by students:

- Go from a word problem to system of  linear equations to matrix form to computer solution to interpretation of solution.

- Be able to code  in Matlab, without special Matlab commands: Euler's method; numerical differentiation; numerical integration in 1-3 dimensions.

- Do algebra with the Symbolic toolbox.

- Convert symbolic expressions into expressions for numerical evaluation.

- Print using disp and fprintf; read and write files.

- Use the debugger

- Use the plot command with some sophistication in 2D and 3D

- Make simple animations.

- Use various forms of online help (help, doc, google, etc)

- Use the computer iteratively to estimate  method and roundoff errors.


Suggested or entertaining or  useful links/readings:

        * 10 Steps to Earning Awesome Grades (while studying less) -Thomas Frank (free 28 page pdf)
        * Andy's essays for students: 
1) Grades are like sausages,   2) Writing a decent report

        * Kelly Black Matlab, U of Georgia. Tutorial.

        * TutorialsPoint Matlab.  Tutorial