Hi,
At this point of time, if you are considering a course at undergraduate level, it is best to consider Computer Science Engineering. The reasons for the same will be that it includes all the aspects related to computers. After pursuing B.Tech in Computer science Engineering, you can opt for all the options you mentioned here. You can go for data science, Artificial intelligence and many other options too as this one course has a lot of potential and is a basic for all the technologies that are currently in use and the ones that will be there in the future too.
I hope this helped you.
Regular exam updates, QnA, Predictors, College Applications & E-books now on your Mobile