Technical Communication
Demonstrations of my ability to write in grammatically correct English and convey technical ideas at an audience-appropriate level
Lab Manuals
I took the lead on writing a couple of lab manuals. They discuss the following:
- Sources of uncertainty in measurements
- How to determine the uncertainty in measurements
- Instructions on propagating uncertainty into calculated quantities
- Significant figures
- How to use Vernier calipers, micrometers, and digital multimeters (algebra-version only)
- How to graph data for fitting to theoretical models (algebra-version only)
Calculus Based Physics
Typeset using LaTeX
Algebra Based Physics
Typeset using Microsoft Word
Other Pedagogical Work
Electronics Textbook
The beginnings of a textbook on electronics for scientists, typeset using LaTeX. It includes numerous worked examples. In addition, it features what is in my (not unbiased) opinion the clearest explanation of how to find Thevenin equivalent circuits and why one would want to do so.
Python Lecture Notes
Some of my lecture notes on Python with a focus on graphing and data analysis. The package contains Jupyter Notebook files and HTML exports of them.
Note: The abbreviation “CISV” in a cell means it was cleared in the version distributed to students before class.
Software Documentation
Below are some examples of documented code in the form of side-by-side presentations of a method or function's docstring and the formatted API output. I have chosen examples from Python and PHP since they are dynamically typed, so they require more documentation than a language like Java or C would (though the introduction of type hinting does alleviate this need).
Python
The method is from the Transport project, and the full source code and API (and a user manual) are available at that project's page.
def getAction(self, name, instantiate=True): """Return the action tuple or object with the given name. Scan through the list of actions implemented by the instrument to find one which has the specified name, and return either the `ActionSpec` or an `Action` instance associated with it. Parameters ---------- name : str A string specifying the name which identifies the desired action. instantiate : bool Whether to create an instance of the action. If `False`, the `ActionSpec` tuple will be returned instead of an `Action` object. Returns ------- ActionSpec or Action The `ActionSpec` (if `instantiate` is `False`) or `Action` (if `instantiate` is `True`) specified by `name`, or `None` if `name` cannot be found. """
-
getAction
(name, instantiate=True) Return the action tuple or object with the given name.
Scan through the list of actions implemented by the instrument to find one which has the specified name, and return either the ActionSpec or an Action instance associated with it.
Parameters : name : str
A string specifying the name which identifies the desired action.
instantiate : bool
Whether to create an instance of the action. If False, the ActionSpec tuple will be returned instead of an Action object.
Returns : ActionSpec or Action :
The ActionSpec (if instantiate is False) or Action (if instantiate is True) specified by name, or None if name cannot be found.
PHP
The full code and documentation for these files are not available online.
/** * Return a JSON web token for the specified user. * * @param string $email The email address of the user trying * to log in. * @param string $password The password with which the user * is trying to log in. * @param string &$userName A reference to a string * variable into which the user * name will be loaded, if given. * * @return string|null A JSON web token if the email and * password correspond to * a user. Otherwise, null. */ function getJwtToken(string $email, string $password, string &$userName = null) {