Go: Data Structures, Algorithms and Design Patterns with Go
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
-
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!
You may also like
- Top 10 Video Editing Courses to Learn in November 2024
- Top 10 Music Production Courses to Learn in November 2024
- Top 10 Animation Courses to Learn in November 2024
- Top 10 Digital Illustration Courses to Learn in November 2024
- Top 10 Renewable Energy Courses to Learn in November 2024
- Top 10 Sustainable Living Courses to Learn in November 2024
- Top 10 Ethical AI Courses to Learn in November 2024
- Top 10 Cybersecurity Fundamentals Courses to Learn in November 2024
- Top 10 Smart Home Technology Courses to Learn in November 2024
- Top 10 Holistic Health Courses to Learn in November 2024
- Top 10 Nutrition And Diet Planning Courses to Learn in November 2024
- Top 10 Yoga Instruction Courses to Learn in November 2024
- Top 10 Stress Management Courses to Learn in November 2024
- Top 10 Mindfulness Meditation Courses to Learn in November 2024
- Top 10 Life Coaching Courses to Learn in November 2024
- Top 10 Career Development Courses to Learn in November 2024
- Top 10 Relationship Building Courses to Learn in November 2024
- Top 10 Parenting Skills Courses to Learn in November 2024
- Top 10 Home Improvement Courses to Learn in November 2024
- Top 10 Gardening Courses to Learn in November 2024