O problema desse código é que o parâmetro que delimita até onde o laço pode ir, o laço tenta acessar uma informação que a Array não possui. Teria que tirar o sinal de igual no parâmetro que delimita o laço, ficando dessa forma:
package br.com.alura.exercicio;
import java.util.ArrayList;
public class TestandoListas2 {
public static void main(String[] args) {
String curso1 = "Java: Orientação a Objetos";
String curso2 = "Javascript: Crinado jogos na WEB";
String curso3 = "Github: Primeiros passos";
ArrayList<String> cursos = new ArrayList<>();
cursos.add(curso1);
cursos.add(curso2);
cursos.add(curso3);
for (int i = 0; i < cursos.size(); i++) {
System.out.println("Aula: " + cursos.get(i));
}
}
}