Giter Club home page Giter Club logo

Comments (6)

Nalinc avatar Nalinc commented on September 21, 2024

I agree that Kaggle supports some out-of-the-box features which otherwise would be tedious to implement. Ability to fork individual notebooks and support for graders/peer-reviews are some of the really cool features. I believe we should look more into it to see how many of these unanswered questions can be addressed. It is definitely worth exploring :)

from aima-exercises.

yakout avatar yakout commented on September 21, 2024

@norvig I think Kaggle is very great choice. and here is my little suggestions:

Do we create/edit exercises individually, or a notebook at a time?

Adding exercises per chapter will be more convenient. (i.e for notebooks we generated, each will be in a separate kernel)

What is the process for curating new suggested exercises?

Adding or receiving a new pull request with new exercise in aima-exercises repo, we must also update it’s corresponding kernel in Kaggle, that’s why I suggested that each file will be in a separate kernel, to easy maintain.

What is the mechanism for a canonical, permanent symbol name for an exercise?

This really depends on how we want to organize it:

  • by difficulty
  • by it's appearance order in it's chapter
  • addition order
  • randomly

The last two options will be very easy to maintain, (Just incrementing the exercise number), also we must not contradict with the naming in the book.

Can other hosts besides Kaggle also participate if they want to? If so, what is the process for keeping them in sync?

If I understood this point well, I think syncing will be using Github repo as well, updating one notebook in the repo, we must update it's corresponding kernel in Kaggle.


Summary: I think we should use both Jekyll and Kaggle.

Jekyll with Github pages; for making it open source repo that contains all the exercises in .md and .ipynb format, and receives pull requests for other new exercises created by professors or by others, or any other type of open contribution.

Kaggle; for the discussion forums, forking the exercises to add answers that will be graded or executed, plus other features you mentioned.

Looking forward for other suggestions as well.

from aima-exercises.

nvinayvarma189 avatar nvinayvarma189 commented on September 21, 2024

I agree with @Nalinc and @yakout here. I had a similar Idea about the project. We need a standard GitHub page (backed up with Jekyll or by any other means which supports MathJax) to display the exercises. The students who just want to see the exercises can refer to this page.

Whereas for the students who want to get involved by creating new exercises, ranking exercises or projecting their views about any misconception regarding a question, we need to host a community. For this kaggle may be perfect. Then all the newly added exercises will come in as a Pull request and can be viewed in the standard page we maintain.

Again we need to keep a look for any issues that might occur in the future. Also, the limitations of hosting a community in kaggle must not affect our progress in implementing new ideas in the coming years. If we think so, We need to develop a community from scratch( which I initially considered as the goal). I personally think that kaggle is pretty much flexible. If I'm missing something here, I kindly request everyone to let me know.

from aima-exercises.

Nalinc avatar Nalinc commented on September 21, 2024

Do we create/edit exercises individually, or a notebook at a time?

Adding exercises per chapter will be more convenient. (i.e for notebooks we generated, each will be in a separate kernel)

I agree that adding exercises per chapter will be more convenient. That's because we already have Jupyter notebooks and they can directly be imported to Kaggle. However, this is only convenient from an instructor's point of view, or for situations where instructors give assignments to the class. From a student's perspective, this essentially means that they will only be able to have discussions on kernel level. This could be a blocking factor because students most often find only certain questions in a chapter more challenging than others and want to discuss possible approaches only for those questions. Instructors might as well prefer addressing each question individually and provide solutions to only certain questions.

What is the process for curating new suggested exercises?

Adding or receiving a new pull request with new exercise in aima-exercises repo, we must also update it’s corresponding kernel in Kaggle, that’s why I suggested that each file will be in a separate kernel, to easy maintain.

This basically means that one has to first fork the aima-exercises repo on Github, and once changes are merged, both(pull requester and merger) would have to sync their corresponding kernel in Kaggle (assuming the pull-requester has also forked the Kernel on Kaggle). Even if the exercises are divided on kernel level, the process is tedious because there's manual syncing involved on multiple ends.

To summarize, though Kaggle is good to host assignments and review and grade them, I don't think it is really promising as a discussion forum. Long comment threads on kernel level would not only be less attractive for students, but also difficult to track.

from aima-exercises.

stabgan avatar stabgan commented on September 21, 2024

I agree with everything above . But I have a question , that why can't we use a full website with database integration ?

from aima-exercises.

heisenbuug avatar heisenbuug commented on September 21, 2024

I think Kaggle and notebooks combined will be a good option.

from aima-exercises.

Related Issues (20)

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.