Help with a program capable of producing two pulses lasting 1 second each

Dude, show us what you got, AND tell us what are you really trying to do!

Like Nick suggested, this sounds like some lame school assignment to me. I'm not trying to dismiss what the others said (or your teacher ... well, maybe a bit), but just go ahead and use the 'evil' delay() function if this is really what you want. Like this:

// Demonstrates several digital pin functions
boolean lastToggleState;

void setup() {
  pinMode(13, OUTPUT); // the builtin LED
  pinMode(12, OUTPUT); // pin12 -- led -- 330 ohm resistor -- GND
  pinMode(2, INPUT_PULLUP); // pin2 -- switch -- GND

  lastToggleState = digitalRead(2);
}

void loop() {
  if (digitalRead(2) != lastToggleState) {
    digitalWrite(12, HIGH);  // turn the LED 12 on
    delay(1000);             // wait a sec
    digitalWrite(12, LOW);   // turn the LED 12 off
    delay(1000);             // wait a sec
    digitalWrite(12, HIGH);  // turn the LED 12 on
    delay(1000);             // wait a sec
    digitalWrite(12, LOW);   // turn the LED 12 off
    delay(1000);             // wait a sec
    digitalWrite(13, HIGH);  // turn the LED 13 on
    delay(1000);             // wait a sec
    digitalWrite(13, LOW);   // turn the LED 13 off
    lastToggleState = digitalRead(2);
  }
}

See - it does what you said. But you may notice the switch is inactive for 5 seconds at a time - thanks delay.

Now you need to start thinking about what your program is doing. If that's not happening, look into an easier major.