Git Product home page Git Product logo

logic-learning-assistance-tool's Introduction

A Visual Improvement to the Pedagogy of Introductory Logic

LLAT Logo

CodeFactor GitHub contributors GitHub commit activity GitHub repo size GitHub issues open GitHub issues closed

Abstract: Formal logic is considered by many students to be challenging to overcome, exposing students to confusing symbols, rules, axioms, and other concepts that look similar to concepts from discrete mathematics and computer science. Figures or images frequently accompany textbooks and other sources when the need to demonstrate a problem or example arises. However, these often leave a lot to be desired - some concepts come easier than others, such as truth tables versus proof-based natural deduction, and it largely depends on the student/user. Certain programming languages and websites exist that serve similar purposes but generally do not provide user-friendly solutions to non-programmers and those that are not already experts at the material. Our current work is focused on building a visually appealing aid and tool to complement the traditional textbook and lecture pedagogy. It provides beginner to intermediate students with a digital canvas to explore formal logic definitions, rules, and tools at their own pace in attempts to improve their overall understanding of the material.

Logic-Learning Assistance Tool

LLAT (pronounced L-LÆT) allows students to build truth trees, parse trees, and truth tables. In addition, there are several algorithms to choose from which examine the well-formed formula entered. These include detecting the main operator, bound/free variable detector, argument validity determiner, and many more.

Dependencies

The following is a list of dependencies used in this project. As described in the next section, we use Maven as our build automation tool, so it isn't necessary to hunt these down yourself.

  1. BCrypt
  2. JDBC (Java Database Connector)
  3. JavaFX
  4. Abego Tree Library
  5. ANTLR4
  6. Java 14/15

Rebuilding LLAT

To rebuild the code, clone the repository to your computer. This project is setup to use Maven, so all dependencies should work natively in your IDE. We developed the application with IntelliJ and OpenJDK15. Compile via `make clean compile install` and be sure to refresh your Maven sources. Then, run `App.java`.

Developers

logic-learning-assistance-tool's People

Contributors

ali-altamimi avatar ccbrantley avatar diatt17 avatar harinb4 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

ccbrantley

logic-learning-assistance-tool's Issues

Create Translate class

Create a function that takes two parameters a list of strings and selected language

  • For example (List listOfWords, String selectedLanauge)

Asset Manager

Need to create a tool that will streamline the creation of nodes. This will also be used to attribute any necessary properties.

test

this is just a test

Theme Module

Theme Module

This module is going to handle the change of themes based on the user choices. This will be achieved in these steps:

  1. Create .css files.
  • example:
    • default.css
    • dark.css
  1. The theme file is going to be loaded based on the theme saved in the settings.
  • example of how the setting.json file is going to look like:
  "Theme": {
    "Applied": "dark.css",
    "AllThemes": [
      "default.css",
      "dark.css"
    ]
  },
...
  1. After loading the .css file then we can apply the style to the application.

Rules/Axioms

  1. Write the Rules for the buttons and descriptions - Joshua
  2. Connect the Local file to the application - Ali
  3. display the Rules into the UI - Christopher

Event Bus

Need an event bus for the node actions.

Truth Table

Truth Table

  • Create a truth table via JavaFX.
  • Truth table should have the size of 2n tows where n is the number of atomic statements.

So, if there are two atomic statements, the table has four rows; three atomic statements requires eight rows; four requires 16 rows; and so forth.

connect to google cloud

  • subscribe to the student version of google cloud.
  • manage to connect to the database via java.

Language Module

Language Module

Allow the user to change the application language to their suitable language.

Settings Module

Settings Module

This module will access a settings.json file to read and write into it.

Resource manager

Connect the application with the resources.

  • for example, connect the application with the style sheets

Node Creation Class

Need to create a tool that will streamline the creation of nodes. This will also be used to attribute any necessary properties.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.