There are a number of things that I need you to supply to me when you request that I send a letter of recommendation on your behalf.
Initial requests for a letter of recommendation should be made at least a month ahead of the first due date. It takes some time to craft a good letter of recommendation, often they come during a busy portion of the semester, and other students are often requesting letters at the same time. With less lead time, you run the risk that my letter might not be ready by the deadline.
However, after the initial letter has been written, it is much easier to fulfill subsequent requests. I only request a week of lead time for these and students should never feel guilty that they are submitting additional applications.
Note: this does not need to be completely polished, but should be up-to-date. You might want to add in things for me that might be useful describing your involvement in CS. (E.g., when you were a TA and for which CS class, which programming contest you participated in, were on CSMC, designed a t-shirt, relevant ExCos, etc.)
While we may have discussed your extracurriculars (activities, jobs, etc.) and I might have even employed you as a grader/lab TA, I do get fuzzy on the details (how many semesters and when were they?), and when in doubt I will leave things out of my letter.
Most applications require you write one or more essays as part of your application. Having a copy of these, even if they are in a draft or outline state, are very useful. I like to be able to make the pieces of my letter fit together with the overall message you are making by reinforcing things in your statement and also emphasizing things that I believe are important for the reader to know, but might have been only briefly mentioned.
You should list the date each letter is due and how it is to be submitted. For example, grad school applications might be broken down into the following categories:
Giving me a list that is broken down into these categories with each school grouped under the appropriate heading gives me a list to check things against and also will let me know if I need to check my SPAM folder for email notifications that might have been incorrectly identified.
Sorting each group by due date with the nearest ones at the top will ensure that they get handled in the correct order.
I will contact you when I've submitted the letter of recommendation for you. If you haven't heard anything and the deadline is approaching, feel free to check in with me to be sure I'm not missing anything or that I've forgotten. I'm usually pretty organized, but sometimes things do fall through the cracks.
Have someone look over your application materials before you submit them. Most faculty would be happy to look over things like your essay or resume and offer advice about how you might improve them. We've seen many of these over time, and having outside ideas often helps you craft a better statement.
To make a strong positive recommendation, I need to know who you are and what your goals are. Just coming to class and getting an A is nice, but it doesn't give me much more to say other than comment on your academic ability in that class. There are many ways to become more involved: ask questions in class, come to office hours, participate on the contest teams, become a lab TA, advising sessions, the dining hall's FAST program, etc.