Does in CS possible jump Bachelor -> PhD?

I know that normal sequence is Bachelor → Master → PhD. But does it possible to jump over?
And one more question. As I know for Master program normal duration is 2 years. What about PhD program? Does it have some normal duration or that is very individual?

Most going into a paid PhD program go right from BS/BA. PhD is usually five to seven years. If you don’t finish you typically exit with a Masters.

Actually, in the US, generally, you apply to PhD programs while in undergrad. If you get in, it takes 6 years to pick up a Master’s and then get a PhD. All of that is funded at any decent American CS PhD progeam.
You may have to pass quals.

If you don’t get in to a PhD program, there are various Master’s programs, some that are designed to end with a Master’s (professional Master’s) and some to prepare you for a PhD.

Europe is different.

BTW, you and your son should be able to find all this information online pretty easily.

I’m not sure I’d say that is generally true in the US. I think a more accurate statement is that it is common to go direct to PhD after a BS in the US, but plenty also get an MS first. It varies quite a bit by school as well.

Also, some PhD programs will allow you to pickup a MA/MS on the way, just by filing some paperwork and paying a ‘grad’ fee. I know my D’s Uni does that, but few in the PhD program take them up on it since the PhD is their planned terminal degree.

Does three years gap after undergraduate study create problem for admission to Top US CS master and PhD programs?
Because one of options for my son is Singapore NTU. It very strong in CS and must be cheaper than US universities. But their compulsory condition is to work 3 years in Singapore after graduation. Will be possible after such study break to continue then in USA?
Question only about TOP 20 US programs. I understand that somewhere somehow he can find abilities