Our "Introduction to Python" workshop is not intended as an introduction to programming. Instead,
it is an introduction to Python for people who already know how to program. As such, we are assuming
that attendees are already comfortable with a number of programming concepts. We also assume that
attendees know how to use a UNIX shell, or that they are comfortable using the command-line interface
in their operating system.
If you are a UChicago student, you already meet these prerequisites if...
- You are an undergraduate student who has completed the CMSC 15100/15200 or CMSC 16100/16200 intro
sequences. If you have only completed 15100 or 16100, please note that
we specifically assume familiarity with imperative programming concepts. If you are only
familiar with functional programming concepts, you may want to take the workshop after
you have taken either CMSC 15200 or CMSC 16200
- You are an MPCS student who has completed MPCS 50101 - Concepts of Programming. If you tested
out of MPCS 50101 by passing the Programming Placement Exam, you additionally need to have taken
the MPCS UNIX Bootcamp (or passed the online UNIX exam).
If you are not in one of the above categories, please see below for a specific list of
prerequisites that we are assuming in this workshop.
Programming Prerequisites
You must be familiar with the following programming concepts:
- Data types: primitive (integers, floats, characters, etc.) and complex (arrays, etc.)
- Operators, precedence, and expressions
- Variables
- Control flow: if/then/else, while loops, for loops
- Functions, return types, and parameters
- [Optional] Object Orientation: classes, objects, attributes, methods
UNIX / Command-Line Prerequisites
Many of the examples and exercises in this workshop require that attendees run commands from
a command-line interface. Regardless of whether you are using a Linux terminal, a Mac OS X terminal,
or a Windows Command Prompt or PowerShell, we assume that you know how to do the following:
- Navigate the file system using a command-line interface
- Edit files and then refer to them from the command-line. You don't actually need to know how to
use a terminal-based text editor. You can use a graphical text editor but, if you save a file from
that graphical text editor, you must know how to navigate to that file from the command-line interface.
- If you are familiar with a compiled programming language (C, C++, Java, C#, etc.), we assume you
know how to compile programs from the command-line, not just from a graphical user
interface such as Eclipse, Sublime Text, etc.
- If you are familiar with an interpreted language (Ruby, R, etc.), we assume you know how to
run programs from the command-line and, ideally, are already familiar with that language's
interactive interpreter
FAQ
- I only know R. Do I meet the prerequisites?
Many people on campus learn R as a statistical analysis tool, without learning how to program
in a general sense. If that is the case for you, this workshop may move too fast for you. However,
R is an imperative and object-oriented programing language, which means it is also possible
to have been exposed to all the prerequisite programming concepts in R. So, if you are familiar with
all the programming concepts listed earlier, and know how to run R programs from a command-line
interface, you should be fine.