Homework for ME 350

Unless explicitly noted in the assignment

To simplify the creation of the document you submit as your solution, consider using the ME350_assignment_template.docx MS Word template.

Weekly Assignments

  1. Questions on homework format
  2. Homework 01
  3. Homework 02
  4. Homework 03
  5. Homework 04
  6. Homework 05
  7. Term Project

D2L Submissions

For each assignment, upload one word-processing document and all m-files used to solve the problems in the assignment. Use the D2L dropbox designated only for that assignment. For the word-processing document, please use either PDF or MS Word documents because those can be reviewed directly with the web interface to D2L.

Please use meaningful names for your word-processing documents and m-files. It's good to include your name, class and assignment number in the word-processing documents, for example, Doe_Jane_ME350_HW1.pdf. For m-file functions try to begin the name with a verb that suggests the action and include a reference to the problem set, for example, plotViscosityHW1.m. That said, try to avoid very long names for m-files since running an m-file function requires typing the name of the m-file at the command prompt

If your solution uses m-files provided by the instructor, e.g. bisect.m or thicklines.m, you do not need to upload those m-files to your D2L dropbox.

Please do not compress multiple files into an archive, e.g. a zip archive, and upload the archive. In order to view your work when it's in an archive, we need to download the archive, unzip it and then manage the files on our computers.

Write code that we can run

If the problem statement requires you to write a MATLAB m-file, the m-file should run without any input arguments or user-supplied prompts. For example, if your m-file is hw1Prob2.m we should be able to download your program and type hw1Prob2 at the command prompt to generate all output required for that part of the assignment.

It is OK for your solution to use multiple m-files, e.g. hw1Prob2 could call foo.m and bar.m so long as the foo and `bar` functions do not require additional user input.

It is a good idea for your functions to accept input arguments. The recommended strategy is to provide default values and then check for user inputs with the value of `nargin`.

The goal is to write code that produces the correct results without relying on parameters that the user must remember to enter. In particular, when we run your code we don't want to have to dig through your assignments to find the parameters to make that code work. In fact, we won't do that.

In general your functions should accept parameters to make your analysis flexible. Just provide appropriate default values that allow your code to run correctly without user input.

In short, make your code flexible by allowing the user to control it with input parameters, but don't make the user enter inputs just to check that the code is working.

Thanks!


Document updated 2017-01-08.