Hello. I'm new in this forum. I'm spanish so my English is not very good. My name is William and I'm 17 years old. I have been studying computer science since 2-3 years ago. I have learnt web programming (PHP, MySQL, JS, Wordpress, HTML, CSS, Jquery...) and now I'm trying to learn other things. I have done some video courses about computer networking (things like TCP/IP and OSI models, types of IPs, VPN and all that stuff). After that I have done courses about C. Now I'm finishing a book called C Notes for Professionals (a open source book). I think that knowing C I can go up in the hierarchy learning things like C++ and using C inside for creating applications for users. I can also go deeper and start learning Assembly lenguage, the structure of the CPU...

May you help me decide? If I wanted to learn how C is read by the computer and learn more deep about PCs, should I read first about Assembly lenguage, the structure of computers or about the operating systems? What order and which route should I go?

I mean: finishing my C book, and if I wanted to go deeper, should I learn what first: Assembly? Operating Systems? Computer architecture? What route should I follow?

Thanks for the help and sorry for my English