Individual Project Guidelines

\[ \begin{align}\begin{aligned}\newcommand\blank{~\underline{\hspace{1.2cm}}~}\\% Bold symbols (vectors) \newcommand\bs[1]{\mathbf{#1}}\\% Poor man's siunitx \newcommand\unit[1]{\mathrm{#1}} \newcommand\num[1]{#1} \newcommand\qty[2]{#1~\unit{#2}}\\\newcommand\per{/} \newcommand\squared{{}^2} \newcommand\cubed{{}^3} % % Scale \newcommand\milli{\unit{m}} \newcommand\centi{\unit{c}} \newcommand\kilo{\unit{k}} \newcommand\mega{\unit{M}} % % Percent \newcommand\percent{\unit{\%}} % % Angle \newcommand\radian{\unit{rad}} \newcommand\degree{\unit{{}^\circ}} % % Time \newcommand\second{\unit{s}} \newcommand\s{\second} \newcommand\minute{\unit{min}} \newcommand\hour{\unit{h}} % % Distance \newcommand\meter{\unit{m}} \newcommand\m{\meter} \newcommand\inch{\unit{in}} \newcommand\foot{\unit{ft}} % % Force \newcommand\newton{\unit{N}} \newcommand\kip{\unit{kip}} % kilopound in "freedom" units - edit made by Sri % % Mass \newcommand\gram{\unit{g}} \newcommand\g{\gram} \newcommand\kilogram{\unit{kg}} \newcommand\kg{\kilogram} \newcommand\grain{\unit{grain}} \newcommand\ounce{\unit{oz}} % % Temperature \newcommand\kelvin{\unit{K}} \newcommand\K{\kelvin} \newcommand\celsius{\unit{{}^\circ C}} \newcommand\C{\celsius} \newcommand\fahrenheit{\unit{{}^\circ F}} \newcommand\F{\fahrenheit} % % Area \newcommand\sqft{\unit{sq\,\foot}} % square foot % % Volume \newcommand\liter{\unit{L}} \newcommand\gallon{\unit{gal}} % % Frequency \newcommand\hertz{\unit{Hz}} \newcommand\rpm{\unit{rpm}} % % Voltage \newcommand\volt{\unit{V}} \newcommand\V{\volt} \newcommand\millivolt{\milli\volt} \newcommand\mV{\milli\volt} \newcommand\kilovolt{\kilo\volt} \newcommand\kV{\kilo\volt} % % Current \newcommand\ampere{\unit{A}} \newcommand\A{\ampere} \newcommand\milliampereA{\milli\ampere} \newcommand\mA{\milli\ampere} \newcommand\kiloampereA{\kilo\ampere} \newcommand\kA{\kilo\ampere} % % Resistance \newcommand\ohm{\Omega} \newcommand\milliohm{\milli\ohm} \newcommand\kiloohm{\kilo\ohm} % correct SI spelling \newcommand\kilohm{\kilo\ohm} % "American" spelling used in siunitx \newcommand\megaohm{\mega\ohm} % correct SI spelling \newcommand\megohm{\mega\ohm} % "American" spelling used in siunitx % % Inductance \newcommand\henry{\unit{H}} \newcommand\H{\henry} \newcommand\millihenry{\milli\henry} \newcommand\mH{\milli\henry} % % Power \newcommand\watt{\unit{W}} \newcommand\W{\watt} \newcommand\milliwatt{\milli\watt} \newcommand\mW{\milli\watt} \newcommand\kilowatt{\kilo\watt} \newcommand\kW{\kilo\watt} % % Energy \newcommand\joule{\unit{J}} \newcommand\J{\joule} % % Composite units % % Torque \newcommand\ozin{\unit{\ounce}\,\unit{in}} \newcommand\newtonmeter{\unit{\newton\,\meter}} % % Pressure \newcommand\psf{\unit{psf}} % pounds per square foot \newcommand\pcf{\unit{pcf}} % pounds per cubic foot \newcommand\pascal{\unit{Pa}} \newcommand\Pa{\pascal} \newcommand\ksi{\unit{ksi}} % kilopound per square inch \newcommand\bar{\unit{bar}} \end{aligned}\end{align} \]

Oct 24, 2024 | 397 words | 4 min read

16.2. Individual Project Guidelines#

Each project must meet the following specifications:

  1. Brings in data either through reading a file or with user input (this can be as small as one value)

  2. Outputs data by writing to the command window, or producing plots or graphics, or writing to a file

  3. Has a main program (script) that calls at least 3 user defined functions.

    a. At least one of the functions must be a different file (script) from the main program.

  4. Includes at least three of the four following elements:

    a. One for loop

    b. One while loop

    c. One list, array, vector, or matrix

    d. One if decisional structure with at least one else or elseif/elif

  5. Uses at least one case with nested structures which can be a combination of one or more loops imbedded in loops, one or more loops imbedded in conditional statements or conditional statements imbedded in one or more loops.

  6. Employs at least two error checking algorithms for inputs, outputs, or intermediate data that produce an error message, but does NOT exit the program. The error check should allow the user to enter a correct value.

  7. Meets or exceeds the minimum number of lines of active code (not counting comments or blank lines)

    a. 100 lines for MATLAB

    b. 85 lines for Python

  8. Use a module, library or feature of MATLAB or Python that we have NOT used or seen in ENGR 13300. Ask the instructional team if you are unsure if your concept extends to what we have learned so far.

Note

Exceptions to specifications: The intent of the specifications is to provide a standard level of complexity for each project. Since you all are choosing different ideas, the specifications provide that common standard. If you believe that your approach is sufficiently complex and challenging, you may request an exemption to one or more of the specifications. For example, if you are using complex logic and advanced functions that are well beyond the scope of ENGR 13300, your code may not have to be 100/85 lines. Only the faculty or the Graduate Teaching Assistants can grant this exemption and it will be done in writing. Requests for exemptions must be made prior to the day of demos. If you think you could qualify for the exemptions, ask a professor or GTA.

All the Python or MATLAB files will be uploaded to Gradescope along with a report. Make sure that the files will run as uploaded.