Giter VIP home page Giter VIP logo

ai.ed's Introduction

AI.Ed

NOTE: This project is now archived and no longer under development.

This is the AI for (programming) EDucation project. The goal is to provide a great set of tools to provide AI-powered assistance to students taking programming classes and educators teaching them. Installation instructions are in BUILD.md.

This project is open source and freely available for educational purposes. All of the source code in this repository is available under the MIT license.

Please note: this project depends on the Microsoft PROSE SDK, which is a separate, closed-source binary licensed under separate, proprietary terms. When the Microsoft PROSE SDK is included in the project at build time, the terms of the Microsoft PROSE SDK may limit what you can do with your build of this project (e.g., non-commercial use only). See the LICENSE file for more information.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.

ai.ed's People

Contributors

annafariha avatar barik avatar fahad30897 avatar microsoftopensource avatar sharhp avatar simmdan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

qpc-database

ai.ed's Issues

Move examples to samples directory.

Make a new directory called ai-compile/samples. Move samples like ExampleScript1.py (currently in Symbolic) to there. We can add more samples to this directory in the future.

Update JSON Schema

I'd like to change the JSON schema so that it does not directly return an array. While an array is technically valid JSON, it causes a number of issues. As a first pass, let's change this to:

[
   {
      "lineNo":1,
      "repairLine":"print ( \"You chose \" , number )",
      "repair_classes":[
         "+ COMMA"
      ],
      "feedbacks":[
         "Seems like there was some error on this line. You seem to be missing some token(s). Try adding - COMMA (',')."
      ]
   }
]

to have an outer element:

{
   "repairs": [ { "lineNo": 1 } ]
}

At the same time, rename feedbacks to feedback and repair_classes to repairClasses.

Add two tests for Flask.

Add two tests for flask. The first test is test_syntaxerror_request that shows what MACER would return on a program with an syntax error. The second test is test_noerror_request, that shows what MACER would return with no errors.

You can use:

pytest --disable-pytest-warnings .\test_server.py

to run the tests. The --disable-pytest-warnings is there to suppress TensorFlow deprecation warnings.

The branch name is tbarik/unittest.

Add Flask.

In the branch tbarik/flask, I've added a simple server.py that runs a Flask server on port 5000. We should modify this to add another app route that calls the PyMacer functionality directly. We should be able to then test this route as an HTTP request using a tool like Insomnia.

This can be done with base Flask, without needing flask-restful.

From looking at Brain.py, this looks like mostly calling repairProgram at the REST endpoint.

Remove namespace warnings.

WebServer\WebServer\Models\StateObject.cs(5,7): warning CS0105: 
The using directive for 'System' appeared previously in this namespace [c:\repos\ai.ed\ai-compile\WebServer\WebServer\WebServer.csproj]

Add .vs directory to gitignore.

Add the .vs directory in webserver to gitignore. Also delete the existing files from .vs in a PR. I don't believe the entire folder should be checked in.

Update requirements.txt.

These versions are stale. Can you update them and see what they can be updated to? Ideally we will want to be able to work in a version higher than Python 3.6.

antlr4-python3-runtime==4.9.2
clang==6.0.0.2
pandas==0.24.2
scikit-learn==0.21.1
keras==2.2.4
prettytable==0.7.2
edlib==1.2.4
tensorflow==1.14
numpy==1.16.2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.