Learn Programming in Python

Become a Python engineer

“The best part of Thinkful is the individual mentoring. Your mentor will help you get through the problems that would otherwise be difficult to surmount on your own. As awesome as the Internet is as a source of information, the people there don't necessarily care about telling you how to do this thing in the obscure context that only you need to do. Your mentor does care about that and can help you through. The mentor allows the course to be tailored instead of shoving you through a rigid curriculum handed down from above.”

Meet the language of choice across statistics, finance, web development, and general scripting. In 2014, Python surpassed Java as the most popular introductory programming language at top-ranked university computer science departments. In this course, you'll build entire web apps in Python using the Flask framework while learning object-oriented programming, test-driven development (TDD), and how to host your work on Heroku. You’ll gain valuable hands-on development experience and graduate with strong additions to your portfolio.

A clear path to success

Life as a Thinkful student

1-on-1 mentorship

Work with an experienced Python developer to learn best practices, get feedback on your work, and fix difficult bugs in your code.

Project-based curriculum

Learn by building full stack web apps including an Auction site, 'Blogful,' and 'Tuneful'.

Group sessions

Join 40+ hours of Workshops and Q&A sessions every week. You'll have unlimited access as a Thinkful student.

Active community

Chat with other students, mentors, and alumni on Slack to get help instantly and learn best practices.

Your first day

Meet your mentor, access the curriculum, and join a community of 3000+ students and mentors on Slack. At Thinkful, the relationships you form with your mentor and peers help you learn faster.

During the course

Read less and build more. Each course is focused around projects to emulate real work and increase memory retention. And if you get stuck, ask your mentor or jump into daily Q&A Session.

Graduate on your schedule

Every Thinkful course is self-paced so there's no need to quit your job. Typically, students finish the Python course in 3 months with advanced projects in their portfolio. All graduates receive lifetime access to the course curriculum.

Unit 1 - Programming basics in Python 3

FizzBuzz. Bring together your knowledge of Python data types and control flow to build a Fizz Buzz app from scratch.

Pirate Bartender. To demonstrate your mastery of functions you’ll create a bartending app. This virtual bartender will invent a new and delicious cocktail based on a few questions you and your friends can answer.

Model the Bicycle Industry. You'll use your budding knowledge of Python classes and object oriented programming to create a simplified model of the bicycle industry.

Unit 2 - Working with databases

Snippets App. Learn basic database operations as you code a simple command line application that stores and retrieves snippets of text. This app will be useful for saving notes about Python as you work through the course.

Model an Auction Site. Building the database layer for the world's second most popular auction site, TBay. You will create users, have them put items up for auction, and place bids to try to win the items which are up for sale. You will learn SQLAlchemy, a module which is designed to bridge the gap between Python and SQL. You'll write Python classes and create instances of those classes.

Unit 3 - Deploying Flask apps on Heroku

About Me Page. Dive into HTML and CSS by building your first website, learning essential concepts along the way.

Building Blogful. In this lesson, you'll build a blogging application from scratch in Flask. You’ll learn about web application development and architecture. Next you'll, extend your blogging application as you build a login system using the Flask-Login module. This enables you to limit who can make changes to the blog.

Unit 4 - Flask as an API & course capstone

Concepts covered

Single-page apps,
APIs,
endpoints,
file upload

%}

Project(s) you'll build

Tuneful. Using your API building skills, you'll create the backend for a web application. Tuneful, an automatic chord analyzer, will allow you to upload audio files and view the sequence of chords that make up the music.

Capstone/MVP. Build an MVP (minimum viable product) of your choosing. Your goal should be to devise a web app with a set of features that allows users to solve a problem. The constraints for this project are high level, and they’re up to you. You’ll work with your mentor to define the overall product you’d like to build, plan a roadmap and get feedback as your build your MVP.

Unit 1 - Programming basics in Python 3

FizzBuzz. Bring together your knowledge of Python data types and control flow to build a Fizz Buzz app from scratch.

Pirate Bartender. To demonstrate your mastery of functions you’ll create a bartending app. This virtual bartender will invent a new and delicious cocktail based on a few questions you and your friends can answer.

