  This chapter seeks to support software engineering (SE) researchers and
educators in teaching the importance of theory as well as the theorizing
process. Drawing on insights from other fields, the chapter presents 12
intermediate products of theorizing and what they mean in an SE context. These
intermediate products serve different roles: some are theory products to frame
research studies, some are theory generators, and others are components of
theory. Whereas the SE domain doesn't have many theories of its own, these
intermediate products of theorizing can be found widely. The chapter aims to
help readers to recognize these intermediate products, their role, and how they
can help in the theorizing process within SE research. To illustrate their
utility, the chapter then applies the set of intermediate theorizing products
to the software architecture research field. The chapter ends with a suggested
structure for a 12-week course on theorizing in SE which can be readily adapted
by educators.
