Niklaus Emil Wirth introduced the innovative idea that Programming = Algorithm + Data Structure. Inspired by this, we advance the concept to the next level by stating that Design = Algorithm + Architecture. With the concurrent exploration of algorithm and architecture entitled Algorithm/Architecture Co-exploration (AAC), this methodology introduces a leading paradigm shift in advanced system design from System-on-a-Chip to Cloud and Edge.
As algorithms with high accuracy become exceedingly more complex and Edge/IoT generated data becomes increasingly bigger, flexible parallel/reconfigurable processing is crucial in the design of efficient signal processing systems having low power. Hence the analysis of algorithms and data for potential computing in parallel, efficient data storage, and data transfer is crucial. With the extension of AAC for SoC system designs to even more versatile platforms based on analytics architecture, system scope is readily extensible to the cognitive cloud and reconfigurable edge computing for multimedia and mobile health, a cross-level-of abstraction topic which will be introduced in this tutorial together with case studies.