Missed the Kickstarter? You can still pre-order the course at:
See you there!
Less than 12 hours, and fully funded already! Thanks everyone.
When it comes to scientific and engineering computing, there is a clear choice for programmers: Python.
Many scientists prefer it to Matlab, and it is often taught as the first language in Universities.
But there is no single resource for people who want to use Python for engineering. You have to go hunting through blog posts everytime you want to draw a graph.
I'd like to create a single book that shows how Python can be used for a multitude of scientific purposes.
You no longer need to know Python, as I will cover that. All I ask is, you be good in at least one programming language.
Practice, Not Theory
The book will be heavily practical, with little or no theory. The goal is to get you using Python for real world engineering applications. For each topic, we will choose a real case scenario and build a quick solution in Python to solve our problem.
As a quick example, you must have seen Facebook draw a square around your faces when you upload a photo so that you can tag it. Did you ever wonder how Facebook knows where your face is?
I wrote some code for this:
(Image Taken from Wikipedia http://en.wikipedia.org/wiki/Abba)
After Python has detected faces:
How much time did you think I spent writing this code, and how long do you think it is?
Five minutes, and <25 lines, including space and comments. Have a look at the code here:
Warning: The code is very rough, as I said, I wrote it in 5 minutes. In the final book, we will go line by line, and I will explain each one.
Topics to be covered
1. Advanced Python: Useful advanced topics like list slicing, list comprehension, eval.
2. Introduction to Numpy
3. Plotting with Matplotlib - I will take some real life scientific data, and show how we can graph and analyse it (min/max, mean etc).
4. Some engineering application: Something like, take a noisy signal, and extract the noise frequencies from it. Or, find the frequency of a tone signal.
5. Image processing: Image recognition and processing with OpenCV. Counting objects in an image, sharpen/blur images etc.
6. Video processing: Again, with OpenCv. Face detection, object tracking in video.
**** Stretch Goals 2
£4000 - I will add parallel and distributed programming with Python.
£5000 - Raspberri Pi as an embedded controller with Python.
******* End of Stretch goals 2
**** Stretch Goals 1 - Achieved!
I have come up with the following stretch goals:
£1000 - I will cover the basics of the Python, specifically for the programmers wanting to use Python for engineering. This is not just another "Intro to Python" - this will be tailored to those who want to use Python for science and engineering, and have some previous experience programming.
£1400- I will cover pandas (http://pandas.pydata.org/), which is the main Python library for statistics / data analysis.
£1600 - I will add Machine Learning with Python, using SciKit http://scikit-learn.org/stable/. Example will be recognising hand written numbers / recognising flowers.
******* End of Stretch goals 1
Risks and challenges
The project might be delayed if life interferes.Learn about accountability on Kickstarter
- (30 days)