- Table of contents
- Computers Software Hardware Networking
Computers Software Hardware Networking¶
We have a number of resources here in the Knowledge Base.
- MySQL - A number of our projects involving databases use MySQL, now available from Oracle. We have set up a separate page in our wiki for more information on MySQL.
- LabVIEW
- MATLAB and Simulink
- Fluent CFD
- Virtual Machines
- Ubuntu & Wireless - Instructions for how to connect to RPI's 802.1x network under Ubuntu.
- Machine Learning
- iOS Development using Monaca
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)
- 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 pydocso 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¶