Here is is a playlist of Computer Organisation for Computer. Science engineering containing 8 short videos by Ravindrababu Ravula.
Why is computer organisation thaught to CSE students?
Its the most dry subject you have ever come across. Its very very painful to read. Your teacher has never explained it properly (even she didn't understand it completely). You are feeling like a torture to read this subject because there is no logic in it like GT or no programming like in Unix. Its just plain theory.
I am right so far because I have asked these questions to myself 5 years back.
But now I know why CO is so important.
Its useful for people who go for Masters or PhD in computers.
Its useful for students who go for research in computers.
Its useful for people who work in Software architecture.
The whole point of putting this subject is to familiarize students with various concepts of computer and then students can decide what they want to specialize in.
computer organization tells you how different components are interconnected , how they work , it means the complete physical aspects of computer, so in order to make computer more powerful we need to find better circuit design , fast memory types , better interconnection between components , and all this need the study in deep of computer organization.
Computer architecture : It is logical view of computer to the end user, it includes the microprocessor instruction sets , the instruction format , addressing modes , the physical addresses , whenever we compile a code it is converted into machine code and that machine code based on the computer architecture, so in order to develop a new language we need to know the computer architecture .
Theory of computation and compiler : it tells us that given problem can be solved or not if yes then which algorithm solve it efficiently. It is the core of grammar design for any programming language, and compiler uses TOC in its different phases like DFA, PDA etc.
As long as you are designing application software you don't need to study these subjects , but for designing system software you have to study them in deep.