Well, this is my first answer over here and, also, I am less experienced than you. So,consider it an answer of novice, which may be irrelevant for you or others. But, I'll try to preserve the worth of question with my answer!
Well, first of all let's discuss(only outline) the domain of computer science,or the life-cycle of one involved in learning CS. Probably, I might be missing some of them. Also, there may be ambiguity about their positioning. But,it goes as :-
- Computer Fundamentals(General Working of computers) and introduction to computers
- Programming language and its use to solve real life problems using the help of computers
- Variations of programming language(functional,object-oriented,procedural) and its different principles
- Data Structures and Algorithms // one of the most important part and the backbone of CS
- Foundations of Computer Systems---Discrete Mathematics,some portion of Digital Electronics
- Software Engineering // again one of the most important part and the backbone of CS
- Operating System --- my favourite subject in CS branch, and also the most-important, core branch of CS,the whole of CS runs on this, at least.You need a machine to execute things, based even on modelling
- Computer Architecture --- it's again one of the important subjects to know the basic functioning of working of computers
- Databases are worth every acknowledgement! Excellent discovery.
- Computer Networks --- a very beautiful section of CS which is related to networks(real-life connections)
- Theory of Computation, Automata, Compilers --- my 2nd favourite subject, all in one section describing state changes and language formation and operation.
- Data Mining & Machine Learning --- The most progressive field of Computer Science nowadays and in fact really one of the most informative
- Artificial Intelligence & Neural Networks & Fuzzy Logics --- not to say anything,the best real-life simulation
Now, returning to the question. I think you must give every section a
chance to go deep and try to find your interested field. It takes a
person a few years to decide which field is best fit for him/her.
You should not directly
jump to any field which involves only programming section!!!
Programming Languages are not "that" worth what they are framed as, the most
important part is the basic modelling, functioning and generation of
ideas and new theories which enhances CS field. So, as per me you
should give each field a try at once, say for a week and see of you're
really getting attracted to them the most! This will first give you
the subject to carry away with!
Now,coming to the online resources.There are plenty to look at.You'll find nowadays lots of tutorials,videos and lectures being available on the internet.But,the most sought out ones with brilliant showpiece are :-
- www.coursera.org
- www.nptel.ac.in
- www.khanacademy.org
and so on.
Try to use these more frequent for learning CS basics.Apart from these,you always have search engines a click away to help you provide the topic you are facing difficulty with.