This repository is a curated collection of C# projects and exercises designed to provide a hands-on approach to learning and mastering C# programming. It serves as an educational tool for beginners and intermediate developers to strengthen their skills, focusing on Object-Oriented Programming (OOP), modular design, and the SOLID principles.
- Comprehensive Projects: From basic to intermediate, projects are structured for progressive learning.
- Object-Oriented Programming (OOP): Every project emphasizes clean, modular, and reusable code.
- SOLID Principles: Focus on scalable and maintainable design, starting with the Single Responsibility Principle (SRP).
- Beginner-Friendly Guidance: Simplified projects to build confidence before tackling advanced concepts.
- A simple console-based To-Do List application, ideal for those starting with C#.
- Key Features:
- Add, remove, and display tasks.
- Minimal setup and straightforward logic.
- Learning Outcomes:
- Understand basic C# syntax and console I/O.
- Build confidence with loops, conditionals, and basic data structures.
- A dice game built with a focus on OOP and the Single Responsibility Principle (SRP).
- Key Features:
- Simulates rolling dice with configurable settings.
- Modular code structure for easy modifications.
- Learning Outcomes:
- Learn modular programming with classes.
- Apply SRP to real-world examples.
- A fully functional Hangman game with an emphasis on modularity and user interaction.
- Key Features:
- User-friendly gameplay mechanics.
- Input validation and feedback for better experience.
- Learning Outcomes:
- Learn to manage complex logic with OOP.
- Create interactive programs with meaningful outputs.
- A banking system designed to simulate real-world operations such as account management and transactions.
- Key Features:
- User account creation and management.
- Simulates deposits, withdrawals, and balances.
- Learning Outcomes:
- Work with multiple classes and their relationships.
- Explore encapsulation and abstraction in OOP.
- Reinforce Core Concepts: Strengthen your understanding of C# fundamentals.
- Apply Theoretical Knowledge: Learn by building real-world examples.
- Promote Clean Code Practices: Implement principles like SRP and modular design.
- Build Confidence: Start simple and gradually tackle more complex systems.
- Clone the repository:
git clone https://github.com/Aperezvigoa/CSharp_Exercises.git
- Navigate to a specific project folder:
cd CSharp_Exercises/<project-folder-name>
- Compile and run the project:
dotnet run
(Or open the project in Visual Studio.)
Future additions will include:
- Advanced projects incorporating LINQ and asynchronous programming.
- Examples of unit testing and dependency injection.
- Advanced data handling with collections and databases.
Contributions are welcome! If you'd like to add more projects, fix bugs, or enhance existing implementations, feel free to fork the repository and submit a pull request.