Of late I am getting a lot of questions from people who have done their B. Tech in Electrical Engineering and are interested in doing their M. Tech in Computer Science. I will try to summarize my thought about this through this post, instead of replying to each one separately.
Is this is a good idea?
This is certainly not a bad idea. Whether this is a good idea or not will depend on how good your CS fundamentals are and how prepared are you to compete with CS people on their own turf. I have certainly seen people do this, so this is not so uncommon. A couple of my friends at JCA, IITD were from EE background. They got placed in Oracle (Server Technology). Another friend of mine who was with VDTT is now working at Intel. Have a look at placement record for EET (Computer Technology), IITD.
If you plan to do your M. Tech in CS from an IIT, beware that the structure is very programming intensive. Sometimes even B. Tech CS students struggle to complete the programming assignments. As such, if you are planning such a move, make sure your CS basics and programming skills are very very strong.
What are the options available?
M. Tech eligibility rules are complex, and they vary from institute to institute, department to department. Also, they can change year over year. As I always say, please read the PG brochure of the institute to know about eligibility.
Since I have done my M. Tech from IITD, I will try to give a brief overview of options available in IITD. Rest you will have to figure out from the PG brochures of different institutes.
JCA at IITD: Since JCA is an inter-disciplinary course, it allows people from other branches. Every year at least 3 to 4 students are from EE background. JCA is a good alternative to MCS as most CS companies consider JCA to be at par with MCS. Having said that, the problem with JCA is that it has a different course structure for CS and non-CS students. The courses for non-CS students tends to be a bit lacking and I have seen students struggle a lot. As such, consider this option only if your programming and CS fundamentals are very good (so you don't depend on JCA courses for CS basics), and you can directly take some advanced courses from CS dept. Read more about JCA here
EET (Computer Technology) at IITD: EET is another course run by EE dept that is very CS oriented (Interestingly, EET is older than MCS and also older than the CS dept. at IIT Delhi itself). It has a good course structure. The core courses, though from EE dept. are basic CS courses like OS, Networks, Architecture, Software Labs etc. Program Electives have some very good advanced CS/EE courses, which many will find very interesting like Graphics, Image Processing, Pattern Recognition, Robotics, Network Security, Mobile Computing and many more. Placements wise too, EET is not different from MCS and JCA. Read more about EET here and here
VDTT at IITD: I guess VDTT is the most sought after M. Tech course at IITD, mostly because each student is sponsored by one semi-conductor company during the entire tenure. This course is mostly geared towards VLSI and semi-conductors (as the name suggests) but you will have considerable freedom in choosing courses from CS dept. The program core and electives have ample courses from basic to advanced. If you can get a GATE rank high enough, this is a really good course. Read more about VDTT here and here
There might be other good options available in other IITs, but I am not fully aware of them. Please check the PG brochure of each institute for details.
M. Tech CS after GATE in CS
If you have your GATE in CS, a lot of regular CS programs will allow you to take admission. This way, you can get a degree in M. Tech CS and completely change your profile to CS. Note that though you have your M. Tech in CS, some core companies Amazon, Google, Facebook may still not consider you for placements as they strictly need people with B. Tech in CS. Apart from these few companies, all other companies should be open for you.
A disadvantage I see is that after this you would loose your status as an Electrical Engg. and may not be able to go back to your core. Take this option if you are sure that you only want to be in CS. Also, you will have get a good rank in GATE CS, which could be very tough after doing your B. Tech in EE.