Skip to content

Latest commit

 

History

History
69 lines (53 loc) · 5.21 KB

File metadata and controls

69 lines (53 loc) · 5.21 KB

CPE 1040 - Introduction to Computer Engineering

Assignment: Final Project

3. Criteira for micro:bit JS programs

3.1 Requirements

  1. The file should have a name and the .js file extension.
  2. A project description should be included in this README file, and a leading comment in the JS file.

3.2 Code quality

  1. The program should have proper indentation.
  2. Every block of code should contain inline comments, briefly describing its purpose and functionality.
  3. The program should have good structure, with asynchronous and synchronous code blocks properly differentiated. Note: You cannot have more than one forever loop.
  4. Variables should be named in either of the following styles:
    1. variable_name_of_underscore_delimited_lower_case_words, or
    2. variableNameInCamelCase

3.3 JavaScript

  1. Variables should be declared with full static data types.
  2. Programmatic functionality should be encapsulated in functions, and, optionally for bonus points, classes.
  3. Functions in JavaScript are 1st class objects. All event constructs like onButtonPressed and onGesture take functions as arguments.
  4. A maximum variety of JS language constructs (loops, conditionals, various operators, encapsulations, event handling, etc) should be used.

3.4 micro:bit

  1. Use of buttons and/or guestures.
  2. Sensible display update.
  3. Non-trivial functionality.
  4. Control complexity.

Resources

micro:bit

  1. micro:bit lessons.
  2. micro:bit ideas.
  3. A list of some more advanced projects.
  4. The assembled micro:bit resources at the awesome micro:bit list.
  5. micro:bit reference, and specifically the pins section.
  6. The technical documentation for the micro:bit GPIO edge connector.

Github

  1. Github Tutorial for Beginners (webpage).
  2. Github Basics for Mac and Windows (video).
  3. git & Github Crash Course for Beginners (video).
  4. Introduction to Github for Beginners (video).
  5. About git (webpage).
  6. git documentation (webpage, book, videos, reference manual).
  7. Github markdown cheat sheet.

JavaScript

  1. Technically, the language which is used side-by-side with Blocks in the Makecode environment is a subset of TypeScript, which itself is a superset of JavaScript (technically, ECMAScript), with some JS features not implemented in Makecode.
  2. The limited JavaScript mini-tutorial in Makecode. Make sure you read it but that can't be your only reference.
  3. Official TypeScript documentation:
    1. TypeScript in 5 min tutorial. Highly recommended! You will need to download and install an integrated development envinronment (IDE). The two that I recommend are Visual Studio Code from Microsoft and WebStorm from JetBrains.
    2. The full documentation and reference is under Handbook. Bear in mind that you are drinking from the hose. Don't be surprised if not everything is presented in a strictly incremental manner.
    3. The Microsoft TypeScript page on Github, including the TypeScript language sepecification.
  4. In-browser TypeScript playground. Note that micro:bit specific code will not run, but you can still play. Start making the distinction between a generic multi-purpose programming language (TypeScript) and functionality (packages, libraries, objects, etc.) that is specific to a particular device (micro:bit), though written in the same programming language.
  5. A pretty good and very palatable JS tutorial with in-browser coding, by Codecademy.
  6. Extensive and detailed JS tutorial, with some advanced material thrown in. I like this one!
  7. The most authoritative JS resource on the Web, including tutorials and reference, by Mozilla.

Description

TODO: Your project description, in your own words. Clarity and grammatical correctness are required.