As per the site rule, I declare that I am not an English teacher by profession. I'm an IT professional from New York, but teach a lot - my students are my juniors, ie IT professionals from Philippines, India, Vietnam and China.
First of all, drunk man and drunkard are different. Drunk man is a person who is overcome by alcoholic liquor. It is a temporary situation. For example, in New York during New Year I get drunk, and I become a drunk woman! However, I am not a drunkard. I drink only socially - I don't buy and drink! But drunkard is a person who often gets drunk. He must be paying his money as well as others' money to buy drinks. He gets inebriated.
(Example: "I don't like to take the bus at night. It is full of drunks and crazy people", and "Unfortunately Mary had married an incurable drunkard.")
As a software engineer, who faces challenges of communication every day I have few suggestions to make. This is from a professional's point of view and a teacher's point of view. In industry, you can win over people only by bombarding ideas. No English lesson teaches you this. What we need is content based instruction and theme-based learning. According to European commission, it is the only way to acquire language skills - all other methods are just waste of time and money. I recommend you to search for products like Smart English through Technology and Science (which we regularly use in our company), Smart English through Success Secrets or Smart Communication through Management Ideas, Smart Communication through Wit & Wisdom, etc. (Sorry. I forgot the publishers' name). However, content-based instruction helps you become articulate and effective.