/kids-art

An exciting C++ drawing and painting program created to foster creativity and learning among children, developed as a part of the Programming Techniques course during our first year of Computer Engineering at Cairo University

Primary LanguageCMIT LicenseMIT

KidsArt: C++ Drawing Program (Paint for Kids) 🎨

Welcome to KidsArt, an exciting C++ drawing and painting program created to foster creativity and learning among children. Developed as a part of the Programming Techniques course during our first year of Computer Engineering at Cairo University, KidsArt is more than just a drawing tool; it's an interactive and educational experience for young minds.

Features 🚀

  • Drawing Shapes: Kids can unleash their imagination by drawing various shapes, including circles, hexagons, rectangles, squares, and triangles.

  • Color Customization: The application allows users to customize the outline color and background color, providing endless possibilities for artistic expression.

  • Shape Manipulation: Children can easily move and resize shapes by dragging, encouraging experimentation and spatial awareness.

  • Undo & Redo: KidsArt incorporates an intuitive undo and redo functionality, allowing young artists to correct mistakes and experiment fearlessly.

  • Recording Functionality: The program features a recording option, enabling children to capture their entire drawing process.

  • Save & Load: Drawings can be saved to a file for future reference, fostering a sense of accomplishment, and loaded whenever children want to continue their creative work.

  • Play Mode: In Play Mode, KidsArt becomes an educational tool, engaging children with questions about their drawings. This mode adds an element of fun while enhancing their cognitive skills.

Screenshots 🖼️

App Screenshot 1 App Screenshot 2

About Us 🙌

This project was a collaborative effort by a team of four enthusiastic computer engineering students from Cairo University. As a pivotal assignment in our "Programming Techniques" course, KidsArt gave us practical insights into applying Object-Oriented Programming (OOP) principles in a real-world project.

Team Members 👩‍💻

Learning Highlights 📚

  • Object-Oriented Programming (OOP): KidsArt is a testament to our understanding and application of OOP concepts, demonstrating how they can be effectively employed to model shapes, actions, and the overall structure of an application.

  • Static & Dynamic Binding: Through developing the drawing tool, we gained hands-on experience with both static and dynamic binding in C++.

  • Action Design Pattern: The implementation of the Action design pattern in the application manager showcases our ability to handle various user interactions efficiently.

Getting Started 🛠️

To run KidsArt on your machine, follow these steps:

  1. Clone the repository to your local machine.
  2. Compile the source code using a C++ compiler.
  3. Run the executable file to launch KidsArt.

License 📝

This project is licensed under the MIT License, granting you the freedom to use and modify the code for personal or educational purposes.

Acknowledgments 🙏

We sincerely thank our professor & our TAs for guiding us through this project and providing invaluable insights into programming techniques and design patterns.