Networks are what make almost all modern programming possible, so the ability to understand how networking works is a big deal. Gaining that understanding is a delightful and daunting task – important and worthwhile, but also a challenge.
That’s because dealing with asynchronous information coming from multiple sources over a network can overwhelm the mental model of programmers attempting to handle disparate information sources. This can manifest in a variety of ways, including in intractable code that becomes impossible to understand and maintain.
Enter our Networking + Reactive Programming course, where you’ll be introduced to the concept of reactive programming. This programming paradigm helps you handle and master the fact that all things are asynchronous. During the course, you’ll design and implement complex network architectures to support running complex software applications in a secure environment, build a network server to properly handle multiple requests, and use reactive programming techniques in the front-end to marshal incoming and outgoing events for near real-time applications.
More on how these two subjects fit together
A network connection is a publisher and consumer of events for software. Handling those events in a scalable and maintainable way requires different programming patterns than traditional software uses. Reactive programming is a set of patterns and practices that will allow you to write better network-connected software through industry-tested and hardened architectures.
Is this the type of networking involved at my job?
Yes! During this course, what you'll learn about networking will be applicable to any job. You’ll have the opportunity to dive into the TCP/IP stack to understand how each layer in the stack interacts with the other ones to provide reliable connections between computers to support higher-level protocols. You’ll also dive into application-level protocols like DNS, HTTP, ICMP, and the use of cryptography to secure those protocols. Finally, you’ll get a chance to write a low-level network server, because a thorough understanding of network sockets will make you a better programmer.
Interested in learning more about this course? Visit the course page for information about upcoming course dates, instructors, projects, prerequisites, and more.