Computer Architecture, Operating Systems, Hardware, Systems Development.
abstractions and the incredible complexity each of these layers hide. But, while this has helped the industry to innovate with separation-of-concerns being the central theme, many fundamental and remarkable ideas of computer science, electrical engineering and the interplay of these ideas which has