Giter VIP home page Giter VIP logo

aima-gsoc's Introduction

Project Ideas for aimacode

We are looking for students to work on aimacode for the Google Summer of Code (GSoC) in 2018. We don't know for sure how many students we will be allowed to sponsor, but here are some project ideas:

Project 1: Finish aima-python algorithms and add explanatory notebooks

Finish the implementation of the pseudocode algorithms in Python: we have a list of half a dozen algorithms yet to implement, and a dozen still requiring tests. For this we're looking for coders with good taste: the code needs to work, of course, but it also needs to be easy for the reader to understand, and to have a very close (almost one-to-one) correspondence to the pseudocode in the book.

In addition to that, we would like to add ipython (jupyter) notebooks that explain how to use the algorithms, and show their application to specific domains, demonstrating both how to use the code, and how the underlying AI ideas work. The notebooks should also inspire the reader to try out new ideas of their own. This requires coding skills, but also English writing skill and good educational pedagogy. Potential mentors: Dragomir Radev, [email protected], and Pierre de Lacaze, [email protected].

Project 2: Finish aima-java algorithms

Finish the implementation of the pseudocode algorithms in Java: we have a list of about a dozen algorithms yet to implement. The code needs to work, of course, but it also needs to be easy for the reader to understand, and to have a reasonably close correspondence to the pseudocode in the book. Potential mentor: Peter Norvig [email protected].

Project 3: Graphical demos in aima-javascript

Here we're not interested in showing Javascript code that implements algorithms, but rather in having interactive graphical demonstrations (example): we have a list of algorithms yet to be implemented. So this project is for someone who can write Javascript, but more importantly someone with good graphic design sense, and an ability to invent good educational material. An example of the type of animation I'd like to see is the A* tutorial at Red Blob Games. Potential mentor: Sam Goto, [email protected]. See the guide to applying.

Project 4: Initiate aima-exercises

This is a new project: build a website (on GitHub) for the exercises that were in the AIMA book for the third edition, but will be only online in the fourth edition. We currently have LaTeX source for the exercises. We need to reorganize as follows:

  • Translate the current exercises from LaTeX into markdown (this may be done before GSoC starts).
  • Design a good format to display the exercises as pretty GitHub pages.
  • Create some new, high-quality exercises, with solutions. Concentrate on exercises that require programming solutions. Your sample solutions have to not only solve the problem but also clearly demonstrate the concepts to the students.
  • Create an encouraging community for volunteers to write new exercises and solutions and correct/augment old ones.
  • Design a system where students can vote/rank exercises.
  • Figure out a way to have the answers for some exercises hidden (so that professors can assign them as homework) and have the answers for others (and discussion forums) available for the community.

Potential mentor: Peter Norvig [email protected].

Your Application

If you are interested in applying as a GSoC student, you should:

  • Say which of the above areas you are interested in working on.
  • Say what your experience is, including pointers to some projects you've worked on.
  • Bonus points if you've contributed to aimacode already: look for an open issue and pitch in; let us know what you've done in the application.
  • You don't need a detailed proposal saying what specific things you want to do within an area--just general areas you are interested in.

aima-gsoc's People

Contributors

norvig avatar ansh103 avatar redblobgames avatar samuelgoto avatar

Watchers

James Cloos avatar

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.