Skip to content
| Marketplace
Sign in
Visual Studio Code>Education>Easy CS LearningNew to Visual Studio Code? Get it now.
Easy CS Learning

Easy CS Learning

Ron Topol

|
3 installs
| (0) | Free
A VS Code extension that helps students learn computer science with AI-powered assistance and interactive learning tools
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

EasyLearningVSC 🎓

A comprehensive VS Code extension that bridges the gap between Google Classroom and coding education, providing students with AI-powered assistance throughout their programming journey.

🌟 Features

📚 Google Classroom Integration

  • Seamless Login: Authenticate with school Google accounts
  • Assignment Dashboard: View all homework tasks in an interactive webview
  • One-Click Project Creation: Start coding projects directly from classroom assignments

🤖 AI-Powered Learning Assistant

  • Smart Code Hints: Context-aware suggestions based on your current code
  • Learning Progress Tracking: Monitor lines of code, functions written, and time spent
  • Educational Suggestions: Get tips for better coding practices and learning

🧪 Automated Testing & Scoring

  • Multi-Language Support: JavaScript, TypeScript, Python, Java, C++, and more
  • Real-Time Testing: Run tests and get immediate feedback on your code
  • Smart Scoring: Comprehensive evaluation with detailed test results

🚀 Project Submission

  • Automated Submission: Submit completed projects to both GitHub and Google Classroom
  • Score Requirements: Configurable minimum scores before submission
  • Progress Reports: Detailed feedback for students and teachers

🎯 Target Users

  • Students: Learn programming with AI assistance and structured assignments
  • Educators: Manage coding assignments and track student progress
  • Schools: Integrate coding education with existing Google Classroom workflows

📋 Prerequisites

  • VS Code 1.102.0 or higher
  • Node.js 18.18.0 or higher
  • Google Classroom account (for students)
  • GitHub account (for project storage)

🛠️ Installation

Private Distribution (Recommended for Schools)

This extension is distributed privately for educational institutions to ensure proper teacher-student workflow integration.

  1. Download the VSIX file from your institution's IT department or direct contact
  2. Install via Command Line:
    code --install-extension easylearningvsc-1.0.0.vsix
    
  3. Install via VS Code UI:
    • Open VS Code
    • Go to Extensions (Ctrl+Shift+X)
    • Click the ... menu → Install from VSIX...
    • Select the downloaded .vsix file

Development Installation (For Contributors)

  1. Clone this repository
  2. Install dependencies: npm install
  3. Press F5 to launch extension development host
  4. Test the extension in the new VS Code window

⚙️ Configuration

Ready to Use (No Configuration Required)

The extension comes pre-configured with all necessary credentials for seamless operation:

  • ✅ Google Classroom Integration - Pre-configured OAuth2 credentials
  • ✅ GitHub Templates & Submissions - Connected to RonTopol organization
  • ✅ Database & Progress Tracking - Supabase backend ready
  • ✅ AI Assistant - GitHub Copilot integration enabled

Optional Advanced Configuration

For institutional customization, these settings can be modified in VS Code settings:

{
  "easylearning.aiProvider": "copilot", // or "openai", "local"
  "easylearning.githubOrganization": "RonTopol" // Custom organization if needed
}

Note: The extension works out-of-the-box for all users with the pre-configured shared infrastructure.

🚀 Getting Started

For Students

  1. Login: Use EasyLearning: Login to Google Classroom command
  2. View Assignments: Run EasyLearning: Show Homework Tasks
  3. Start Project: Click "Start Project" on any assignment
  4. Get Help: Use EasyLearning: Get AI Hint while coding
  5. Test & Submit: Run EasyLearning: Run Project Tests and EasyLearning: Submit Project

For Educators

  1. Create assignments in Google Classroom
  2. Students use the extension to access and complete assignments
  3. Monitor submissions through GitHub and Google Classroom
  4. Review student progress and provide feedback

🏗️ Project Structure

src/
├── extension.ts              # Main extension entry point
├── providers/                # Core service providers
│   ├── GoogleClassroomProvider.ts
│   ├── GitHubProvider.ts
│   └── AIAssistant.ts
├── managers/                 # Business logic managers
│   ├── ProjectManager.ts
│   └── TestRunner.ts
└── webview/                  # UI components
    └── HomeworkWebviewProvider.ts

🧩 Supported Languages

  • JavaScript/TypeScript: Jest testing, npm scripts
  • Python: unittest framework, pip requirements
  • Java: JUnit testing, Maven structure
  • C++: Makefile compilation, basic validation
  • C#: .NET framework support
  • Generic: Basic code validation for other languages

🤝 Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

Development Setup

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes and test thoroughly
  4. Commit: git commit -m 'Add amazing feature'
  5. Push: git push origin feature/amazing-feature
  6. Open a Pull Request

📊 Roadmap

  • [x] Google Classroom integration
  • [x] Multi-language project templates
  • [x] AI-powered code assistance
  • [x] Automated testing and scoring
  • [ ] Advanced analytics dashboard
  • [ ] Peer code review features
  • [ ] Integration with additional LMS platforms
  • [ ] Mobile companion app

🐛 Known Issues

  • OAuth2 flow requires manual token entry (temporary limitation)
  • Some test frameworks require additional setup
  • Large projects may take longer to analyze

📞 Support

  • Documentation: Wiki
  • Issues: GitHub Issues
  • Discussions: GitHub Discussions

🔄 Release Notes

1.0.0 - Initial Release

🎉 First Major Release

  • Google Classroom Integration: Seamless authentication and assignment viewing
  • AI-Powered Learning Assistant: Context-aware code hints and suggestions
  • Multi-Language Support: JavaScript, TypeScript, Python, Java, C++, and more
  • Automated Testing: Real-time test execution and scoring
  • Project Submission: One-click submission to GitHub and Google Classroom
  • Progress Tracking: Monitor coding activity and learning progress

Key Features:

  • OAuth2 browser-based authentication for Google Classroom
  • Interactive homework dashboard with project creation
  • Smart code assistance with educational suggestions
  • Comprehensive testing framework with detailed feedback
  • Secure token storage and automatic refresh
  • Multi-platform support (Windows, macOS, Linux)

Setup Requirements:

  1. Google Cloud Project Setup:

    • Enable Google Classroom API
    • Configure OAuth2 credentials with redirect URI: http://localhost:3000/oauth2callback
    • Add required scopes for classroom access
  2. VS Code Configuration:

    • Set your Google Client ID in extension settings
    • Configure GitHub token for project submissions
    • Choose AI provider (Copilot, OpenAI, or local)

Getting Started:

  1. Install the extension from VS Code Marketplace
  2. Configure your Google Client ID and GitHub token
  3. Run EasyLearning: Login to Google Classroom command
  4. Start coding with AI-powered assistance!

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

  • VS Code Extension API team for excellent documentation
  • Google Classroom API for educational integration
  • GitHub API for project management capabilities
  • The open-source community for inspiration and tools

Made with ❤️ for education and powered by AI

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft