Assignment Guidelines

Mon 1 Sep 2014

For the sake of not repeating myself several times per semester I decided to write this document explaining the expectations of a grader on how assignments should be submitted. This is mostly intended for engineering students, but could apply to any of the hard sciences. You should exercise judgment on which of the following apply depending on your class’ syllabus.

Homework Assignments

The purpose of homework assignments is to solidify your understanding of the theory presented in the lectures, books, and reference materials. As such, you should try and solve every problem in a given set while also thinking about how this homework is connected to the overall material. Below is a list of what your homework should include.

  1. The general structure of your problem solution should be:
    • Givens
    • What you are asked to do
    • Visual description of the problem
    • Assumptions
    • Principal equations
    • Solution
  2. Show all your work
    • There are many scientifically correct answers but you have to show the thought process that led you to that conclusion.
  3. Show your work neatly in a sequential logical manner
    • You will learn the material better since you will realize the problem(s) in a clearer manner.
  4. Be consistent about paper size
    • Engineering paper or white printer paper are preferred.
  5. Make a header on every page that includes:
    • Course name
    • Name
    • Date
    • Homework #
    • Page #
  6. Use one page per problem
    • It will help the grader to have extra space for comments and your homework set will look neater.
  7. Box all intermediate and final answers
  8. In the event that you need to use a math software package be sure to use the publish command.

Laboratory Assignments

Laboratory assignments provide an opportunity to the student to observe the phenomena discussed in a purely academic setting in a “real” setting. You will get the most of the labs by having a strong foundation in your theoretical understanding of the material. Specifically:

  1. You should have completed the pre-lab, if any.
  2. You should know exactly what you are measuring or observing by the time you are in lab.
  3. You should have researched any parts of the lab that are unclear (e.g., terminology, how to go from a circuit schematic to a breadboard implementation, how to solder certain pieces, etc.)
  4. You should have done some back of the envelope calculations to know which values are reasonable.
  5. Using a math software package and simulation tools to further understand the operation of the lab is highly encouraged, even when it is not part of the assigned pre-lab.

The structure of your lab reports should be:

  1. Abstract
    • This is a brief summary of the lab experiment and should tell the reader the basics of the experiment performed and principle results of the experiment. This should be your thesis.
  2. Background and Theory
    • This section details the theoretical principles behind the experiment being performed. It should consist of your theoretical expectations using the material covered in your book and in class. Also included in the theory section should be any calculations, simulations, or derivations you performed in order to design the required circuits for the lab.
  3. Procedure and Experimental Data
    • This section details what you did in the experiment and the data recorded during the experiment. You should NOT duplicate the detailed instructions contained in the lab assignment (e.g., there should not be step-by-step instructions in your report).
  4. Conclusions
    • This section contains any conclusions reached from the performance of the lab experiment. You should discuss any discrepancies between experimental results and predicted results, and offer reasons for these discrepancies. In addition, you should provide the actual conclusion of the lab (e.g., the implications of your thesis being proven).

A more detailed laboratory policy and example laboratory report can be found here.

Programming Assignments

Programming is a useful skill to have. Especially in engineering and science, you will encounter programming in one form or the other. For example, in Electrical Engineering you will have to know programming fundamentals to even begin to do work in embedded systems. Similarly, in both engineering and science you will need to know at least one math software package to visualize theoretical material (e.g., statistical analysis, reflections on a line, antenna radiation, delay in digital circuits etc.) While this is mostly intended for how one should submit an assignment in programming, it also offers some insight in how you should approach programming in general.

  1. You should always include a header with the name of the author and a brief description about what inputs does the program take, what outputs does it generate, and what is the overall purpose of the program.
  2. You should comment your code. With that said you shouldn’t comment every line of code. Instead, you should comment above every obscure line of code, function, and major block.
  3. You should make sure your program compiles.
  4. You should make sure that your program runs correctly.
  5. You should make sure that your program doesn’t produce incorrect or unexpected results/behaviours.
  6. You should make sure your program is robust and portable.
  7. You should make sure your program is user-friendly.

Notes on Publishing

Handwritten assignments are perfectly acceptable if you take your time to write neatly, this usually requires rewriting the assignment after you have solved the problems on scratch paper. However electronic publishing will, most of the time, create documents that are more pleasing to the eye. LaTeX is the de facto standard for document preparation in the sciences. LaTeX is not your normal editor. Instead of “seeing what you get” you have to write a simple text document and then compile it to a printable format—not unlike writing HTML for a website. The best introductory text I have found is The Not So Short Introduction to LaTeX 2ε. In addition, a valuable reference to have is Leslie Lamport’s LaTeX: A Document Preparation System (2nd Edition). A simple cover page for assignments written in LaTeX can be found here.

It’s also of importance to generate proper plots. I’m not going to recommend a math software package but with whatever you are using you will need to know how to generate a plot title and label axes accurately. It might also be useful to learn how to manipulate equations numerically so as to avoid doing them by hand and risking making a mistake. Then, you will want to export your plots either in a picture format or PDF in order to easily add them to your document. You should always number figures and reference them in your text. If they are not referenced then there is a strong possibility that they shouldn’t even be there.

A final note on publishing. Rule of thumb is to always generate a PDF of your document and name it LastName_FirstInitial_AssignmentName. That is simply because the person receiving the document will not need additional software to access it and will immediately know who the sender is. If you need to do collaborative editing ask the other person(s) what they prefer using and try to accommodate depending on their knowledge level. If all else fails use simple text files and worry about formatting on the final draft.