Selon le cas, de nouvelles dates appraîtront bientôt ou l'activité proposée sera définitivement supprimée.
Sun 15 October à 20:30/strike>
We will be starting from scratch. Learning how to program, CS, and the math needed for data science and machine learning from ... learning to gamble. We will be creating a Texas Hold'em Poker app over the next couple of weeks (or months) whole progressively learning and adding more complex features including an AI that plays against the players and learns over time. With this we will be learning the fundamentals that make up the fields of AI, Data Science, and Computer Science.
The first couple of weeks we will just focus on the basics of Python, and learn how to create a working program in the GUI. This way we can learn the language, how to use the terminal and the basics of software engineering.
Keep in mind, we are making this up as we go along. So be patient. This is a collaborative exercise that will eventually culminate in have really good documentation on how to approach AI from the ground up starting from nothing.
Eventually we will open source everything and place it on free code camp or some website which can reach a greater audience.
During this time I will be writing the code, learning the math and coalescing all that is needed to create this course. Those that want to come in and collaborate, please come on down. If you have a course/MOOC, project, or anything you want to work on, come on down too. You can get insight from the community and code with a community. How do you eat an elephant; one bite at a time. So bring in your thinking caps, this is more a collaborate project than me teaching you directly step by step how to build something.
We aren't going to gamble real money. But, the foundations of probability theory are based on gamblers trying to solve certain problems. This approach reduces dependencies of knowledge and frameworks. We start from bottom up. No prior knowledge or domain knowledge is needed. We will build upon abstractions from beginning to N.
We will collaboratively learn and build frameworks from first principles. We will eventually build the functions that are used in popular libraries first to understand them in depth. Then we can start to use them and replace them with the popular libraries used by many. This manner is fun, straight forward. There are no assumptions, and we have simple rules. The foundations of probability, statistics which build up to machine learning and data science can be found in games of skill and chance. These same concepts can be immediately translated to medicine and other fields. This approach will allow us to also learn math via programming and vice versa.
Here is our first initial objectives to hit. Mind you the time to complete each may be off the optimistic timeline. Feel free to comment and add suggestions:
Shout out to Kenny Warner for creating the basic rubric.
You can get started with the math by going on Khan Academy. Here is a good explainer on the math needed at some point.
Some resources to learn Programming/Math:
Khan Academy Math:
Codecademy: https://www.codecademy.com/en/tracks/pythonDoes 2.x, but 90% of it ports over to 3.x.
Udacity: Programming foundations with Python https://www.udacity.com/course/programming-foundations-with-python--ud036
Udacity is free quality instruction and at your pace. You can find a bunch of CS (both theoretical and practical course videos here for free).
Jupyter Notebooks (Covers Python 2.7 and Python 3): https://drive.google.com/open?id=0Bx7uTjMBz2sCb2ZnbU80M2hHN3M
Jupyter Notebooks are ways to create code notebook that is easily shareable with others. They are used a lot by the python and data science community to share code.
Video that explains skills that software engineers need to know besides programming:
Explains the need to know Git, Command line, Testing, etc.
Learn Git: https://www.codecademy.com/learn/learn-gitLearn
Git with Github: https://try.github.io/levels/1/challenges/1Learn
command line: https://www.codecademy.com/learn/learn-the-command-line
Git is used for version control to work in teams. Github is a place to store your code. The command line is the black box most people are afraid of that gives you more control over your operating system.
IDE -> integrated development environmentsThe best is Anaconda's Spyder IDE: https://www.continuum.io/downloadsPyCharm:
JetBrains PyCharm is another popular alternative: https://www.jetbrains.com/pycharm/download/
Repl.it: https://repl.it/languages/python3An great online IDE.
For advanced programmers:
Siraj Raval's Talks on Youtube: https://www.youtube.com/channel/UCWN3xxRkmTPmbKwht9FuE5A
Siraj has TONS of great videos on AI, the Math of AI, Decentralized internet and more.
There is a special once in a while for $150 per year. Learn how to use SciPy, machine learning with Python and/or R, deep learning, etc. Learn the basic skills to become a data scientist online. Also, you get a 6 month free trial of PluralSight's Python track where you can learn the basics of python with good instruction.
Udemy's Machine Learning A-Z:
Deep Learning A-Z:
You can snap these up for 10 to 15 dollar when they are on sale.
Udacity Intro to AI: