Doing your homework with Python
| Authors | Nirbheek Chauhan |
| Talk Type | talk |
| Level | Intermediate |
| Topic | Education and Training |
| Tags | science,engineers,education,scientific programmming,numpy,scipy,matplotlib,latex |
This talk will teach you how to use NumPy, SciPy, and Matplotlib to do your college homework, assignments, thesis work, or just random foo things you like to work on.
The ecosystem that forms around NumPy, SciPy, Matplotlib, Make, LaTeX, and Git is so powerful and convenient that once you get the hang of it, nothing will ever replace it for you.
At the end of the talk, you'll be able to do your work more efficiently, and brag to your friends about how neat, professional, and in general, how awesome your work looks.
The author's first detailed experience with scientific computing libraries for Python were during a course at his college, and found a blissful ecosystem consisting of NumPy + SciPy + Matplotlib + Make + LaTeX + Git.
This talk will cover integration of these tools to do homework problems, assignments, thesis work, or just to manage your personal work. The talk will require proficiency with Python itself, and will consist of the following segments:
- Brief introduction of how NumPy works (5 mins)
Detail will be limited to the available variable types, and their simple manipulation with NumPy functions. The attendee should look at other talks for a detailed explanation of NumPy itself.
- Overview of what SciPy does, with examples (10 mins)
This part will inform the attendee about the purpose of SciPy, and give some examples of the usage of its API.
- Plotting with Matplotlib, both simple and advanced (10-15 mins, flexible)
This is the crux of the talk, since almost everyone has had to plot graphs as part of their work. This will consist of a detailed explanation of Matplotlib's API (which can be hard to understand for a newbie), with lots of examples.
- Brief explanation of the Makefile + LaTeX + Git workflow (5-10 mins, flexible)
LaTeX, Makefiles, and Git are integral to the workflow itself, but they are beyond the scope of this talk. They are also not necessary to understand the rest of the contents. I'll describe them, and the advantages of the workflow they will enable, but I'll avoid going into details about the tools themselves.
- Integration of all these together with a real-world example (5-10 mins)
This part will describe the motivation behind the talk, and show attendees how everything comes together. The aim of this segment is to make attendees want to go back home, and try everything out. Perhaps they'll even learn LaTeX + Make + $VCS in the process :)
Total time: 40-45 mins. Questions will be taken while the talk is going on, so extra time for this isn't necessary.
This talk is going to be awesome.
Nirbheek Chauhan is an alumni of IIT Kanpur, and a Gentoo developer who maintains GNOME and Mozilla packages in Gentoo. His first programming languages were Bash and Perl, so moving to Python was akin to heaven-on-earth for him.
He has been involved in the FOSS world in various ways since 2006, and helped organize FOSSKriti at IIT Kanpur in 2008, 2009, 2010. He was a Google Summer of Code student in 2008 under Gentoo, learned Python for his project, and has loved it ever since. He has also been a GSoC mentor for Gentoo since then. He is a GNOME Foundation member, and believes that GNOME 3 is the most kick-ass thing since the Linux Kernel.
He sometimes likes to rant about random things on his blog at http://bheekly.blogspot.com and can be contacted via IRC on FreeNode, and GimpNet under the nick "nirbheek", or at "nirbheek{0}gentoo{1}org".format("@", ".").











