Hello. This is a quick overview of what we want to learn in this course, Design of Mission-Critical Applications and Systems, which really expands the use of real-time theory for real-time embedded system design. It's important to note that this is a third course in an intended series of four courses. You might be jumping in at different points in this series. The recommended approach is to come in to the first course, real-time embedded system concepts and Practices, then take Real-time Embedded Systems Theory and Analysis, and then start this course, the one I'm talking about now, Mission-Critical Design. Finally, cap it all off with a project which is the final course in the series. However, if you're joining us here in this third course, just think about and take a very good look at the detailed prior knowledge assumptions for this course to determine whether you should go back and first complete these preliminary courses before jumping into this. The main thing about this course is that, it assumes at least in the intermediate knowledge of C and C++ that you already know rate monotonic analysis, and that you're familiar with POSIX real-time extensions to operating systems like Linux, real-time operating systems in general, and synchronic executives. So if that's not true, you may need to go back and take the intermediate level courses before jumping into this more advanced course. This course takes a look at the resource space of real-time embedded systems namely: from a software-hardware interface view, in sense of the CPU or processing resources, memory, I/O, and power to a lesser extent, but to some degree. The course spends a fair amount of time on embedded I/0. So scaling embedded systems with Bus and Network methods. Device interfaces and drivers specifically oriented toward Linux, but also with discussion of real time operating system device interfaces. Profiling and tracing methods to determine how software is executing on your embedded system where you're spending your time, how long things are taking, the latency of specific operations, and whether you're CPU bound, I/O bound, memory bound. Embedded memory, we spend quite a bit of time on that in this course. So shared memory multi-service real-time systems are revisited if you already took the Real-time Embedded Systems Theory and Analysis course. But we look specifically at making use of message queues and ring buffers, which are critical in the final advanced course, the project course, as well as methods to avoid prior to inversion with Linux or alternatively patching Linux, so it has priority inheritance protocol and/or priority ceiling protocol, the use of RAM disks. Single error correction, double error detection, memory protection, so specifically hamming code and error correction code, RAM interfaces. Persistent memory, Nand flash devices and solid state disk. The concepts of write amplification and wear leveling for Nand flash and simple software RAID systems that might be used for embedded systems. The idea here in the embedded I/0 and the embedded memory coverage is to get to a point where we can now look at processing I/O and memory as a system, and now try to design that system so it meets mission critical requirements. In other words, it has no single point of failure, and it either recovers from any component or subsystem failure, or fails in a safe way. So we continue with design for high availability and design for high reliability, and how to combine both of those design goals together. Finally, we look at example designs. These are also found in my textbook on Real-time Embedded Components and Systems. But we'll look at them and just walk through them as examples so that you can understand how to use standard methods of diagramming and really just how software, firmware, hardware design can be used with rate monotonic analysis to design real-time embedded systems. This is a great point to get to in order to start the real-time embedded systems project, where you can do either a standard challenge project that we have for you or potentially a creative project. Although, for Coursera, I specifically recommend the standard project given the format of online learning. Thank you very much.