# Python Programming - Getting Started

*This bootcamp is part of the Programming / CS Bootcamps*

For a video explaining how to get started with this bootcamp, see https://www.youtube.com/watch?v=uLnhcCZS4-Y&t=424s

## Contents

## Getting Started

**Reading**- start reading through at least one of the following before you start working on the programming problems.- Think Python - suitable for people with very limited programming experience, not very deep
- LearnXinYminutes - quick review once you are familiar with the basics
- Python.org tutorial - good for those with programming experience already

**Work on solving these problems**- https://www.hackerrank.com/domains/python. Start with the first problem and work your way up from there.**Get Python installed on your computer**- download the latest Python3 version at https://www.python.org/downloads/. Having python3 installed on your computer allows you to debug much quicker.- If you are a current or incoming ISU student, or an ISU alumni,
**sign up for the ISU CS Mattermost**at https://judy.indstate.edu. Note that you need to use your @sycamores.indstate.edu email address to sign up. Look for the Python Programming Channel (direct link is https://judy.indstate.edu/isu-cs/channels/python-programming). When asking about the hackerrank problems make sure to refer to them using the title hackerrank gives them.

Let's see how far you can get with solving the hackerrank problems! Good luck!

## List of Problems

Here are problems to work on from the hackerrank set. Note that you should work on more than just this set, but these are ones we are ready to help you solve!

### Basic Python

These problems are all pretty basic - require a single loop, if statement, etc. They are good when you are just getting started with Python.

### A Bit More Involved

These problems require nested loops, working with arrays, or other things that are the next level of difficulty. Solve all of the Basic Python problems before starting on these.

### And a Bit More

These problems are still a bit more involved. Some require some abstract thinking about the problem, a programming "trick", or other key insight. Note that at this point you are working on problems such that some of the lab assistants in the unix lab may not have solved these problems. This is where you want to be at - you have mastered the basics and are working on problems independently!

### After That

If you are able to do all of the problems above, then you don't need us to give you lists of problems any more. You can pick problems to work through on your own. Some suggested places with problems are as follows.