

Next

A Logic Learning App
A Java desktop App made for logic learnings
Group Project
|
01.2022 - 03.2022
Project Brief
Propositional logic is a basic but essential knowledge in computer science theoretical understandings, but the counter-intuitive expression of the propositional letters and relationships between equations somehow hinder new students to understand them effectively.
To assist new students in learning and practicing solving propositional logic problems, we developed a desktop learning app which provides a straightforward experience for practicing. It features assigning logic problems by typing an equation, choose the hardness and then solve the questions, and automatically judge the correctness with truth table provided.
Project Info
Context: Group Project for Engineering Challenge
Category: Interactive Software
Tools Used: Java, GUI modules
Collaborators: Weiyi Zhang(ME), Haoran Xu, Hongrui Tang, Dekun Zhang
My Role: UI/UX design & implementation, Java programming
Project Video
——— Project Development ———
Concept
Regarding to the problem, I sketched a multiple-choice question program which helps students to get trained, and automatically yield correctnesses and able to repeat many times. I came up with several features of the app which mainly includes adding and analyzing new questions, classifying questions, deploying questions and then solving questions and comparing the solution with user's one to determine the correctness.
Process & Outcome
We used Java and Swing GUI framework to build the project. While other group members handled the parser and additional mechanics of the app, I led the GUI design, as well as the page navigation, data management and display mechanism.
Logic Equation Parser
Together with Dekun, we designed the logic equation parser, which parse each assigned propositional equation and determine whether this equation is valid, satisfiable or unsatisfiable. Additionally, it generates a truth table demonstrating all cases of each letter within the equation, therefore provides a straightforward demonstration of the satisfiability of the equation.

Multiple-choice Question Page
I designed the multiple-choice page to be straightforward to the students, with the questions, selections, page navigation and other features being displayed. Once the student chooses the an answer and proceed, the correctness will be determined with the truth table of the equation provided, thus the student could review the answer, as well as the truth table to understand more clearily.




