A Graduate Research Assistantship typically consists of a stipend and a tuition waiver in return for a position as a research assistant for a professor. Masters and PhD students may both apply for graduate research assistantships. Research assistantships are usually offered by individual faculty and may be offered at any time, not just on semester boundaries.
You must already be accepted in departmental PhD or MS program to apply for a teaching assistantship. However, the department may also offer teaching assistantships to highly qualified PhD and MS candidates as part of accepting those students to the program.
To apply for a CS department graduate research assistantship successfully, read the guidance below carefully.
Some other departments also offer graduate assistantships: for example, you might check with department such as Psychology, Computational Sciences, Electrical and Computer Engineering, and the Krasnow Institute, among many others.
Guidance for Getting a Research Assistantship
Never ever spam or otherwise canvas the faculty looking for assistantships: word spreads quickly and it significantly reduces your chances of getting a position, as the faculty intensely dislike it.
By far your best chance for getting an RAship, and partcularly a long-term one, is to identify exactly the professor you would like to do research with, take a class of hers and impress her, and then talk to her about what funding options faculty in that area might be able to offer. Faculty offer research assistanships from the limited funds they receive through research grants. These grants are highly treasured by faculty and they will usually offer assistantship positions only to students with enough research skills in their area, and with whom they are comfortable working as collaborators.