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 App's Settings
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.
## Other Important Information
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 [email protected]
-- **Enjoy Mastering Your Algorithms,**