Model the Bicycle Industry. You'll use your budding knowledge of Python classes and object oriented programming to create a simplified model of the bicycle industry.

Unit 2 - Working with databases

Snippets App. Learn basic database operations as you code a simple command line application that stores and retrieves snippets of text. This app will be useful for saving notes about Python as you work through the course.

Model an Auction Site. Building the database layer for the world's second most popular auction site, TBay. You will create users, have them put items up for auction, and place bids to try to win the items which are up for sale. You will learn SQLAlchemy, a module which is designed to bridge the gap between Python and SQL. You'll write Python classes and create instances of those classes.

Unit 3 - Deploying Flask apps on Heroku

About Me Page. Dive into HTML and CSS by building your first website, learning essential concepts along the way.

Building Blogful. In this lesson, you'll build a blogging application from scratch in Flask. You’ll learn about web application development and architecture. Next you'll, extend your blogging application as you build a login system using the Flask-Login module. This enables you to limit who can make changes to the blog.

Unit 4 - Flask as an API & course capstone

Concepts covered

Single-page apps,
APIs,
endpoints,
file upload

Projects you'll build

Tuneful. Using your API building skills, you'll create the backend for a web application. Tuneful, an automatic chord analyzer, will allow you to upload audio files and view the sequence of chords that make up the music.

Capstone/MVP. Build an MVP (minimum viable product) of your choosing. Your goal should be to devise a web app with a set of features that allows users to solve a problem. The constraints for this project are high level, and they’re up to you. You’ll work with your mentor to define the overall product you’d like to build, plan a roadmap and get feedback as your build your MVP.

Success stories

Apply your Python skills on the job

Before Thinkful, Julian was a rural Michigander unsure about how to create a simple website in HTML. Since then, he’s won a hackathon and accepted a job as full stack developer at BloomSky.

Prior to Thinkful, Jun wanted to enhance his knowledge and advance his career in the pharmaceutical industry. For his capstone project, Jun built the entire login/registration app for his company's training portal.

Programming in Python reviews

See what students are saying

The best part of Thinkful is the individual mentoring. Your mentor will help you get through the problems that would otherwise be difficult to surmount on your own. As awesome as the Internet is as a source of information, the people there don't necessarily care about telling you how to do this thing in the obscure context that only you need to do. Your mentor does care about that and can help you through. The mentor allows the course to be tailored instead of shoving you through a rigid curriculum handed down from above.

I recently went throughthe Python Programming course. Although my experience prior was in databases (Microsoft and Oracle), I had never ventured into programming in Python. Right from the start I really enjoyed the content that Thinkful provides. I am a serial Udemy user and have taken a ton of courses in C#, however Thinkful condenses information very well. My mentor was very helpful and attentive even for the smallest of questions. I found the mentorship to be the best part of the experience because they provide a ton of information beyond the course content itself. I would definitely recommend Thinkful to any beginner or intermediate tech professional.

Thinkful has been very amazing and accomodating as a whole organization. The course structure is very challenging and it really focuses on students learning the logic behind the code. The mentors are very helpful and knowledgeable about their domain. I've been in-and-out of Thinkful due to several reasons but the support team has been extremely supportive when I have questions or when I ask about my circumstances and how that can affect my experience with the program

I have tried to learn programming before. I tried the Python tutorial, a book that used C++, and various other free resources, but none of them got everything right and I was left stranded. When I found out how Thinkful teaches their students, including the mentor system, I knew I could use their support network to finally get into programming. While I am only about a month into the course, I can already say that I am a programmer (albeit still learning, but really we all are). My mentor has just the right balance of showing me what I need to do while letting me find some problems for myself. The course curriculum is pretty good at teaching the details of what I need to work with without being overwhelming (though I do have to take a break if I read too much in one sitting). Between mentor sessions I have found the Slack team very helpful for getting me unstuck.

I really enjoyed the experience at Thinkful. I've been learning Python with various platforms and found that the structure of Thinkful sets it apart from the rest. Being higher priced than others allows the program to provide more human interaction. My mentor was instrumental in my success and I took part in some Q&A sessions and the Slack channel. My one critique would be that I thought the pace was a bit fast for a class being advertised as beginner. I think some of the course content could be expanded upon before getting into building the programs. I would recommend having some foundations in Python before taking this class. I am interested in continuing my training in the Data Science class that Thinkful offers so I would say that is a testement to their offerings.

