About
As we have been facing proofs more and more often in our math courses, we decided it would be fruitful to develop an algorithm that turn a proposition of any size into a truth table.
Development
Using a framework of raw HTML (including CSS and JavaScript), we deployed the shunting yard algorithm to convert an input proposition into a string of tokens that could be processed into a truth table.
Challenges
The collaborative coding environment we used did not highlight errors, so we had to grapple with constant bracketing issues. Also, being used to algebraic notation, it took some mental heavylifting to treat formulas in Reverse Polish Notation.
Accomplishments
Just making a working product was a surprise. We were also proud of finding an efficient way to represent all possible combinations of truth assignments for a given set of variables simply by using the binary form of a loop counter.
Takeaways
With this being our first real project in web development, we learned extensively about HTML, CSS, and JavaScript, with a cherry on top in the form of GitHub Pages. Our code editor's lack of error checking also improved our ability to independently recognize likely syntax errors.
Looking Ahead
We will streamline our program and allow it to handle other topics in discrete math such as quantifiers.
Log in or sign up for Devpost to join the conversation.