Intro to
Programming
(with Python)

Fall 2018
course
site

Getting Started

Standard beginning : any questions about anything so far?


Expectations : welcome to my classroom - Rob Jenkins, chronicle of higher ed

Basically, I expect you to act like responsible adults.

nuts'n'bolts

Merlin (mkatz@marlboro.edu) is the CS tutor this term - stay tuned for details of where/when.

You can also email me (mahoney@marlboro.edu) with questions or setup times to work individually as needed.

The textbook is available at the bookstore, and there are other copies around (the library, Sci217 usually, friends, ...).

software tools

Your first task is to get to the point where you can write and run a python program on your computer. (Or, if you don't have a computer, on the lab computers. If so, please do check in with me.)

It's common for people taking this course to have very different experience levels.

If getting up and running is easy for you, great. I encourage you to brush up on your current skills, and try to stretch a bit wherever you feel you need it.

Or if all this is brand new, that's OK: get help as needed, and plug away at getting all the pieces in place.

There are a number of ways to create and edit python programs.

We'll go over several as we go along :

Resources

Python has extensive online documentation, tutorials, and even browser consoles and editors where you can execute python in the cloud. See the resources page for lots of options.

The most important one is the official docs.

If you have a specific question or error, don't underestimate the power of just googling for what you want to know - often that will jump you to the right place in the documentation, or turn up someone else with that issue.

A First Program

Here's the "hello world" program in python :

 # This file is hello.py - a first short program in python.
 print("Hello world")

From a terminal program (the $ is the prompt waiting for you to type), in the same folder as the file (see below for more)

$ python hello.py
Hello world!

You should have this working this week. Again - you need help, ask, don't wait and get behind.

command line vs GUI

A bit more on the command line ... see In the Beginning was the Command Line

Mac/Unix:
# Mac: The application is /Applications/Utilities/Terminal
# Unix: depends; look for "Terminal" in application menu
$ cd /folder/name        # change directory
$ ls                     # list directory
$ pwd                    # print working directory 
$ python file.py         # run python program in file.py

Windows
# XP: Start ... Programs ... Accessories ... Command Prompt
> cd \folder\name        # change directory
> dir                    # list directory
> cd                     # show current directory
> python file.py         # run python program in file.py

running python

And a bit more on running python.

In general, programming can be done with text editors and the command line (which is the "old school" way I'll be showing you) or with an IDE (Integrated Development Environment). Some people swear by IDEs. My opinion is that they hide the details of what's going on, and when you're starting out (like in this class), it's good to understand those details.

The difference between an editor and an IDE is essentially how much can be done from within the application to compile, run, debug etc the program. Or in larger settings, the programming project. If you think you'd rather try an IDE, the list at http://wiki.python.org/moin/PythonEditors may be helpful.

Do make sure you know what folder you're in while you're working with a python file or at the command prompt. If nothing is working, there's a good chance that you're just in the wrong folder.

You can also run python and edit files over the network, by logging in to cs.marlboro.edu - the same machine that's serving up these web pages. The "ssh" (secure shell) program can connect you to your_username@cs.marlboro.edu (after I give you an account; ask if you want one).

One particularly powerful python implementation that comes in a "just install it" format is ipython.org's ("interactive python"). The anaconda download will give you the whole shebang. I'll show some examples of what that looks like in later classes, though usually I'll just be using the generic python at the terminal.

overview of computers and terminology

random

xkcd...

an example

Chapter 1 uses a chaos program as a first example.

# File: chaos.py
# A simple program illustrating chaotic behavior.

def main():
    print("This program illustrates a chaotic function")
    x = eval(input("Enter a number between 0 and 1: "))
    for i in range(10):
        x = 3.9 * x * (1 - x)
        print(x)

main()

We'll run this in class and discuss.

I also have a Jupyter notebook with graphical output from this example in the code folder.

https://cs.marlboro.college /cours /fall2018 /python /notes /chap1
last modified Fri April 19 2024 10:29 pm