Dec 03, 2024 | 464 words | 5 min read
16.2. Guidelines#
Each project must meet the following specifications:
Input: Brings in data either through reading a file or with user input (this can be as small as one value)
Output: Outputs data by writing to the command window, or producing plots or graphics, or writing to a file
UDFs: 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.
Elements: Includes at least three of the four following elements:
One
for
loopOne
while
loopOne list, array, vector, or matrix
One
if
decision structure with at least oneelse
orelseif
/elif
branch.
Nested Structure: Uses at least one case with nested structures which can be a combination of one or more loops embedded in loops, one or more loops embedded in conditional statements or conditional statements embedded in one or more loops.
Error Check: 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.
Line Limit: Meets or exceeds the minimum number of lines of active code (not counting comments or blank lines or template lines)
a. 150 lines for MATLAB
b. 130 lines for Python
New concept: 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.
Uniqueness: Your project should be distinct from any related prior work. Ensure that your project code reflects your individuality, interests, and personal approach. The project should be unmistakably yours.
Code Professionalism: Includes
academic integrity statement,
name and collaborators,
descriptions of key components of the program, and
descriptive variable names and comments that describe the purpose of the code.
Note
Exceptions to specifications:
The purpose of the project specifications is to ensure a standard level of complexity across all projects, as each of you will be working on unique ideas. These specifications set a common benchmark for complexity. However, if you believe your project approach is sufficiently complex and challenging, you may request an exemption from one or more specifications.
For instance, if your project uses advanced functions and complex logic beyond the ENGR 13300 scope, you may not be required to meet the 150/130 line code minimum. Exemption requests must be initiated by the student, documented clearly in writing, and submitted before demo day. Only the instructor or GTA can approve these exceptions. If you think your project qualifies, consult your instructor or GTA to discuss and document the request.
You can request an exemption by filling out
ip_ind_exception_username.docx
. Save it as
ip_ind_exception_username.pdf and submit to Gradescope. Be sure to
replace username
with your Purdue username.