The first thing you'll want to do is get familiar with basic programming in Python. If you'll be using your own computer (at least sometimes), download the most recent version of Python 3, which you can do for free here. Do a custom install, check Add to Path, and then check every possible box. Next, you'll want to install Pygame. This might be as simple as finding the Command Prompt on your PC (or Terminal on a Mac), right clicking (Command click on Mac) to open it with Administrator privileges and typing in
pip install pygame
If the computer has both Python 2 and 3 (as do our EMU labs), try typing in
python3 -m pip install pygame
If you're on a Mac, try typing
sudo pip install pygame
If none of those work, check in with me. I'll try a couple things and then perhaps refer you to someone even more tech-savvy if I can't figure it out. In any case, you can put the pygame on hold until Week 2 while you dive into Python in general.
Now, how to get yourself acquainted with Python? Here are some of my suggestions, but feel free to do whatever you want in your own style!
1. Sign up for an account on the CS Circles website. During your registration for the account, be sure to put daniel.showalter as your guru (double check your spelling!) Go through as many exercises as possible, skipping over ones that feel like busywork. This is my favorite overall source for learning Python, because it's a blend of instruction and practice.
2. If you like textbook learning, try reading through the first several chapters of
Think Python: How to Think Like a Computer Scientist
and then practicing what you're learning in IDLE (which should come automatically with your Python download).
3. If you learn well from videos, this one seems to be a comprehensive, highly-rated intro to all the Python basics (I haven't watched it myself):
Another good video option is Python Socratica -- they're much more bite-sized videos and go from the beginning (shown below) up through highly advanced topics; I've found them concise and informative.
4. I personally learn well from puzzles and challenges, so after I did several chapters in CS Circles, most of my self-teaching came from working through
CheckiO with a lot of experimentation and internet searching! When you do solve a puzzle, be sure to publish it and then take a look at how the experts solved the same
puzzle.
5.
Coding Bat is similar to CheckiO, but on a smaller scale (you can finish several Coding Bat puzzles in the
time it would take to do one CheckiO puzzle). The warm-up exercises have a nice feature where you can try it a bit and then show the answer. I strongly suggest setting up a (free) account, so you can track your progress.
6.
w3schools offers examples, quizzes, and some instructional tips for learning Python (and other languages).
7. And most importantly,
ASK QUESTIONS! Ask your peers, ask CS majors, ask tutors, ask me, and above all, ask the internet -- internet searching is essential for beginning through advanced programmers.