Algorithm IV's question manager app is designed to give you the power to easily organize, answer (in JavaScript), and review practice questions for learning computer science focused algorithms and data structures, improving programming skill-sets, and preparing for technical interviews. It is cross-browser compatible and does not require any server environment or even the internet to accomplish its basic functionality.
- Download algorithmIV-app.min.js and algorithmIV-app.css
- Create an HTML document with your settings for the app
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <link href="algorithmIV.css" rel="stylesheet" /> </head> <body> <script src="algorithmIV-app.min.js"></script> <script> (function() { // Define your settings var settings = {}; settings.config = { ... }; settings.sources = { ... }; settings.categories = { ... }; settings.resources = { ... }; settings.questions = [ ... ]; // Init the app with your settings aIV.app(settings); })(); </script> </body> </html>
- Load your HTML document in any browser
- Learn your algorithms & data structures
The configuration object, settings.config
, allows you to customize the
look, feel, and actions of the app with minimal effort. As of version 1.1.2 it
contains five sections you may set. Each section and its defaults follow:
- Search Settings ~ Allows you to show or hide different search options available to the app.
- Search Defaults ~ Allows you to chose the on-load value for each search option available to the app.
- Question Format ~ Allows you to show or hide each of the question's sections.
- Prettify Format ~ Allows you to format how your JavaScript solutions will be prettified.
- Show Links ~ Allows you to show or hide the available shortcut links for the question's sections.
The sources object, settings.sources
, is where you add each source for
your questions. If the object is undefined, null, or empty the source
functionality is disabled for the app. Visit the
sources example
to learn more.
The categories object, settings.categories
, is where you add each
category for your questions. If the object is undefined, null, or empty the
category functionality is disabled for the app. Visit the
categories example
to learn more.
The resources object, settings.resources
, is where you can load JSON
resources for use in any of your question's solutions. The
getResource method,
aIV.app.getResource
, is used to access any uploaded resources from
within your question's solution. Visit the
resources example
to learn more. Note: Using the resources functionality requires a server
environment due to its use of ajax calls.
The questions array, settings.questions
, is where you add your
questions. Each question's id defined by its order in the array, and each
question is represented by an object with its details. Visit the
questions example
to see all of the options available for each question and more.
Visit this repository's example section for a detailed example of this app in-action.
See our guideline for contributing
- Open an issue on this GitHub repository
- Send an email to imagineadamsmith@gmail.com
Enjoy Mastering Your Algorithms