joshuacrotts / logic-learning-assistance-tool

This is the repository for our CSC-490 project at UNCG in the Spring 2021 semester.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

This is the repository for our CSC-490 project at UNCG in the Spring 2021 semester.

License:GNU General Public License v3.0


Languages

Language:Java 96.2%Language:CSS 2.7%Language:ANTLR 0.8%Language:TeX 0.3%