HOME > Development > Go- Data Structures, Algorithms and Design Patterns with Go

Go- Data Structures, Algorithms and Design Patterns with Go

  • Development
  • Mar 02, 2025
SynopsisGo: Data Structures, Algorithms and Design Patterns with Go,...
Go- Data Structures, Algorithms and Design Patterns with Go  No.1

Go: Data Structures, Algorithms and Design Patterns with Go, available at $54.99, has an average rating of 3.6, with 60 lectures, 3 quizzes, based on 142 reviews, and has 1187 subscribers.

You will learn about This course is aimed at beginner-level developers in the Go programming language, who would like to learn data structures and algorithms in Golang. This course is ideal for individuals who are Understanding the basics to get started with Golang or Implementing stacks and queues & data structure or Exploring different concurrency models for data processing or Build your own tiny distributed search engine or Encapsulate the creation of complex objects in an idiomatic way in Go or Create unique instances that cannot be duplicated within a program or Understand the importance of object encapsulation to provide clarity and maintainability or Learn most Go primitives and write concurrent apps or Develop some classical design patterns with concurrent structures to maximize parallelism It is particularly useful for Understanding the basics to get started with Golang or Implementing stacks and queues & data structure or Exploring different concurrency models for data processing or Build your own tiny distributed search engine or Encapsulate the creation of complex objects in an idiomatic way in Go or Create unique instances that cannot be duplicated within a program or Understand the importance of object encapsulation to provide clarity and maintainability or Learn most Go primitives and write concurrent apps or Develop some classical design patterns with concurrent structures to maximize parallelism.

Enroll now: Go: Data Structures, Algorithms and Design Patterns with Go

Summary

Title: Go: Data Structures, Algorithms and Design Patterns with Go

Price: $54.99

Average Rating: 3.6

Number of Lectures: 60

Number of Quizzes: 3

Number of Published Lectures: 60

Number of Published Quizzes: 3

Number of Curriculum Items: 63

Number of Published Curriculum Objects: 63

Original Price: $199.99

Quality Status: approved

Status: Live

