An event where subject-matter experts come together to work intensively over a discrete period of time on a given problem or opportunity, with the purpose of creating a usable solution or product.

This method is typically used in computer programming and software development settings but can also be applied to help solve complex social challenges.