About The Project: EduGate - Interactive Circit Lessons

The challenge that our team decided to tackle was to create an interactive learning experience that can help teach engineers the importance of logic gates. Logic gates are the building block of all computers, and understanding how they work is essential to mastering engineering. With only the AND and NOT gates, it's possible to create any output you desire. In our project we guide the user, only starting with the AND and NOT gates to build up their toolbox of logic gates. Eventually creating computer adders.

Installation

Run in bash git clone https://github.com/Charbot2703/gateLogicTeacher.git.
Once cloned run the drawing.py file and enjoy!!

Inspiration

Our team really cares for the education of computer science and engineering. And we thought that this would be a cool interactive way to teach users how to use logic gates and show the capabilities of building up a computer system little by little.

What it does

Our application aims to help anyone, ranging from new computer science students to veterans looking to improve their skills, practice their boolean logic skills, and gain a deeper understanding of how a computer works. We accomplish this by creating an environment that gives the user a toolbox of logic gates that they can plug into each other. The goal of each level is to create a logic gate that the user will need in the future. As the user progresses, they will be able to use their previously created gates in the next levels.

Choose tools from your toolbox

Connect gates together

Watch your circuit update live!!

How it works

Our team built this application using Python and the Pygame library. The Pygame library allows us to give our game a graphical interface. Above are a few previews of our project.

Challenges we ran into

  • Difficulty in connecting different gates together
    • For a while our team struggled with getting the gates to properly connect and interact with each other
    • We had to rework our code a couple of times until we found a solution, sometimes leading to new issues along the way
  • Using Pygame as our graphical interface
    • Everyone on our team has little experience with Pygame, so we spent quite a bit figuring out how to implement it with our backend
    • Creating our own graphics and connecting them together was also a challenge for us

Accomplishments that we're proud of

We are proud that we were able to connect all of our components and that we were able to effectively communicate as a team. We each had specific roles to play in the development of EduGate, and it was a very gratifying experience being able to see our work pay off.

What we learned

  • How to work and communicate as a team
  • Learned how to create complex logic gates
  • Learned how to effectively use GitHub

Built With

Share this project:

Updates