user1631: I am starting to use a Seeeduino GPRS shield (please see note), which is essentially an Arduino Leonardo that, among other things, can be used as a mobile 'phone for sending and receiving texts. I have successfully tried the "blink an led" and "fade an led" sketches, so the compiling and uploading are ok
I am using a desktop computer with Linux Fedora 20.
Now I want to go on to use the cell phone network to communicate with my mobile 'phone. However I am puzzled by something I assume everybody else understands already, and that is the references to "select either software serial port or hardware serial port to be connected to GPRS Shield". Please could someone explain what "software or hardware serial port" is, in simple terms, or point me to a web site that does so? Do I need any wired connection with my PC other than the USB link I use for uploading sketches?
Note: I bought a discounted GPRS shield labelled version 1.0a2. All the information on the 'net is of version 1.0 or 2.0 (with no "a2") and photos and diagrams do not correspond with what I have. I am awaiting official documentation, but meanwhile treating it as an Arduino Leonardo seems to be working.

user3818: The hardware serial port is the serial port which connects to the computer this takes up pins 1 and 2 I believe. You can read about this here http://arduino.cc/en/reference/serial.
Software serial ports are only on digital IO pins. You can read more about this here 
http://arduino.cc/en/Reference/softwareSerial
You should not need anything other the USB connection port.

user407: A SoftwareSerial connection is created using the UART pins 7 and 8.
Having the device in HardwareSerial mode allows the device to connect to pins 0 and 1, allowing direct control from the serial connection to the computer.
In SoftwareSerial, you can communicate with the Arduino Via serial, and the Arduino controls the GPRS shield via uart.

user1585: Most small micro controllers, AVR's included, have dedicated hardware for communicating with different serial devices. In arduino these are referenced with "Serial", "Serial1", "Serial2" and so on, depending on how many hardware serial ports your particular arduino has. 
Leonardo's are an exception, the first hardware port is "Serial1" and "Serial" refers to the PC's usb connection. On the other arduinos that I know of "Serial" is hardware serial used for PC comms, so using it for other hardware requires sacraficing your PC link.
Software serial ports use the processors more generic pin-change interrupt system to communicate on any pins that support said interrupts, but they have a higher processing overhead and often cannot support the same high speeds as the hardware serial. There are different libraries for Software Serial that have different approaches giving different advantages and drawbacks.
To use a software Serial port you will need to make one to be used in your code, which will look something like this, depending on the type name the library you include uses:
SoftwareSerial softSerial( txPinNumber, rxPinNumber);

So in short, your processor has dedicated hardware for communicating over serial that should be used first, but if you need more ports the processor can simulate some extras which is referred to as "Software Serial". The documentation to your GPRS shield implies that either will work just fine. You should look at the arduino documentation for your board to see how many ports you have and which pins can be used for serial.
The documentation does not imply you will need any special link to your computer outside of the USB connection.

1631: <p>I am starting to use a Seeeduino GPRS shield (please see note), which is essentially an Arduino Leonardo that, among other things, can be used as a mobile 'phone for sending and receiving texts. I have successfully tried the "blink an led" and "fade an led" sketches, so the compiling and uploading are ok</p>

<p>I am using a desktop computer with Linux Fedora 20.</p>

<p>Now I want to go on to use the cell phone network to communicate with my mobile 'phone. However I am puzzled by something I assume everybody else understands already, and that is the references to "select either software serial port or hardware serial port to be connected to GPRS Shield". Please could someone explain what "software or hardware serial port" is, in simple terms, or point me to a web site that does so? Do I need any wired connection with my PC other than the USB link I use for uploading sketches?</p>

<p>Note: I bought a discounted GPRS shield labelled version 1.0a2. All the information on the 'net is of version 1.0 or 2.0 (with no "a2") and photos and diagrams do not correspond with what I have. I am awaiting official documentation, but meanwhile treating it as an Arduino Leonardo seems to be working.</p>
 3818: <p>The hardware serial port is the serial port which connects to the computer this takes up pins 1 and 2 I believe. You can read about this here <a href="http://arduino.cc/en/reference/serial" rel="nofollow">http://arduino.cc/en/reference/serial</a>.</p>

<p>Software serial ports are only on digital IO pins. You can read more about this here 
<a href="http://arduino.cc/en/Reference/softwareSerial" rel="nofollow">http://arduino.cc/en/Reference/softwareSerial</a></p>

<p>You should not need anything other the USB connection port.</p>
 407: <p>A <code>SoftwareSerial</code> connection is created using the <code>UART</code> pins 7 and 8.</p>

<p>Having the device in <code>HardwareSerial</code> mode allows the device to connect to pins 0 and 1, allowing direct control from the serial connection to the computer.</p>

<p>In <code>SoftwareSerial</code>, you can communicate with the Arduino Via serial, and the Arduino controls the GPRS shield via uart.</p>
 1585: <p>Most small micro controllers, AVR's included, have dedicated hardware for communicating with different serial devices. In arduino these are referenced with "Serial", "Serial1", "Serial2" and so on, depending on how many hardware serial ports your particular arduino has. </p>

<p>Leonardo's are an exception, the first hardware port is "Serial1" and "Serial" refers to the PC's usb connection. On the other arduinos that I know of "Serial" is hardware serial used for PC comms, so using it for other hardware requires sacraficing your PC link.</p>

<p>Software serial ports use the processors more generic pin-change interrupt system to communicate on any pins that support said interrupts, but they have a higher processing overhead and often cannot support the same high speeds as the hardware serial. There are different libraries for Software Serial that have different approaches giving different advantages and drawbacks.</p>

<p>To use a software Serial port you will need to make one to be used in your code, which will look something like this, depending on the type name the library you include uses:</p>

<pre><code>SoftwareSerial softSerial( txPinNumber, rxPinNumber);
</code></pre>

<p>So in short, your processor has dedicated hardware for communicating over serial that should be used first, but if you need more ports the processor can simulate some extras which is referred to as "Software Serial". The documentation to your GPRS shield implies that either will work just fine. You should look at the arduino documentation for your board to see how many ports you have and which pins can be used for serial.</p>

<p>The documentation does not imply you will need any special link to your computer outside of the USB connection.</p>
