In the university that I am working they have decided to participate in the ACM regionals for the first time, they would like to appoint me like a coach. I have never been into that situation before and have not found so much information about it, so what is the real work of a coach in those contests? Sometimes I have found experienced programmers like coaches, but others are just people with no so good programming skills; so what is all about?
At my alma mater we distinguished between organisers and coaches for the ACM contests. Organisers could easily be non-programmers and were responsible for communication with ACM /on-site organizers, team registration, travel bookings, etc.
Our coach(es), however, were usually recruited from past team members who were no longer eligible to compete themselves. They had a) strong algorithmic skills and b) experience with the contest minutiae. Their responsibilities included the following:
Basically, our coach was accompanying newcomers into the world of algorithms, then showing them how a real contest is run, supported them in gaining more experience, and finally helped them form a real team that was able to compete at a high-level (most years we won the regional contest and often had 3 of our teams in the top 10).
That being said, contest rules have changed all the time and maybe there's now something like an on-site coach during regional. In that case, note that the above considers a coach as being located at your university and there was no need for a coach to be present during the regionals (sometimes they came along, sometimes they didn't).