<html>
    <head>
        <link rel="stylesheet" href="css/reveal.css">
        <link rel="stylesheet" href="css/theme/white.css">
        <!-- Code syntax highlighting -->
        <link rel="stylesheet" href="lib/css/zenburn.css">

        <!-- Printing and PDF exports -->
        <script>
            var link = document.createElement( 'link' );
            link.rel = 'stylesheet';
            link.type = 'text/css';
            link.href = window.location.search.match( /print-pdf/gi ) ? 'css/print/pdf.css' : 'css/print/paper.css';
            document.getElementsByTagName( 'head' )[0].appendChild( link );
        </script>
    </head>
    <body>
        <div class="reveal">
            <div class="slides">
                <section>
                    <h1>Learn Python!</h1>
                    <p>It's great for Data Science!</p>
                </section>
                <section>
                    <h2>Agenda</h2>
                    <ul>
                        <li>Why?</li>
                        <li>What?</li>
                        <li>How?</li>
                    </ul>
                </section>

                <section>
                    <section>
                        <h2>Why Learning Python?</h2>
                        <ol>
                            <li>Killer Apps for Data Science!</li>
                            <li>Ease of Learning</li>
                            <li>Readability and Beauty</li>
                            <li>Rapid Development</li>
                        </ol>
                    </section>

                    <section>
                        <p>Killer Apps</p>
                        <ul>
                            <li>Jupyter</li>
                            <li>Django</li>
                            <li>NumPy</li>
                            <li>Panda</li>
                            <li>Matplotlib</li>
                            <li>Seaborn</li>
                            <li>Tensorflow</li>
                            <li>OpenCV</li>
                            <li>NLTK</li>
                            <li>...more!</li>
                        </ul>
                    </section>

                    <section>
                        <p>Python is easy</p>
                        <p>Java</p>
                        <pre><code data-noescape data-trim>public class Hello {
    public static void main(String []args) {
        System.out.println("Hello World");
    }
}</code></pre>
                        <p>C++</p>
                        <pre><code data-noescape data-trim>#include &lt;iostream&gt;
int main()
{
    std::cout &lt;&lt; "Hello World";
}</code></pre>
                        <p>Python</p>
                        <pre class="fragment"><code data-trim data-noescape>print('Hello World')</code></pre>
                    </section>

                    <section>
                        <p>Python is readable</p>
                        <pre><code>For i = 1 to 100
    if i is divisible by 15 then
        print "FizzBuzz"
    else if i is divisible by 3 then
        print "Fizz"
    else if i is divisible by 5 then
        print "Buzz"
    else
        print i</code></pre>
                        <pre class="fragment"><code class="python">for i in range(1, 100):
    if i % 15 == 0:
        print('FizzBuzz')
    elif i % 3 == 0:
        print('Fizz')
    elif i % 5 == 0:
        print('Buzz')
    else:
        print(i)</code></pre>
                        <p class="fragment">Executable pseudocode</p>
                    </section>

                    <section>
                        <p>Focus on what you want, not what to do.</p>
                    </section>

                </section>


                <section>
                    <section>
                        <h2>What to learn?</h2>
                    </section>

                    <section>
                        <ul>
                            <li>Development Environment
                                <ul>
                                    <li>Light-weight text editors</li>
                                    <li>PyCharm</li>
                                    <li>Jupyter Notebook</li>
                                </ul>
                            </li>
                        </ul>
                    </section>

                    <section>
                        <ul>
                            <li>Data Science Toolkits
                                <ul>
                                    <li class="fragment">Scientific computing: NumPy</li>
                                    <li class="fragment">Data analysis: Panda</li>
                                    <li class="fragment">2D plotting: Matplotlib</li>
                                    <li class="fragment">Data visualization: Seaborn</li>
                                    <li class="fragment">Machine learning: Tensorflow</li>
                                    <li class="fragment">Computer vision: OpenCV</li>
                                    <li class="fragment">Natural language processing: NLTK</li>
                                </ul>
                            </li>
                            <li class="fragment"><a href="https://github.com/vinta/awesome-python">Awesome Python</a></li>
                        </ul>
                    </section>

                    <section>
                        <h2>Scenario</h2>
                        <p class="fragment">Boss: Hey I need the data to present in the meeting at 1 PM. Could you send me a nice graph ASAP? Thanks!</p>
                        <p class="fragment">Me: Okay...</p>
                        <p class="fragment"><a href="http://vincent:8888/jupyter-cypress/notebooks/Hackathon/Demo.ipynb">Jupyter Notebook Demo</a></p>
                    </section>

                </section>
                
                <section>
                    <section>
                        <h2>Where to learn?</h2>
                    </section>

                    <section>
                        <ul>
                            <li>Workshops
                                <ul><li>'Problem Solving for Python' - 9/15, 9/23</li></ul>
                            </li>
                            <li class="fragment">Self Learning
                                <ul>
                                    <li><a href="http://collaboration/corp/SemiHack/Hackathon_02/sitepages/default.aspx#InplviewHash7984adee-539e-4b1c-b7af-3517d4c3f5b5=ShowInGrid%3DTrue">
                                        Data Hackathon Sharepoin &gt; Training</a></li>
                                    <li><a href="http://nbviewer.jupyter.org/github/yoavram/Py4Eng/tree/master/sessions/">
                                        Yoav Ram's Introduction to Python for Engineers</a></li>
                                    <li class="fragment">Tons of online resources</li>
                                </ul>
                            </li>
                        </ul>
                    </section>
                </section>

                <section>
                    <h2>Recap: Python is...</h2>
                    <ul>
                        <li class="fragment">Great for Data Science!</li>
                        <li class="fragment">Rich in third party libraries</li>
                        <li class="fragment">Easy and Readable</li>
                        <li class="fragment">Great for Rapid Development</li>
                    </ul>
                </section>

                <section>
                    <h2>Action</h2>
                    <p class="fragment">Make friends with your tools!</p>
                </section>

            </div>
        </div>

        <script src="lib/js/head.min.js"></script>
        <script src="js/reveal.js"></script>

        <script>
            // More info https://github.com/hakimel/reveal.js#configuration
            Reveal.initialize({
                history: true,

                // More info https://github.com/hakimel/reveal.js#dependencies
                dependencies: [
                    { src: 'plugin/markdown/marked.js' },
                    { src: 'plugin/markdown/markdown.js' },
                    { src: 'plugin/notes/notes.js', async: true },
                    { src: 'plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }
                ]
            });
        </script>
    </body>
</html>
