We've got a major course release coming up! We're re-launching our Python course, with brand-new material recorded by our original teacher and CEO, Mattan Griffel.
A little over a year ago, we launched our first Python class to our largest-ever audience. We got a ton of student feedback and, based on the feedback, we closed the course for 6 months to renew, upgrade, and edit the curriculum to better meet students needs. Mattan built a new curriculum from scratch and recorded an entirely new course.
This Fall, Mattan will be teaching at Columbia Business School as well as making this course available to 100 people here at One Month for the first time. It's one of the most popular programming languages and one of our most popular courses, so if you're interested in joining us August 15th, sign up here for the Python course right away.
Today, I sat down with Mattan to interview him about what Python is, why you should learn it, and what kinds of projects you can build with it.
Why should you learn Python?
Python is an easy programming language for beginners to start out with. It’s newer than a lot of languages, so it’s easier to learn than some of the older languages (they fix a lot of the things they learned that suck about older languages), there’s a lot of demand for Python programmers (the average Python developer salary in the US is $102,000 according to Indeed.com), and you can do some really cool things with Python from data science to building websites.
What is Python?
Python is a really popular programming language used by companies like Google, Facebook, Dropbox, Instagram, and Reddit. Python is used for all sorts of things like building websites, web scraping, data analysis, machine learning, and natural language processing. The language is designed to be easy to read, while still being very powerful, which makes it a great language for beginners to learn.
Why Python and not Rails?
Both are good to learn, but Python is especially good for data analytics and sciency-type stuff. It has a lot of coding tools that make things like statistics easier to do. Rails on the other hand is specifically meant to help you build websites.
What are the different language options out there? Why is Python a good place to start?
How did you teach yourself Python, personally? Why did you learn it?
I taught myself using a bunch of online resources such as Learn Python the Hard Way, Codecademy, and Exercism. I learned it because I wanted to be able to compare what it would be like learning a language different from the one I know (Ruby), and I wanted to see what all the fuss what about, and also I wanted to teach this class.
I learned Python because I wanted to compare what it would be like learning a language different from the one I know (Ruby), and I wanted to see what all the fuss what about.
Any cool things you’re doing with Python right now?
Web scraping and data processing I’m doing with Python, but not regularly or anything like that. I’m still more comfortable with Ruby, so I’d probably use that more often.
What kinds of things can you build with Python?
Honestly, just about anything you can build with other programming languages like C++ or Ruby. You can build: websites, web scrapers, crawlers, scripts, interact with APIs, build your own APIs, build automated and messaging bots, make phone calls and send text messages, do machine learning, data analytics, natural language processing, statistical models, just about everything besides iPhone and Android apps (though you can build parts of those in Python).
What kinds of projects will we learn in your class? What will we build?
We’ll write scripts that calculate things for us, automate tasks, get data from APIs like stock prices and the weather, built a bot that sends text messages, write a web scraper, and build a web application.
(Yes, you’ll be able to do all of that within 30 days.)
Who is this course for?
This is for anyone who is a beginner and wants to learn Python but doesn’t know where to start.
Who is it not for?
This is not for experienced developers. It’s also not for people who are already really busy or who aren’t serious about learning something new.
The process can take a while and be frustrating, so you need to have time and patience. It’s also not really for people who don’t see a benefit in knowing how to code somehow in their life. I mean, you could learn it just out of curiosity, but unless you’re trying to get a job as a developer, automate some of your work with scripts, or apply the knowledge in some way, you’ll probably not be committed enough to remember all this stuff.
How much time do you think a student should spend on Python each week in your course?
We ask our students to take at least 30 minutes a day to work on our course. Some people do the work on the weekends and spend 3-4 hours on the weekends to watch the videos, do the projects, and figure things out. (Sometimes people get really excited and dig deeper into the research project and take 6-8 hours or more each week of class. It's up to you to customize.)
The one thing I would recommend is making sure you do all of Week 1's assignments during Week 1, and Week 2 during Week 2, because the benefit of these live courses is that you can ask questions, get feedback, and talk to other students who are working on the same projects you are.
Why did you change the course up and re-launch it?
Because our initial Python course focused on Django and building web apps but not really Python and a lot of the stuff you can do with Python.
We wanted to make the course better and we’re confident that we’ve developed a really good curriculum that works and will show off projects that students are really excited to complete.
What do you wish students knew in advance / before they sign up for the course?
That there's nothing necessary to know in advance! If you don't know much, or feel like you know nothing, that's actually a great place to begin.
It’s helpful if students have some initial understanding of HTML and CSS, but really, it’s not essential. They should also know that this class is made for total beginners so if they already know some programming stuff and they feel like the class starts off slow, they should be patient. It gets challenging really quickly.
What are your favorite resources, books, and other tools that you used to learn Python?
Anything else you want to tell people in advance?
I hope to see you in the course! And if you have any questions about it, leave a note in the comments so I can answer it.
Oh - and how do they sign up for the course?
Sign up here for One Month: Python (starts August 15th, 2016). We're opening the course to only 100 students in this premium course. Sign up fast before all the spots are filled!