Difference between revisions of "Python Programming - Getting Started"

From Computer Science
Jump to: navigation, search
(List of Problems)
(List of Problems)
Line 31: Line 31:
  
 
==List of Problems==
 
==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!
 
 
 
===Programming Assignment 1===
 
===Programming Assignment 1===
 
Start with trying to solve these problems.  Each requires a different feature of the Python programming language, so solve these problems as you read through one of the tutorials or links above.
 
Start with trying to solve these problems.  Each requires a different feature of the Python programming language, so solve these problems as you read through one of the tutorials or links above.
Line 38: Line 36:
 
Note that the page includes a link to repl.it that contains solutions to each of the problems.  If you do not have Python installed on your computer, you can try it out at [https://repl.it/ repl.it] - click the logo at the top, then click "+ new repl", select Python and Create Repl.
 
Note that the page includes a link to repl.it that contains solutions to each of the problems.  If you do not have Python installed on your computer, you can try it out at [https://repl.it/ repl.it] - click the logo at the top, then click "+ new repl", select Python and Create Repl.
  
===Basic Python===
+
===HackerRank 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.
 
These problems are all pretty basic - require a single loop, if statement, etc. They are good when you are just getting started with Python.
 
* [https://www.hackerrank.com/challenges/py-hello-world/problem Py Hello World]
 
* [https://www.hackerrank.com/challenges/py-hello-world/problem Py Hello World]
Line 49: Line 50:
 
* [https://www.hackerrank.com/challenges/text-wrap/problem Text Wrap]
 
* [https://www.hackerrank.com/challenges/text-wrap/problem Text Wrap]
  
===A Bit More Involved===
+
====A Bit More Involved====
 
These problems require nested loops, working with lists of lists, reading a problem statement that takes more time to understand, or other things that are the next level of difficulty. Solve all of the Basic Python problems before starting on these.
 
These problems require nested loops, working with lists of lists, reading a problem statement that takes more time to understand, or other things that are the next level of difficulty. Solve all of the Basic Python problems before starting on these.
 
* [https://www.hackerrank.com/challenges/nested-list/problem Nested List]
 
* [https://www.hackerrank.com/challenges/nested-list/problem Nested List]
Line 60: Line 61:
 
* [https://www.hackerrank.com/challenges/word-order/problem Word Order]
 
* [https://www.hackerrank.com/challenges/word-order/problem Word Order]
  
===And a Bit More===
+
====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!
 
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!
 
* [https://www.hackerrank.com/challenges/validating-postalcode/problem Validating Postalcode]
 
* [https://www.hackerrank.com/challenges/validating-postalcode/problem Validating Postalcode]
Line 66: Line 67:
 
* [https://www.hackerrank.com/challenges/maximize-it/problem Maximize It]
 
* [https://www.hackerrank.com/challenges/maximize-it/problem Maximize It]
  
===After That===
+
====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.
 
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.
 
* [https://www.hackerrank.com/domains/algorithms Hackerrank - algorithms]
 
* [https://www.hackerrank.com/domains/algorithms Hackerrank - algorithms]

Revision as of 19:49, 13 December 2019

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

Getting Started

  1. Reading - start reading through at least one of the following before you start working on the programming problems.
    1. Learn Python - interactive tutorial where you can try out code in the browser
    2. Automate the Boring Stuff with Python - suitable for people with very limited programming experience, this is the text that is being followed for our CS 151 course (as of 2019)
    3. Think Python - suitable for people with very limited programming experience, not very deep
    4. LearnXinYminutes - quick review once you are familiar with the basics
    5. Python.org tutorial - good for those with programming experience already
  2. Work on solving these problems - https://www.hackerrank.com/domains/python. Start with the first problem and work your way up from there.
  3. 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.
  4. 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!

Running Python on ISU CS Systems

If you are using one of the CS lab computers or have a terminal open connected to the CS server, you can run python programs using one of the following methods.

Execute in the terminal Edit your python code with a text editor, and run it with the python3 or python command. For example,

cd ~
nano hello.py
# and put some python code in hello.py then exit nano
python3 hello.py

If you want to run the program with Python2, you would use the command python rather than python3.

Idle You can use the builtin Python3 graphical editor to edit your programs and also run them (only if you are on one of the lab computers or tunneling X). The command for Python3 is idle3, and the command for Python3 is idle.

List of Problems

Programming Assignment 1

Start with trying to solve these problems. Each requires a different feature of the Python programming language, so solve these problems as you read through one of the tutorials or links above.

Note that the page includes a link to repl.it that contains solutions to each of the problems. If you do not have Python installed on your computer, you can try it out at repl.it - click the logo at the top, then click "+ new repl", select Python and Create Repl.

HackerRank 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.

For a bit more practice with basic problems, try out more of the problems that are listed as "Easy". Once you have completed the once listed in this section you should be ready to complete more of the "Easy" problems on your own.

A Bit More Involved

These problems require nested loops, working with lists of lists, reading a problem statement that takes more time to understand, 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.

Study Guide

In this section we plan to develop a study guide for use in CS 151. Check back for a laundry list of concepts, keywords, builtin packages, etc. that you should know.