## Training Classes *Note: This material has been designed to be taught in a classroom environment. The code is well commented but missing some of the contextual concepts and ideas that will be covered in class.* ### Ultimate Go This class teaches how to write better, more idiomatic and performant code in Go with a focus on micro-level engineering decisions At the very beginning of class, the instructor will focus on Go internals that are critical to understanding the core tradeoffs the language makes on readability, simplicity and performance. The class builds layers of foundational knowledge that will give you a deeper understanding into data semantics, decoupling, concurrency and tooling. Perfect for developers just starting out or developers with years of Go experience. Everyone will be writing better code after this class. [Ultimate Go](courses/go/README.md) ### Ultimate Service This class teaches how to build production-level services in Go with a focus on macro-level engineering decisions. From the beginning you will pair program with the instructor, walking through the design philosophies and guidelines used to engineer the code. With each new feature, you will learn more about the transition from programming to engineering and the points of refactoring required to write production level applications. Throughout the class, Go modules and Kubernetes will be a focus. Everyone will be making better engineering decisions after this class. [Service Starter Kit](https://github.com/ardanlabs/service) ### Ultimate AI / Machine Learning This is material for any Go developer, data scientist, analyst, or statistician who wishes to learn how to build robust machine learning applications in Go. This class provides an intensive, comprehensive and idiomatic view on training, utilizing, evaluating, and deploying machine learning models using Go. We believe this class is perfect for anyone wishing to build data-driven applications that produce valuable insights, have reproducible behavior, and can be deployed within modern architectures. [Ultimate AI / Machine Learning](https://github.com/ardanlabs/training-ai) ## External Courses ### Go 102 by Tim Blair [Repo](https://github.com/timblair/go-102-workshop) [Slide Deck](https://speakerdeck.com/timblair/go-102-a-workshop) ### Todd McLeod's Go Trainings [Go Fundamentals](https://greatercommons.com/learn/golang?coupon=kennedy) [Go Web Development](https://greatercommons.com/learn/go-language?coupon=kennedy) [You Tube](http://www.youtube.com/c/ToddMcLeod-learn-to-code) ### Go Challenges [Learn Go by solving problems and getting feedback from Go experts!](http://golang-challenge.org/) ### exercism.io Level up your programming skills by solving small practice problems. Then submit the solution to the site for feedback. This site is perfect for both newbies and experienced programmers. [exercism.io](http://exercism.io/) ### Gopher Puzzles [Dave Cheney Puzzles - 2016](http://talks.godoc.org/github.com/davecheney/presentations/gopher-puzzlers.slide#1) ### John Arundel's Fundamentals This is a set of introductory exercises in Go programming, suitable for complete beginners. If you don't know anything about Go yet, or programming, but would like to learn, this is the right place! [For the Love of Go: Fundamentals](https://github.com/bitfield/ftl-fundamentals) ___ All material is licensed under the [Apache License Version 2.0, January 2004](http://www.apache.org/licenses/LICENSE-2.0).