I've never programmed before so I didn't know what to expect, but Thinkful has made it a smooth easy to understand. The curriculum covers a lot of core topics, and the projects they assign test your knowledge thoroughly. My mentor is great – quick to respond and good feedback. The sessions generally go over the projects – any key points that you miss will be pointed out, and solutions different from yours will be shown to give you an idea of how experienced programmers think.

The only negative thing that I could say is that the reading material isn't always as in-depth as it should be in my opinion. Sometimes in order to do parts of some of the projects that they assign or answer some of the questions they ask, I find myself having to look at free online sources. But that isn't too big of a deal because the information is readily available (for free), and you are guided towards learning this information by the projects and questions so you won't miss out.

I'm happy I finally signed up with Thinkful. The curriculum is well designed. It introduces concepts in a stealthy way so that you don't realize you're working on topics that, relative to the material, are advanced. Most curriculums will start off with the basics and maintain the same boring trajectory. Thinkful makes it fun. Finally, my mentor, Nemanja, is top notch. I feel that teaching is taken for granted. Sure, you can self study, but having someone knowledgeable who can point our your blind spots is very valuable. I believe anyone will be challenged to find a great mentor that tailors the curriculum to your needs. I've definitely found that here.

This review is for the course "Programming in Python" (part-time; 3 months; $500 a month). It took me 2 months to complete the standard course material and a month to finish my capstone project.

I have previous programming experience in Java, JavaScript, and C. At the time of enrollment in this course, I was already working at a tech company as a technical account manager, coding in JavaScript on a daily basis. No prior Python experience, though!

There are dozens of free online Python courses (some better than Thinkful's), but that's not what you're paying for when you sign up for one of Thinkful's courses. What you're paying for is direct access to a community of developers who have years of experience working in their industry. My mentor, Tudor, was an invaluable asset, steering me in the right direction and saving me countless hours of what surely would have been fruitless internet searching. Tudor always knew multiple different tools, libraries, and methods I could explore to accomplish my tasks.

All of this isn't to say that the course curriculum isn't valuable. It certainly is. The material focuses on breadth rather than depth, though, meaning that you'll touch upon every aspect of developing and deploying a web app that a fullstack developer might. There's the bread and butter Python, but that leads into some HTML, CSS, and JavaScript; configuring and using databases; web frameworks like Flask and Django (for the adventurous); unit and component testing; Heroku deployment; continuous integration; and more. My only disappointment was that there weren't more lessons on the Python language itself, so I ended up purchasing a dedicated Python book to supplement the course which I found extremely useful.

With this course and my mentor Tudor's help, I was able to create a web app that I will use as part of my portfolio when applying for a developer position. More immediately, however, I have been able to apply the Python skills I learned to build numerous tools for my coworkers at my current job to help them automate their more tedious tasks.

Ultimately, this course was valuable to me for two reasons: 1) because I already had experience in a few programming languages, but didn't understand how the development cycle of modern web apps all fit together; and 2) because having a mentor was motivating and a much better use of my time than scrounging the internet for answers.

I hope this review helps you find the right course for your needs! Good luck!

Disclaimer: Thinkful offered me a t-shirt for this review. But, if it makes you feel any better I have other t-shirts so it's not like I had to write this review.

I enrolled into the Thinkful python programming course after two failed attempts to learn python via Coursera. The main thing that reinforced my decision to enroll in this course was the mentor arrangement which I felt would accelerate my learning since I would have someone I could talk to.

I have enjoyed working with my mentor (Hoa Tran). His approach to working with me is not one where he just solves my coding problems by typing out the solution. Instead it is one of "forced learning" where he asks me to think and try to solve the problem by myself. Most times this is very frustrating but it has helped improve my problem solving skills when it comes to finding out errors in my code. Another avenue that I have really enjoyed is the Thinkful slack community because there is always someone to help, with whatever issue you are confused about. Sometimes as coding newbies one is ashamed to ask questions because you are worried you might be ridiculed, but I have never experienced that in the t´Thinkful slack community. Rosuav a Thinkful mentor has been especially helpful.

