I will try to answer the question the best I can. However, while I do hiring for a lot of companies I my self am not deaf, nor have I ever interviewed a deaf person.
So, the software industry is a lot more about "who you know" then what you know at the entry level. Your trying to prove that you can be a good member of a development team. That's the larger goal, and the important question that the interviewer is trying to asses. Unfortunately, your CS degree does not prove that. I know I will get comments and down votes for saying this, but I can not stress enough that while a CS degree may get your resume past the "HR Front desk" it's pointless when it comes to "the big question." The single most important question when hiring a junior dev is:
Will this person suck so bad that it's not worth investing the time and money to train them into a productive team member?
The CS degree means (to me) that you at least know "some" basics of programming, though probably not as much as you think you do. That's a good thing. Now that's only a part. It's also can this person be a good team member? Can they accept that they need to learn more? Can they accept that the world is not a lab or class room? Can they stand up for their (coding) beliefs and fight for them? Can they learn when to fight, and when to "shut up and write code"?
Now I went though all of that for a reason. In your post you state that you have a CS degree like it's a qualification for a programming job. It's not, and it's important to know that. It's a part, yes, but it's not the whole package. I would suggest your "winning" that part of the process as your getting interviews. You are using your CS degree to it's fullest extent by getting your foot in the door. That's all it's going to do for you.
Next you need to "win" the "I can and want to learn" portion. Let's assume your doing that as well (so we can get to the meat of your question).
Finally your need to "win" the "I can be a team player" portion of the question. Well this is where your probably having a problem because your deaf. It's silly. I spend very little of my time "talking" to anyone and most every thing is done via email/IM/Websites, but I imagen this is where the difficulty lies.
When your asked something like "How will you communicate effectively with your teammates?" Your already in a loosing position. The interviewer thinks that you can not communicate with your teammates. You need to prove them wrong. Don't just list services. That's the nail in your coffin. Give specific examples of how you would use that service to communicate. Even non-deaf people can't get away with "I use skype" as an answer once this question has been asked. Instead try something more example based. I.e.
The ticketing system, chat tools, and email are how I would do a lot of my communication. Of course those don't require you to hear a thing. I just put my phone on vibrate and know when I have a new message. If I'm at my computer then there's a flashing message. Again, not much different then the rest of the team. Of course that leaves us with video calls and phone calls. Video calls (adjust this as needed) usually work fine, and I can read lips, just like in person. Phone calls are trickier, I would use a relay service that sends me text of what is being said. Then I type back to them and they speak it for me. I can also use a service like that on video calls if needed. The end result is this; Yes I would try to steer clear of video calls and phone calls if I could and instead do everything in chat, email, or tickets. But while a lot of people have to train them selves to communicate well using those tools, I naturally use them quite well as that's how I prefer to communicate when not in person.
As to when to go into the fact your deaf, I would say, try to sneak it into the resume somehow if you can. Were you a member of and groups and teams that you can list that would hint at it. Your not trying to make it big bold and center, your just trying to show it, without actually stating it. For example "leader of Universities Hearing impaired chess club" or some such thing (I know it's a horrid example but I can't think of a good one).
If that doesn't work, then I would make it a plain statement up front. NOT ANGRY or entitled. Just a plain, normal, statement, the same way you would say "I can't do the interview at 2 pm." For example: "A phone interview at 3 will be fine, but I will need to use TTD services. Will that be a problem?" Again the idea is to get it out there, early to avoid wasting time with some interviewer that is going to unfairly penalize you and make this a larger issue then it needs to be, while at the same time showing that you have workarounds in place and that they work well.
You also need to consider that a specific environment may not work well for you. If your trying to join a 5 man team that spend 90% of their time on the phone and in video chat, that's going to suck for you. Make it an interview question. Same as you would travel or vacation time. Again plan and forward but not aggressive: "I'm deaf, I can use phones and video chats but obviously it's a bit more complicated for me then chats, emails, and tickets. How much time do your team members spend on voice and video calls." Remember, not only do you have to be a good fit for them, they need to be a good fit for you.