New programmer - an idea

Hey Guys,

I've been in programming college for about 3 months now and wanted to discuss an idea with you guys;

I want to build an AI that can teach a person things like maths, science and programming. The AI should be flexible in a way that it should be able to modify its own lessons to the users learning style and be able to improve itself through a series of algorithms.

Id like to make this an open source project for all to use to help assist both people in developed countries (USA, Canada, Europe etc.) as well as people in developing countries to assist in their education infrastructure. Any advice at all would be greatly appreciated as I am fairly new to programming and I am not even sure where to begin but together I feel we could really make a difference in the world with an AI like this.

Thanks

1 Like

I like your ambition, since you're new I'd recommend starting small and make something simple, like a math problem generator & checker. AI is hard, you're going to have to work hard for it.

5 Likes

Yeah, same here I definitely agree with explorer, @jonnyp3f I'd recommend starting a small and learning the concepts of how AI works, and start building a strong foundation to which you can add onto later on when you start learning more. I'm kind of in the same boat as you, I am a freshmen at university majoring in computer engineering, I am currently learning C++, object orientated programming, data structures, algorithms, unix system administration courses, etc.., but I am also going to work on Java Android Development during the Winter break. It's good to have your own little projects that you work on and have fun with, also dont forget about using github.

my2cents

1 Like

Wow, what a project to undertake after just 3 months of coding. I certainly admire your ambition mate.

So I assume its going to be something like KhanAcademy but with an A.I aspect that looks at the error rate and/or success rate of given modules then either speeds up the learning (moving through the topics of a given subject) or slow down and rehash what was learnt if the user has had errors/failures etc.

A few questions:

  • What was your rough time-frame that you wanted to have a protoype up and running for testing?
  • Will it be a web based service or stand-alone install on user devices?

here is my 2 cents. When taking on a project like this one, break it up into sections, and then again into sub section. for example. focus on making the problem generator first. then break up the problem generator into subjects like calculus, algebra 1, geometry, etc... once you have completed the generator, then you can start the AI. which will utilize the problem generator code.

It is my experience that designing the code is often much more important, and much harder to do well than actually writing the code. if you write bad code, you can just re-write it. if you design the code wrong... lets just say you won't be very happy for the next week or so.

I want to get a prototype for testing before summer next year,

Id like for it to be a web front end application with a "lite" version for cellphones and tablets.

Ill be taking your suggestions and starting off with the Math problem generator and checker, and doing all kinds of generators for different kinds of math equations, from simple addition and multiplication all the way to parabola and vector calculus. Ill keep you guys posted on how the project is going.

Thank you all for the help!

there is an open source alternative to siri known as sirius that is being developed over at Michigan U and I think if you got those ideas you could put sirius to good work

1 Like

"Ideas are easy, executions is everything."
"Without a goal you can not score."

I like your ideas, you need to narrow down more and divide everything into steps, I do not know if you have a plan yet, but I assume most probably the steps will be like:

  1. The "Source"; a library from where all the information or knowledge will come from.
  2. Algorithm to teach in general.
  3. Teach certain subject in a certain way.
  4. Teach in different ways.

Note that by this time the project will already be usable and beneficial (able to teach).

Then AI stuff...

This is a really cool idea! I'm looking into learning how myself. The science behind AI fascinates me. Best of luck with this venture!

Also just a tip, name the program HAL, that would be nice.

1 Like

I want to name it Aristotle, because he said that every student should have a teacher.

1 Like