Hi David:
It's great that you're trying to learn, but there's not much general purpose programming that can be learned in one day outside "how to do this one specific thing and never change it."
Have you considered using something like a Click PLC that can be programmed using ladder logic? PLCs were pretty much purpose designed for the kind of task that you're doing.
Alternately, there are some Arduino projects that do the same thing (ladder logic programming) but I don't have experience with them.
I'm not trying to be discouraging: if you want some pointers on what you're doing, we'd all be happy to help. But I feel that I should emphasize that learning to write useful programs isn't something that most people pick up quickly.
e.g., the sequence (not actual code) that you're programming goes something like
Wait for button press
Solenoid 1 on
delay(solenoid1 on time time);
Solenoid 1 off
delay(solenoid 2 time);
Solenoid 2 on
delay(solenoid 3 time)
Solenoid 3 on
delay(solenoid 3 on time)
Solenoid 3 off
You never mentioned when solenoid 2 goes off, BTW. There are better, general purpose ways of writing a sequence like this but the above is probably the simplest pattern to understand.
For actual code with a solenoid connected to a driver on pin 2 (you do have solenoid drivers connected, right?), and your pushbutton on pin 3 connected between pin 3 and GND, code might look like this to extend a solenoid for 4 seconds then retract:
void setup()
{
pinMode(3, INPUT_PULLUP);
pinMode(2, OUTPUT);
digitalWrite(2, LOW);
}
void loop()
{
while(digitalRead(3) == HIGH);
digitalWrite(2, HIGH);
delay(4000);
digitalWrite(2, LOW);
}