Should I skip MS in Computer Science and directly opt for PHD? If so, what to expect from a PHD program?
Yes, in the US most students start doctoral studies immediately after a bachelors. Yes, there will be quite a lot of coursework before you get to the dissertation stage. The courses prepare you to pass the qualifying exams and assure that you have a broad grounding in the field.
However, almost all US graduate students work as part of the program, usually as a TA (Teaching Assistant) or RA (Research Assistant). A TA usually does grading and meets with small &quot;sections&quot; of a larger course so that students can get questions answered. An RA works with a professor on research and the tasks depend on what that professor is doing. It might be programming or library research or whatever.
Holding a TA or RA position also means that the student doesn't pay tuition and has enough of a stipend to live (modestly), perhaps even with a family. I had two kids by the time I finished my PhD though my spouse also worked. That would be harder for a foreign student because of visa rules.
You don't need to have a research project in mind to apply for admission, nor do you need to immediately connect with a particular professor. The first year will feel a lot like the final year of undergraduate but with more advanced courses and possibly an introduction to research process.
Apply to several schools, probably in the R1 (Research focused) category. It is best if the general area you want to study within CS is represented there by several faculty so that there is the possibility for a research seminar.
At many such doctoral programs you can be awarded a masters, also, part way through your studies.