SoCs can perform a wide range of applications: hard-constraint real time applications such as automation control; computationally heavy applications such as machine learning; complex tasks such as running a base Operating Systems (OS), throughputintensive applications such as 4K video compression. The application eras can be extended, as the resources in the SoCs increase and resource types vary. However, the growth of SoCs introduce new problems and design considerations to developers both in the hardware side and the software side. A way for the developer to overcome these problems is to build an adequate engagement with the evolution of the SoCs. Therefore, we are organizing a short school entitled SoC: From Silicon to Applications, where a developer can gain technical information comprehensive enough to efficiently employ SoCs in contemporary design projects. The course program therefore involves SoC fabric, microprocessor and FPGA architectures, VLSI design methodologies, test strategies for complex designs, as well as tutorials on design and test tools.