What You Will Learn

  • This course is aimed at beginner-level developers in the Go programming language, who would like to learn data structures and algorithms in Golang.
  • Who Should Attend

  • Understanding the basics to get started with Golang
  • Implementing stacks and queues & data structure
  • Exploring different concurrency models for data processing
  • Build your own tiny distributed search engine
  • Encapsulate the creation of complex objects in an idiomatic way in Go
  • Create unique instances that cannot be duplicated within a program
  • Understand the importance of object encapsulation to provide clarity and maintainability
  • Learn most Go primitives and write concurrent apps
  • Develop some classical design patterns with concurrent structures to maximize parallelism
  • Target Audiences

  • Understanding the basics to get started with Golang
  • Implementing stacks and queues & data structure
  • Exploring different concurrency models for data processing
  • Build your own tiny distributed search engine
  • Encapsulate the creation of complex objects in an idiomatic way in Go
  • Create unique instances that cannot be duplicated within a program
  • Understand the importance of object encapsulation to provide clarity and maintainability
  • Learn most Go primitives and write concurrent apps
  • Develop some classical design patterns with concurrent structures to maximize parallelism
  • Go is a multi-paradigm programming language that has built-in facilities to create concurrent applications. Design Patterns will provide readers with a reference point to software design patterns and CSP concurrency design patterns to help them build applications in a more idiomatic, robust, and convenient way in Go.

    With this hands-on, practical course, you’ll first have a deep dive into understanding the basic data types, structures, linked lists and doubly linked lists in Go. Then, you will learn about graph algorithms such as binary & trees. You will then learn about CSP concurrency patterns used to maintain thousands of servers. Moving further, you will also gain advanced knowledge about classic design patterns to build concise, readable, and maintainable applications & software.

    Finally, you will learn concurrent structures and parallel execution which helps you improve your concepts of Go Concurrency to write concurrent apps & develop some classical design patterns with concurrent structures to maximize parallelism.

    Contents and Overview

    This training program includes 2 complete courses, carefully chosen to give you the most comprehensive training possible.

    The first course, Learning Go Data Structures, and Algorithms will begin by understanding the basic Data types and Structures in Go. Moving forward, you will learn the power of linked lists and doubly linked lists in Go and then learn to implement linear data structures such as stacks and queues. Also, implement binary searches and trees and will explore sorting algorithms in detail. From here, you will learn about graph algorithms and also be introduced to some common data structures used while working with strings. You will learn common techniques and structures used in tasks such as preprocessing, modelling, and transforming data. By the end of this course, you would have mastered functional and reactive implementations of traditional data structures in an easy and efficient manner

    The second course, Introduction to Go Classical Patternsstarts with a brief introduction to Go programming essentials and quickly moves on to explain the idea behind the creation of design patterns and how they appeared in the 90’s as a common “language” between developers to solve common tasks in object-oriented programming languages. You will then learn how to apply the 23 Gang of Four (GoF) design patterns in Go and also learn about CSP concurrency patterns, the “killer feature” in Go that has helped Google develop software to maintain thousands of servers. With all of this, the book will enable you to understand and apply design patterns in an idiomatic way that will produce concise, readable, and maintainable software.

    The third course, Go Behavioural Patternswill take you to an advanced level of knowledge about classic design patterns but, as you will see, the design patterns covered here are quite different, partly because of the lack of inheritance in Go, but also because we have different and more optimal ways to solve the same problems. With all this, the course will enable you to understand and apply design patterns in an idiomatic way that will produce concise, readable, and maintainable software.

    The fourth course, Go Concurrencyis on learning about concurrent structures and parallel execution. You will use the majority of Go primitives to write concurrent apps, and we will develop some classical design patterns with concurrent structures to maximize parallelism. Also, you will learn some typical structures with which to develop concurrent apps in Go. You will learn how a classical pattern can become more complex if you need it to work in a concurrent way; however, the idea is to understand Go concurrent primitives so that you know how to write your own concurrent design patterns by using the knowledge taken from the course.

    About the Authors:????

    Gustavo is an experienced software developer and has been writing code since the beginning of the century. He has vast experience working with different languages, including Erlang, JavaScript, and C but with a major interest in Go. He is currently a Technical Leader of a Golang team that builds distributed systems. When he is not coding, you can find him cycling, rock-climbing, and playing guitar in his free time.

    Mario Castro Contreras is a software engineer who has specialized in distributed systems and big data solutions. He works as a site reliability engineer, and now he is focused on containerized solutions and apps using most of the Google Cloud suite, especially, Kubernetes. He has wide experience in systems and solutions integration, and he has written many scalable and reliable 12-factor apps using Go and Docker. He has designed big data architectures for financial services and the media, and he has written data processing pipelines using event-driven architectures entirely in Go. He is also very active in the open source community, and you can find him on his GitHub account with the username sayden. In the past, he has also written mobile applications and backends in Java. Mario is passionate about programming languages, and he finds the best balance between fun and productivity in Go; however, recently he enjoys writing in Rust and embedded systems in C. He is also passionate about road cycling and winter sports.

    Course Curriculum

    Chapter 1: Learning Go Data Structures and Algorithms

    Lecture 1: The Course Overview

    Lecture 2: Basics of Go

    Lecture 3: Writing a Hello World Program

    Lecture 4: Variables and Elementary Types

    Lecture 5: Applying Functions

    Lecture 6: Forming Control Structures

    Lecture 7: Data Structures – Array, Slices, and Maps

    Lecture 8: Structs and Methods

    Lecture 9: Error Handling

    Lecture 10: Single and Double Linked Lists

    Lecture 11: Implementing Stacks

    Lecture 12: Implementing Queue (Alternative Channel Implementation)

    Lecture 13: Binary Search and Trees

    Lecture 14: Generating Channels

    Lecture 15: Multiplex and Demultiplex with Fan In/Out

    Lecture 16: Implementing Worker Pools

    Lecture 17: Building a (Tiny) Distributed Search Engine

    Chapter 2: Introduction to Go Classical Patterns

    Lecture 1: The Course Overview

    Lecture 2: Installing Go

    Lecture 3: Starting with Hello World

    Lecture 4: Flow Control

    Lecture 5: Functions

    Lecture 6: Arrays, Slices, and Maps

    Lecture 7: Pointers, Structures, and Interfaces

    Lecture 8: Testing and TDD

    Lecture 9: Libraries

    Lecture 10: Go Tools

    Lecture 11: Singleton Design Pattern

    Lecture 12: Builder Design Pattern

    Lecture 13: Factory Method

    Lecture 14: Abstract Factory

    Lecture 15: Prototype Design Pattern

    Lecture 16: Composite Design Pattern

    Lecture 17: Adapter Design Pattern

    Lecture 18: Bridge Design Pettern

    Lecture 19: Proxy Design Pattern

    Lecture 20: Decorator Design Pattern

    Lecture 21: Facade Design Pattern

    Lecture 22: Flyweight Design Pattern

    Chapter 3: Go Behavioral Patterns

    Lecture 1: The Course Overview

    Lecture 2: Strategy Design Pattern

    Lecture 3: Chain of Responsibility Pattern

    Lecture 4: Command Design Pattern

    Lecture 5: Template Design Pattern

    Lecture 6: Memento Design Pattern

    Lecture 7: Interpreter Design Pattern

    Lecture 8: Visitor Design Pattern

    Lecture 9: State Design Pattern

    Lecture 10: Mediator Design Pattern

    Lecture 11: Observer Design Pattern

    Chapter 4: Go Concurrency

    Lecture 1: The Course Overview

    Lecture 2: Defining Concurrency

    Lecture 3: Goroutines

    Lecture 4: Callbacks

    Lecture 5: Mutexes

    Lecture 6: Channels

    Lecture 7: Using It all – Concurrent Singleton

    Lecture 8: Barrier Concurrency Pattern

    Lecture 9: Future Design Pattern

    Lecture 10: Pipeline Design Pattern

    Instructors

  • Go- Data Structures, Algorithms and Design Patterns with Go  No.2
    Packt Publishing
    Tech Knowledge in Motion
  • Rating Distribution

  • 1 stars: 15 votes
  • 2 stars: 7 votes
  • 3 stars: 22 votes
  • 4 stars: 48 votes
  • 5 stars: 50 votes
  • Frequently Asked Questions

    How long do I have access to the course materials?

    You can view and review the lecture materials indefinitely, like an on-demand channel.

    Can I take my courses with me wherever I go?

    Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don’t have an internet connection, some instructors also let their students download course lectures. That’s up to the instructor though, so make sure you get on their good side!