hey i want to start learning software engeneering from home but ihave a question should i learn to code first imean learn a language or should i start by the other theorical things (OS's,microprocessors Arch ....)
I think that learning to code could go first.
My reason for it is because coding helps you simplify and image processes more easily with your mind.
thats one of the ideas of programming. C++, C, Java, and everything else are converted to binary in the end, but are more readable to us!
Software engineering is mostly thinking about data and how it should behave and interact with other data. This gives rise to the expression "data driven architecture". Here, the term "architecture" is key. Look at applications as designing and building buildings... (sic). These days, I recommend starting with some modelling tools, such as UML. There are decent free ones available on the internet, and some really good ones that are not overly expensive (Enterprise Architect - about $200 USD for the professional version, and free for trial purposes).