Every journey must have a beginning, and we will start with a brief history of Q# and the design goals of the language. From there, you will see where Q# fits within our existing classical computing infrastructure, and how to get your own development environment setup. With a development setup, we can then take a look at the anatomy of a Q# project including the source files and the project configuration files. Finally, we will explore what it means for Q# to be a _strongly typed_ language, what sort of types are built-in to Q#, and how you can define your own!
In this lesson, we will cover: