- The (README)[README.md] should contain:
- Well formatted contents. Use the Github Markdown cheat sheet.
- The names of collaborators. Note: Each team mate should have their own individual submission.
- Any roles, that is, who did what.
- Micro:bit programs should have source file names with the
.js
file extension. - Each micro:bit program source file should have a short leading comment with:
- File name.
- Short description of the program.
- Name of authors.
- Date of last modification.
- All separate tasks should have a short writeup in the README file, containing a link to the corresponding source code file.
- The program should have proper indentation.
- Every block of code should contain inline comments, briefly describing its purpose and functionality.
- The program should have good structure, with asynchronous and synchronous code blocks properly differentiated.
- Variables should be named in either of the following styles:
variable_name_of_underscore_delimited_lower_case_words
, orvariableNameInCamelCase
- Variables, including arrays, should be declared with full static data types.
- Programmatic functionality should be encapsulated in functions, and, optionally for bonus points, classes.
- Functions in JavaScript are 1st class objects. All event constructs like
onButtonPressed
andonGesture
take functions as arguments. - A maximum variety of JS language constructs (loops, conditionals, various operators, encapsulations, event handling, etc) should be used.
- Use of buttons and/or guestures.
- Sensible display update.
- Non-trivial functionality.
- Control complexity.
- Good use of pins for external I/O.
- Each separate task should have an accompanying demo video.
- Videos should be no longer than 30 seconds.
- Links to the videos should be embedded in the short task writeups.