Building A Distributed System: From Theory to Practice

Build Scalable and Resilient Distributed Systems with Go - Practical Training for Software Engineers.

Language: English

Instructors: Farhan Khan

Why this course?

Description

WHEN IT STARTS

  1. 12 weeks course
  2. Starts 15 April, 2023
  3. 9:00 am to 11 am IST on Saturdays and Sundays

WHAT YOU'LL GET

✔ 48+ hours of Live Classes on Weekends IST

✔ Multiple 1:1 Mentorship Sessions

✔ Lifetime access to the cohort recordings in case you are not able to attend online

✔ Lifetime access to the text readings, research paper discussions and labs

✔ Doubt resolution during and post live sessions

Pre-requisites

The course is for engineers who want to further their knowledge in DS, but anyone (including college students can join if you have a CS background)

  • You have at least some coding experience
  • You have completed https://go.dev/tour/
  • You are interested in learning how distributed systems are built
  • Have time over weekends that you can dedicate towards upskilling

Distributed systems are at the core of many modern software applications, enabling developers to build highly scalable, fault-tolerant systems that can handle large volumes of data and traffic. In this course, you will learn how to build and design distributed systems with Go programming language, from the ground up. This course will provide you with practical knowledge and experience to design and implement scalable and reliable distributed systems using Go.

Unlike other courses that only focus on the theory of distributed systems, this course emphasizes practical examples and hands-on coding exercises, allowing you to gain real-world experience with distributed systems. Throughout the course, you will work on a variety of projects, including building raft, map-reduce, sharding, and more, using Go. By the end of this course, you will be able to design, implement, and deploy robust distributed systems using Go programming language.

The course is suitable for software engineers and developers with a solid foundation in programming concepts and Go programming language. You will be required to have prior experience with Go, concurrency, and basic network programming. The course content covers topics such as distributed systems concepts, distributed consensus, fault tolerance, scalability, and more.

You will also have access to a range of practical exercises and coding assignments throughout the course. These assignments will require you to apply the knowledge gained from the lectures to solve real-world problems and build distributed systems using Go. By the end of the course, you will have a solid understanding of distributed systems design and implementation, and be ready to apply these skills to build distributed systems in your own projects.

 

Getting started guide:

  1. Start by familiarizing yourself with Go programming language and basic networking concepts.
  2. Read the content notes to ensure you understand the concepts and theory behind distributed systems design and implementation with Go.
  3. There will be weekly QnA sessions on weekend. 
  4. Complete the practical exercises and coding assignments, which are designed to give you hands-on experience in building distributed systems with Go.
  5. Use the course resources, code examples, and additional reading materials, to reinforce your understanding of distributed systems and Go programming language.
  6. Participate in the course community, including online forums and discussion groups, to connect with other learners and share your experiences.
  7. Apply the skills and knowledge gained from this course to build distributed systems in your own projects, using Go programming language and best practices learned from the course.

Course Curriculum

How to Use

After successful purchase, this item would be added to your courses.You can access your courses in the following ways :

  • From the computer, you can access your courses after successful login
  • For other devices, you can access your library using this web app through browser of your device.