Further guidance on ACS133 Assignment 3 MATLAB/Simulink/GUI marking The code you submit to Blackboard will be extracted to a folder for the Marker to use. You are strongly advised to test the extraction of your final zipped-up work to a clean empty folder and ensure that it will extract and run as you desire, before submitting it. Further guidance on what will be considered during marking: Headers / comments/ file structure / layout / help • Headers/Help complete and informative: Title, description/purpose of the code, Author, Date. Make it clear and complete but don’t be verbose. If it’s a function, include a description of arguments and how to use it. • Comments: Should be sufficient (not too few, not too many). Should aid the reader to understand the code or explain, i.e., they should be informative/useful. In all cases aim for clarity. Where your work necessarily uses code that is not yours you should add comments to clearly show your own alterations and/or sections of code. • File structure obvious and easy to read: Good choice of identifiers to aid readability; Clear layout with good indenting; Blank lines to break code into readable chunks; %% sections (if necessary, use of subfunctions); Overall structure easy to follow, ordered in a logical way. • Simulink models and GUIs Neat presentation/clear layout. Add titles, labels, help info to Simulink models and/or GUIs Code Content / Design / Proficiency The following points are used as guidance on the level of MATLAB proficiency. Note: It’s a general list, many of them will not be present in your submission! • Does the code work? Does it run but have glitches/bugs? (If code fails, mark will be low). • Is there evidence of testing? Are there test cases/test data to accompany the software? • If a GUI has been made, is the GUI well designed? Is it appealing to look at? Is it easy to use? Is it a simplistic or highly developed piece of work? • Are outputs excellently presented? a) Does the code produce beautifully presented plots and figures with all titles, axes, labels, legends? b) Is any text that is output to the command window well laid out? • Are code algorithms, if used, clear and concise? (No rambling spaghetti code) • Some further indicators of coding proficiency (Note: may not be necessary in your code!) a) Use of loops; nested loops, nested conditional statements (if-elseif, switch); but also see coding efficiency below b) Array and/or matrix operations; Array indexing, use of colon; Use of logical arrays and/or logical operators; Multidimensional arrays c) Use of functions, subfunctions, or anonymous functions. d) Data types: use of structured data types; selection of or conversions between data types (e.g., perhaps to save memory), • Coding efficiency a) are there any unnecessarily repeated chunks of code? b) any vectorised code? • Modularisation/Reusability a) is good use made of existing code (e.g., MATLAB functions) b) have functions been created? If so, how useful/necessary are they? Have they been created with an eye on re-usability? Is there evidence of an attempt to abstract the functions to be useful in a general case? • Robustness: have any steps been taken to make the program fool proof? E.g., masking or limiting user input; parsing input and giving helpful responses if wrong; checking for data file existence (if applicable); try-catch error trapping, etc. • Are there any warnings left by MATLAB editor in the code? If so, has good judgement been exercised to leave the code as it is or apply the suggested fix? • If used, is external code clearly identified, properly attributed and legal? Essentially, consider some the above features in your submitted work that you could point out to another person to show you have some proficiency with MATLAB and can produce good MATLAB code. A judgement will be made about the extent to which you have done this and, taking into account the quality and operation of your GUI, work will be graded as either 1-4 Inadequate, 5-9 Poor, 10-13 Satisfactory, 14-17-Good, 18-20-Excellent, or 21-25-Exceptional/Outstanding.
欢迎咨询51作业君