This survey course reviews the architectures, designs, and implementations of spacecraft flight software systems. The course provides an overview of typical command and data handling software functions and the open-source tools, frameworks, and applications that can implement them. A semester-long programming assignment is provided to build a working flight software system. Special topics include application to resource-constrained Internet-of-Things (IoT) devices, spacecraft security, and space-based networking. Flight software encompasses the complete set of computer instructions running on every processor on a spacecraft.

Course prerequisite(s): 

Completion of 675.600 Systems Engineering for Space and 675.601 Fundamentals of Engineering Space Systems I, experience programming in C, or with approval of the instructor.

Course instructor(s) :