The course content is very thorough and you get to learn a lot of things and type out really great code. There are however some areas which I think need to be improved. For instance there are no python workshops available on the website. Some of the topics covered in the python course are really complex and require more than just written text for a newbie to understand. I also wish there were more python Q&A sessions. This used to be the case when I first started the course but in the last few weeks, this has changed.

Overall I have had to make some sacrifices financially to take this course but I have no regrets. It has been a worthwhile experience.

I have been really impressed by Thinkful. The team are not only friendly, but also extremely efficient. I signed up for the introduction to Python course, and have found the course material and assigned mentor to be first rate.

Thinkful's Programming in Python course has been a reliable way to move from advanced-beginner to intermediate and to start building a portfolio. After learning the basics of Python through courses from sites like Treehouse, Coursera, and Udemy, I was interested in moving into more advanced work, but unsure how. Thinkful has provided the mentorship and curriculum I needed to improve my style and start writing code I'm proud to show others. The program is flexible enough that I've found that I can make progress while still holding down a full time job. At the same time, the weekly mentor sessions (and the high price) have been motivation enough to put in all the time I can and make continual progress. My favorite part of the course has been the freedom it allows in project design: having everything evaluated by a mentor (as opposed to an algorithm) allows you quite a lot of flexibility in implementation. I've also been very impressed by my mentor and their feedback on my work. My least favorite part has been the cost. I'd recommend Thinkful to anyone who had spent long enough thinking about Python to have dreamt up a project or two that they would love to build but still didn't have the skills and felt they had 10-15 hours a week to spend making it.

When shopping for bootcamps, I was looking primarily at in-person programs, as I learn better in social situations. The cost of these programs were prohibitively high for me though. Thinkful seemed to offer a nice compromise with their mix of online curriculum and weekly google hangouts with a mentor. The price point ($500 at the time, though they've changed up their programs/prices a bit since I began), delivered good value for the money.

I did the Python program, which has a focus on backend web development. The curriculum was decent. On par with Google's online Python classes- my only point of comparison for purely online courses. I didn't spend much time in the Slack channels or online workshops, though I did find them useful. Several times I got blocked and posted a question in the Python Slack channel. Each time someone from Slack answered my questions and unblocked me with a response time averaging ~1-15 mins. The real value of the program though came from my mentor (Tudor), who was excellent. In our always-too-short 45 min weekly sessions, I learned exponentially more per minute than when I was learning on my own. Also, having another human to meet with regularly held me accountable and kept me motivated.

The average time it takes to finish the course is three months. I ended up taking four (for a grand total of $2,000), mainly because I chose a fairly ambitious capstone project (a Django site), which took much longer than expected (Django is awesome but hard!).

I feel this course could get you within "striking distance" of a junior software development position, if that's your goal. It teaches you enough about some fundamental technologies (Python, Flask, databases (Postgres), Heroku, basic front end stuff (html, css)), that you can build real-world applications. I didn't take advantage of their career services, so can't review those. I'm currently doing some basic freelance web development work I got through a friend and looking to keep building and learning.

Would (and have) recommend Thinkful to people looking to pursue coding without quitting their day job, or just looking for a more economical learning experience.

Programming in Python course. I had a generally very positive experience with Thinkful. I think it was good value for the money, and have recommended it to a couple people already. The online curriculum was good (on par with other online courses/tutorials I'd dabbled in). The Slack channels I was hesitant to use at first, but I eventually got comfortable posting there. Several times I posted questions when I was blocked, and someone from Thinkful unblocked me relatively quickly (~1-15 mins wait time on average). Once I was working on my final project (a Django site) however, the channels and workshops felt "off-topic" for my problems, and I didn't utilize them, instead relying on Stack Overflow and my mentor . Probably the most valuable part of the experience was my mentor sessions. They were really excellent and I learned a ton every minute of our sessions. P.S. I didn't technically finish the last step of my capstone project (refactoring) as I ran out of time. I already went an extra month (4 months total) due to taking on a somewhat ambitious capstone project. I felt that I'd achieved my goals though and brought the project to the stage I wanted it to be. If there is one thing I'd change it would be more mentoring time, especially when I was working on my final project. I got a lot accomplished in my 45 min sessions, but always felt like an extra 15 mins (at least) would have been really valuable.

A good overview of what the world of Data Science is like. This is a great course for someone looking for beginners' knowledge with a little extra. The plan to finish within the recommended time frame (12 weeks) is a little unrealistic, especially if you have other commitments, such as full time work. However, it is absolutely worth it to invest the extra time. The mentorship you get is invaluable as being introduced to coding for the first time can be overwhelming and a more hands on approach by a mentor can make this seem less daunting.

Keep pushing through the content! The last unit will introduce machine learning, which is very interesting. Don't get burned out at this point, it is a LOT to go through!

I was a student at Thinkful over a year ago in their Programming in Python course in which I learned to develop a dynamic website using Python and Flask in the backend.

At the time, I wanted to enhance my knowledge and potentially advance or change my career from the pharmaceutical industry to the tech industry. I was researching a number of options. I could get an AA degree in CS from one of the local community colleges; getting a BS was out of the question since the local universities here in San Diego, CA do not allow for a secondary BS and so my other option was getting an MS in CS at one of the universities. This meant that I would have to study for and take the GRE... meh, that's a lot of commitment for exploring getting into the tech industry.

I also read a few articles about bootcamps and so I researched that. Unfortunately, there are no local bootcamps in SoCal. They're based near Silicon Valley and New York. Going into a bootcamp would've required me to quit my job for a few months and hope that I would find a job after the end of the bootcamp pending the fact that I don't burn out from the bootcamp. Since I already had job, the risk of doing a bootcamp didn't seem worth it.

There were also these other free online courses and MOOCs... Udacity, Udemy, Coursera, etc... and I also came across Thinkful.com. I've taken some courses on Udacity and learned how to program with JavaScript. These free online courses and MOOCs were great! Learn at your own pace and sometimes they were free or relatively cheap. And then comes Thinkful...

It's somewhere between a full on bootcamp (I'm assuming here since I've never done a bootcamp) and a MOOC. You pay for their course and service (which is a sh*t-ton cheaper than the cost of a bootcamp) on a monthly basis and in the end, you graduate the course by working on and presenting a project with real world use. My final project was an "Online Training Website" in which a user can log in, do training courses, and it tracks which training courses you've completed. I used Python, Git, SQLAlchemy, Flask, and MySQL to create this site and I've actually put it into use at my current place of employment and they liked it so much since it was value-adding to our safety training. My company was recently bought out by another company (actually, the number one company in my particular industry) and I may even be able to use my training website in this company...

Anyway, I've learned so much from Thinkful and I would definitely recommend it. The most valuable difference between Thinkful and MOOCs or other online courses such as the ones I took at Udacity and Coursera is that you have a mentor... a person who works in the industry with the technologies that you're learning. You do the assignments, just like Udacity or Coursera or Udemy... but when you're stuck on an assignment or if you don't understand the how or why... you have your assigned mentor availble to help you out. That personal touch can't be beat. And even if your mentor isn't available at that time, you have other mentors available to help you out. This type of positive experience doesn't even compare to MOOC forums or MOOC TAs.

After graduating from Thinkful, I've taken a few Python programming MOOCs here and there and honestly, I wouldn't have been able to pass some of those MOOCs without the knowledge I gained from Thinkful. And if I didn't pass those MOOCs, it would've been a waste of time and commitment...

My overall experience with Thinkful was awesome and my mentor was excellent! I've learned a lot about his programming workflow and about his experience in the industry... that's something you'll never ever learn in a MOOC! They are continually updating and improving their curriculum so I know the courses I did while I was their have improved. I haven't really looked into their Job Assistance as of yet since I'm still currently employed in the pharma industry (and using what I've learned at Thinkful) but I just might check with them in the near future...

If you're looking at bootcamps... have a look at Thinkful first... maybe that's a better option for you and they have other courses too! If you don't want to pay... go ahead and look at Coursera, Udemy, Udacity, etc... but when it gets to the point where you plateau in your learning, type http://thinkful.com into your web browser...