I will be taking English classes in the US as F1 student (ESL program). The program is 3 months long and I plan to stay in the US for at least 4 months. Is entering the US on F1 with a one way ticket enough? Is it recommended to also book the return ticket and possibly show it to the immigration officer?
There's no statutory requirement for a round-trip ticket (there is such a requirement for most visa waiver program visitors, but not for people traveling with visas).
The officer may decide to investigate how you plan to leave the country, though. If you have more than enough money in the bank to buy a one-way ticket out, that should be satisfactory in the absence of a ticket, but you may have to prove that. In practice, I don't think they check people's tickets or financial situations that closely in most cases, but it may vary depending on nationality, age, and/or other factors.