Project

General

Profile

Computers Software Hardware Networking

We have a number of resources here in the Knowledge Base.

Software Coding / Programming / Documentation Guides / Tools

We strongly recommend all team members to follow the same coding/programming guide because it improves readability of codes and simplifies code reviews. It is essential to prepare and maintain good software manuals. Yet, we do not wish to spend much time on writing manuals. There are some tools that create on-line and/or off-line software manuals from the comments in source codes.

User Interface , User Experience (UX), Human Machine Interface

Documentation

Some of the documentation generation tools depend on appropriately formatted comments in the program files. In general, each file (for a text based programming language) should have a comment header that explains the purpose of the file. It should include:
  • author
  • creation date
  • purpose
  • appropriate copyright notice (see your Project Engineer)
The file will then contain one or more modules/functions/etc. Each should have it's own comment header that includes:
  • purpose / function performed
  • author name
  • date
  • inputs
  • outputs

It is also helpful to include a revision history / change log whenever significant functional changes are made.

Documentation Tools

Depending on the programming language, one of the following may be helpful:
  • Pydoc
  • Javadoc
  • Doxygen
  • Jupityer Notebooks

Pydoc - if using a virtual python environment, you must activate your environment then use

python -m pydoc
so that pyfoc references the correct software versions as defined in that environment.

Scrum / Agile Programming

This is a great short presentation on YouTube that explains what a Scrum is - http://youtu.be/kYajjGi5-qM
This approach is great for short term software project development - such as would occur during a 15 week semester!

Internet of Things

AI / Machine Learning

iPad

Transformer TF101/TF201

Raspberry Pi