3603 – Homework

Submitting Homework

Submit homework assignments via gradescope

By submitting homework, you certify that your solution represents your own work. Submitting others’ work constitutes cheating and will result in automatic failure of this class.

Homework Submission Instructions

  1. Each problem should be solved in a separate Jupyter notebook.
  2. Submit both the Jupyter notebook (.ipynb) and a PDF copy of the notebook.
    • Ensure that your notebook runs properly before submitting it. Do:
      Kernel -> Restart & Run All
      to ensure that there are no errors.
    • Include any supplemental files needed to run your notebook in your submission (images, data files that are loaded by your notebook, images loaded, etc.)
    • To generate a PDF of your notebook:
      File -> Print Preview followed by printing to a PDF from your browser.
      File -> Download as -> PDF via LaTeX.
  3. If this doesn’t look correct, try first exporting as an HTML file and then converting that to PDF (load it in a web browser and print it to PDF).
  4. Submit the .ipynb notebook and the .pdf version of it!
  5. If your PDF version is not generated properly, you may lose credit, so please ensure that it captures the notebook properly.
  6. Submit via gradescope. You should receive a confirmation email after submitting.

To receive credit for a homework assignment, ensure that you follow these rules:

  • Homework solutions must be submitted electronically as a Jupyter notebook and as a PDF.
  • No late homework submissions will be accepted unless arrangements are made prior to the due date with Prof. Sutherland.
  • Unless stated otherwise in the homework problem, provide a separate report for each problem.
  • Reports should contain a brief description of the problem, a description of how you solved it, and a discussion of the results.  Also include relevant figures, tables, etc.
  • Be sure that you submit your own work. Do not copy others’ work – no matter the source. Submitting others’ work constitutes cheating and will result in failure of this class.

Homework Resources

Jupyter Notebooks

Cloud-based access (recommended)

Local installations

  • For a local installation, I strongly recommend using Anaconda, which will make using Jupyter seamless.  If you use a local installation, be sure to use Python 3.x (not 2.7). 
  • Be sure to install nbextensions, which provides LaTeX support like equation cross-referencing.
  • If you use a local installation, I also suggest that you upload your notebook to ondemand-class.chpc.utah.edu (be sure that you configure it first) to verify that it works properly.

Some Jupyter Resources

Python Resources

General Python programming resources: Python has a vast number of libraries to simplify many tasks. Among those that you will probably use regularly:
  • matplotlib provides very powerful (but sometimes challenging to use) plotting capabilities. A quick way to get started on a plot is to look at the matplotlib gallery to obtain code to generate a plot like the one you want to create.  Here is another great resource on matplotlib.
  • NumPy provides really powerful array handling capabilities like those in Matlab to allow you to create and manipulate arrays of data. It also has some algorithms that operate on the data.  We will use numpy extensively in this class.
  • SciPy has a large number of algorithms such as interpolationquadrature (numerical integration), optimizationODE solverslinear algebra tools, etc. There is some duplication between NumPy and SciPy.
  • pandas provides a lot of data analysis tools.  This includes tools to read/write data, analyze and manipulate data, etc.SymPy provides support for symbolic mathematics within Python.
If you are a Matlab user, here are a few resources to help you in python:

LaTeX information:

Here is a useful web page that provides the LaTeX command to generate numerous mathematical symbols.

Coming from Matlab

Homework Assignments

  1. Homework 1 due Wednesday, January 21 at 8:30 AM. Here’s a template for problem 1. Here’s images for problems 3 & 4 if you want those.
  2. Homework 2 due Monday, January 31 at 8:30 AM. Here’s a zip file with some templates. You’ll need this data.csv file for problem 4.
  3. Homework 3 due Friday, February 11 at 11:59 PM.
  4. Homework 4 due Wednesday, February 23 at 11:59 PM.
  5. Homework 5 due Friday, March 4 by midnight. Here’s an image for problem 2 that you can load in your notebook if you’d like. Use a command like this: <img src="fig_04_34.jpg" width="400"/> and be sure that you use the appropriate name for the image in that command (whatever you saved it as).
  6. Homework 6 due Friday, March 18 by midnight.
  7. Homework 7 due Wednesday, March 30 at the beginning of class (8:35 AM). A few things that might be helpful:
  8. Homework 8 due Monday, April 11 at 11:59 PM. Here’s a template for problem 1 that helps with generating the plot with all of the stepping in it if you decide to do this using all python.
  9. Homework 9 due Friday, April 15 at 11:59 PM. Here’s the csv file you’ll need: Txy.csv

Leave a Reply