- 1: Welcome! - 3min
- 2: Why go? - 11min
- 3: How to succeed - 11min
- 4: Course outline - 7min
- 5: Documentation - 7min
- 6: Miscellaneous resources - 1min
- 7: The terminal - 7min
- 8: Bash on windows - 8min
- 9: Shell / bash commands I - 11min
- 10: Shell / bash commands II - 8min
- 11: Installing Go - 10min
- 12: Go modules - introduction - 3min
- 13: Go workspace - 6min
- 14: Environment variables - 9min
- 15: Intro to IDE's - 2min
- 16: VS Code IDE - 3min
- 17: Using go get to get course code - 14min
- 18: IDE's - 11min
- 19: Go commands - 15min
- 20: Github repos - 11min
- 21: Github explored - 9min
- 22: Package management - 6min
- 23: Go modules overview - 6min
- 24: Creating a go module - 5min
- 25: Adding a dependency - 5min
- 26: Upgrading dependencies - 4min
- 27: Playground - 6min
- 28: Hello world - 11min
- 29: Introduction to packages - 16min
- 30: Short declaration operator - 13min
- 31: The var keyword - 12min
- 32: Exploring type - 13min
- 33: Zero value - 4min
- 34: The fmt package - 10min
- 35: Creating your own type - 6min
- 36: Conversion, not casting - 6min
- 37: Hands-on exercise #1 - 6min
- 38: Hands-on exercise #2 - 3min
- 39: Hands-on exercise #3 - 3min
- 40: Hands-on exercise #4 - 5min
- 41: Hands-on exercise #5 - 3min
- Quiz 1: Quiz for "Variables, Values & Type"
- 42: Hands-on exercise #6 - 10min
- 43: Bool type - 8min
- 44: How computers work - 21min
- 45: Numeric types - 15min
- 46: String type - 16min
- 47: Numeral systems - 18min
- 48: Constants - 4min
- 49: Iota - 3min
- 50: Bit shifting 11min
- 51: Hands-on exercise #1 2min
- 52: Hands-on exercise #2 - 3min
- 53: Hands-on exercise #3 - 1min
- 54: Hands-on exercise #4 - 3min
- 55: Hands-on exercise #5 - 1min
- 56: Hands-on exercise #6 - 1min
- Quiz 2: Quiz for Fundamentals of Programming
- 57: Understanding control flow - 2min
- 58: Loop - init, condition, post - 4min
- 59: Loop - nesting loops - 4min
- 60: Loop - for statement - 10min
- 61: Loop - break & continue - 7min
- 62: Loop - printing ascii - 7min
- 63: Conditional - if statement - 7min
- 64: Conditional - if, else if, else - 3min
- 65: Loop, conditional, modulus - 3min
- 66: Conditional - switch statement - 9min
- 67: Conditional - switch statement documentation - 8min
- 68: Conditional logic operators - 4min
- 69: Hands-on exercise #1 - 2min
- 70: Hands-on exercise #2 - 3min
- 71: Hands-on exercise #3 - 2min
- 72: Hands-on exercise #4 - 1min
- 73: Hands-on exercise #5 - 3min
- 74: Hands-on exercise #6 - 1min
- 75: Hands-on exercise #7 - 1min
- 76: Hands-on exercise #8 - 1min
- 77: Hands-on exercise #9 - 2min
- 78: Hands-on exercise #10 - 6min
- 79: Array - 5min
- 80: Slice - composite literal - 5min
- 81: Slice - for range - 3min
- 82: Slice - slicing a slice 5min
- 83: Slice - append to a slice - 5min
- 84: Slice - deleting from a slice - 5min
- 85: Slice - make - 10min
- 86: Slice - multi-dimensional slice - 4min
- 87: Map - introduction - 12min
- 88: Map - add element & range - 4min
- 89: Map - delete - 3min
- 90: Hands-on exercise #1 - 3min
- 91: Hands-on exercise #2 - 1min
- 92: Hands-on exercise #3 - 4min
- 93: Hands-on exercise #4 - 3min
- 94: Hands-on exercise #5 - 2min
- 95: Hands-on exercise #6 - 6min
- 96: Hands-on exercise #7 - 9min
- 97: Hands-on exercise #8 - 4min
- 98: Hands-on exercise #9 - 1min
- 99: Hands-on exercise #10 - 2min
- 100: Struct - 4min
- 101: Embedded structs - 6min
- 102: Reading documentation - 8min
- 103: Anonymous structs - 4min
- 104: Housekeeping - 19min
- 105: Hands-on exercise #1 - 4min
- 106: Hands-on exercise #2 - 4min
- 107: Hands-on exercise #3 - 4min
- 108: Hands-on exercise #4 - 4min
- 109: Syntax - 13min
- 110: Variadic parameter - 9min
- 111: Unfurling a slice - 13min
- 112: Defer - 6min
- 113: Methods - 7min
- 114: Interfaces & polymorphism - 20min
- 115: Anonymous func - 4min
- 116: func expression - 4min
- 117: Returning a func - 12min
- 118: Callback - 13min
- 119: Closure - 9min
- 120: Recursion - 10min
- 121: Hands-on exercise #1 - 10min
- 122: Hands-on exercise #2 - 4min
- 123: Hands-on exercise #2 - 1min
- 124: Hands-on exercise #3 - 6min
- 125: Hands-on exercise #4 - 5min
- 126: Hands-on exercise #5 - 10min
- 127: Hands-on exercise #6 - 2min
- 128: Hands-on exercise #7 - 4min
- 129: Hands-on exercise #8 - 2min
- 130: Hands-on exercise #9 - 8min
- 131: Hands-on exercise #10 - 3min
- 132: What are pointers? - 12min
- 133: When to use pointers - 8min
- 134: Method sets - 7min
- 135: Hands-on exercise #1 - 1min
- 136: Hands-on exercise #2 - 6min
- 137: JSON documentation - 12min
- 138: JSON marshal - 6min
- 139: JSON unmarshal - 16min
- 140: Writer interface - 16min
- 141: Sort - 6min
- 142: Sort custom - 11min
- 143: bcrypt - 12min
- 144: Hands-on exercise #1 - 4min
- 145: Hands-on exercise #2 - 8min
- 146: Hands-on exercise #3 - 5min
- 147: Hands-on exercise #4 - 2min
- 148: Hands-on exercise #5 - 7min
- 149: Concurrency vs parallelism - 6min
- 150: WaitGroup - 12min
- 151: Method sets revisited - 12min
- 152: Documentation - 13min
- 153: Race condition - 12min
- 154: Mutex - 4min
- 155: Atomic - 6min
- 156: Hands-on exercise #1 - 16min
- 157: Hands-on exercise #2 - 12min
- 158: Hands-on exercise #3 - 11min
- 159: Hands-on exercise #4 - 5min
- 160: Hands-on exercise #5 - 5min
- 161: Hands-on exercise #6 - 6min
- 162: Understanding channels - 16min
- 163: Directional channels - 10min
- 164: Using channels - 7min - Play
- 165: Range - 6min
- 166: Select - 10min
- 167: Comma ok idiom - 6min
- 168: Fan in - 8min
- 169: Fan out - 7min
- 170: Context - 15min
- 171: Hands-on exercise #1 - 3min
- 172: Hands-on exercise #2 - 3min
- 173: Hands-on exercise #3 - 3min
- 174: Hands-on exercise #4 - 6min
- 175: Hands-on exercise #5 - 3min
- 176: Hands-on exercise #6 - 3min
- 177: Hands-on exercise #7 - 5min
- 178: Understanding - 15min
- 179: Checking errors - 7min
- 180: Printing and logging - 9min
- 181: Recover - 10min
- 182: Errors with info - 18min
- 183: Hands-on exercise #1 - 4min
- 184: Hands-on exercise #2 - 12min
- 185: Hands-on exercise #3 - 11min
- 186: Hands-on exercise #4 - 6min
- 187: Hands-on exercise #5 - 2min
- 188: Introduction - 5min
- 189: go doc - 8min
- 190: godoc - 7min
- 191: godoc.org - 4min
- 192: Writing documentation - 12min
- 193: Hands-on exercise #1 - 5min
- 194: Introduction - 14min
- 195: Table tests - 8min
- 196: Example tests - 10min
- 197: Golint - 5min
- 198: Benchmark - 9min
- 199: Coverage - 9min
- 200: Benchmark examples - 12min
- 201: Review - 13min
- 202: Hands-on exercise #1 - 14min
- 203: Hands-on exercise #2 - 19min
- 204: Hands-on exercise #3 - 15min
- 205: Congratulations - 6min
- 206: The original course - 1min
- 207: Why choose the Go programming language? - 12min
- 208: Hello World! - 10min
- 209: Section Overview - 3min
- 210: The Terminal - 6min
- 211: Installation Insights - 9min
- 212: Go Workspace - 9min
- 213: Environment Variables - 7min
- 214: Windows - Configuring Path Variables - 8min
- 215: Mac - Configuring Path Variables - 10min
- 216: IMPORTANT - REGARDING LINUX VIDEOS THAT FOLLOW - 1min
- 217: Linux - Machine Setup - 34min
- 218: Linux - Machine Configuration - 13min
- 219: Linux - Configuring Path Variables - 22min
- 220: Testing Your Installation - 5min
- 221: Section Review - 4min
- 222: Section Overview - 2min
- 223: Go Editors - 9min
- 224: WebStorm & Atom.io - 7min
- 225: Creating Your First Project - 9min
- 226: Hello World with Webstorm - 8min
- 227: The Go Command & Documentation - 6min
- 228: Understanding Github - 8min
- 229: Using Github - 14min
- 230: Section Review - 4min
- 231: Section Overview - 2min
- 232: How Computers Work - Part I - 10min
- 233: How Computers Work - Part II - 12min
- 234: Github Update Command - 9min
- 235: Numeral Systems - 4min
- 236: Binary Numbering System - 8min
- 237: Hexadecimal Numbering System - 7min
- 238: Text Encoding - 9min
- 239: Coding Scheme Programs - 10min
- 240: Format Printing - 10min
- 241: Section Review - 9min
- 242: Section Overview - 6min
- 243: Packages - 8min
- 244: Go Commands - 6min
- 245: Variables - 9min
- 246: Scope - 8min
- 247: Scope II - 10min
- 248: Closure - 11min
- 249: Blank Identifier - 4min
- 250: Constants - 9min
- 251: Constants II - 7min
- 252: Words of Encouragement - 4min
- 253: Pointers - 6min
- 254: Using Pointers - 8min
- 255: Remainder - 6min
- 256: Section Review - 15min
- 257: Section Overview - 7min
- 258: For Loop - 7min
- 259: Nested Loops - 6min
- 260: Conditions, Break, & Continue - 7min
- 261: Documentation & Terminology - 13min
- 262: Rune - 6min
- 263: String Type - 11min
- 264: Switch Statements - 7min
- 265: If Statements - 7min
- 266: Exercise Solutions - 14min
- 267: Section Review - 9min
- 268: Section Overview - 2min
- 269: Intro To Functions - 8min
- 270: Func Returns - 5min
- 271: Variadic Functions - 7min
- 272: Variadic Arguments - 5min
- 273: Func Expressions - 6min
- 274: Closure - 6min
- 275: Callbacks - 7min
- 276: Callback Example - 6min
- 277: Recursion - 5min
- 278: Defer - 4min
- 279: Pass By Value - 7min
- 280: Reference Types - 5min
- 281: Anonymous Self-Executing Functions - 2min
- 282: Bool Expressions - 7min
- 283: Exercises - Part I - 8min
- 284: Exercises - Part II - 7min
- 285: Section Review - 10min
- 286: Data Structures Overview - 6min
- 287: Array - 8min
- 288: Array Examples - 11min
- 289: Slices - 10min
- 290: Slice Examples - 10min
- 291: More Slice Examples - 7min
- 292: Creating A Slice - 13min
- 293: Incrementing A Slice Item - 5min
- 294: Section Review - 12min
-
295: Maps Introduction - 6min
-
296: Map Examples - Part I - 9min
-
297: Map Examples - Part II - 9min
-
298: Map Examples - Part III - 5min
-
299: Map Documentation - 11min
-
300: Map Range Loop - 4min
-
301: GitHub Pull - 4min
-
302: Hash Tables - 14min
-
303: Hashing Words - 11min
-
304: Hashing Words II - 12min
-
305: Build A Hash Table - 9min
-
306: Finished Hash Algorithm - 12min
-
307: Structs Introduction - 6min
-
308: OOP in Go - 12min
-
309: User-Defined Types - 11min
-
310: Composition - 10min
-
311: JSON Marshal - 12min
-
312: JSON Unmarshal - 3min
-
313: JSON Encode - 7min
-
314: JSON Decode - 6min
-
315: Interfaces - 10min
-
316: Code Substitutability - 12min
-
317: Bill Kennedy - 9min
-
318: Donovan & Kernighan - 12min
-
319: Sort Package - 10min
-
320: Sort Solution - 10min
-
321: Sort Reverse - 16min
-
322: Sort Slice Int - 4min
-
323: Empty Interface - 9min
-
324: Method Sets - 12min
-
325: Conversion vs Assertion - 10min
-
326: Concurrency & WaitGroup - 5min
-
327: Parallelism - 5min
-
328: Race Conditions - 4min
-
329: Mutex - 4min
-
330: Atomicity - 4min
-
331: Review & Channels Preview - 9min
-
332: Channels - Introduction - 10min
-
333: Range Clause - 6min
-
334: N-to-1 - 5min
-
335: Semaphores - Part 1 - 7min
-
336: Semaphores - Part 2 - 2min
-
337: 1-to-N - 4min
-
338: Channels as Arguments & Returns - 7min
-
339: Channel Direction - 6min
-
340: Incrementor With Channels - 6min
-
341: Deadlock Challenge - 7min
-
342: Factorial Challenge - 5min
-
343: Pipeline Pattern - 7min
-
344: Factorial Challenge Redux - 6min
-
345: Factorial Challenge Redux Solution - 5min
-
346: Fan Out / Fan In Pattern - Overview - 4min
-
347: Fan In Pattern - 7min
-
348: Fan Out / Fan In - Example - 16min
-
349: Fan Out / Fan In - Challenge - 2min
-
350: Fan Out / Fan In - Solution - 9min
-
351: Fan Out / Fan In - Challenge: Factorial - 2min
-
352: Fan Out / Fan In - Solution: Factorial - 11min
-
353: Deadlock Challenge - 1min
-
354: Deadlock Solution - 4min
-
355: Incrementor Challenge Revisited - 1min
-
356: Incrementor Solution - 6min
- 357: Additional Resources - 5min
-
358: An Introduction to Error Handling in Go - 6min
-
359: Improving Your Code with Golint - 6min
-
360: Handling Errors & Logging Errors to a File - 9min
-
361: Four Common Ways to Handle Errors - 6min
-
362: Custom Errors - Creating Values of Type error - 7min
-
363: Idiomatic Error Handling - 4min
-
364: Providing Context with Errors - 5min
-
365: Providing Even More Context with Errors - 7min
-
366: Error Handling Review & Resources - 5min
- 367: Congratulations - 6min
- 368: Bonus lecture
- golang playground
- VSCode Golang Tools
- ansible
- gogs
- terratest
- Barter Grid App