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
- Each problem should be solved in a separate Jupyter notebook.
- 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.
or:
File -> Download as -> PDF via LaTeX
.
- Ensure that your notebook runs properly before submitting it. Do:
- 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).
- Submit the .ipynb notebook and the .pdf version of it!
- If your PDF version is not generated properly, you may lose credit, so please ensure that it captures the notebook properly.
- 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
Properties
- Various physical properties of selected substances
- Property selection heuristics
- Property databases from the Marriot Library
- NIST property database for fluids
- Henry's Law Constants
- Dortmund Data Bank (DDB) UNIFACC Activity Coefficients
- Critical properties of some fluids
- Antoine Equation Parameters (and lots of other data)
Jupyter Notebooks
Cloud-based access (recommended)
- Point your web browser to ondemand-class.chpc.utah.edu if you don’t want to install python and Jupyter on your own computer. If you are off campus, you may need a VPN connection.
- Follow instructions here to activate your account and log in.
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:- CodeAcademy Python class and the you-tube versionGoogle’s Python classPython for data scienceTrinket is an online programming platform that provides some pretty good python documentation/tutorials.
- 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 interpolation, quadrature (numerical integration), optimization, ODE solvers, linear 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.
- Numpy for Matlab users (I find this quite useful as a general summary of common Python operations)Python primer for Matlab users
LaTeX information:
Here is a useful web page that provides the LaTeX command to generate numerous mathematical symbols.
Coming from Matlab
- Numpy for Matlab users (I find this quite useful as a general summary of common Python operations)