Section 1 : Course Introduction

Lecture 1 The need for Protocol Buffers 00:05:24 Duration
Lecture 2 How are Protocol Buffers used
Lecture 3 Course Structure 00:03:09 Duration
Lecture 4 INTRODUCTION TO BRAINMEASURES PROCTOR SYSTEM

Section 2 : Code Download & VSCode Setup

Lecture 1 INTRODUCTION TO BRAINMEASURES PROCTOR SYSTEM
Lecture 2 About Certification

Section 3 : Protocol Buffers Basics I

Lecture 1 First Message 00:01:44 Duration
Lecture 2 Scalar Types 00:04:11 Duration
Lecture 3 Tags 00:01:32 Duration
Lecture 4 Repeated Fields 00:01:21 Duration
Lecture 5 Comments 00:03:01 Duration
Lecture 6 Default Values for Fields 00:00:56 Duration
Lecture 7 Enumerations (Enums) 00:02:50 Duration
Lecture 8 Practice Exercises I
Lecture 9 Solution to Practice Exercises I 00:04:30 Duration

Section 4 : Protocol Buffers Basics II

Lecture 1 Defining Multiple Messages in the Same File 00:01:59 Duration
Lecture 2 Nesting Messages 00:02:28 Duration
Lecture 3 Imports 00:02:33 Duration
Lecture 4 Packages 00:02:09 Duration
Lecture 5 Practice Exercise II
Lecture 6 Solution to Practice Exercises II 00:03:53 Duration

Section 5 : Setting up Protoc Compiler

Lecture 1 INTRODUCTION TO BRAINMEASURES PROCTOR SYSTEM
Lecture 2 Use `protoc` to generate code in any language 00:04:59 Duration
Lecture 3 Practice Using `protoc`

Section 6 : Java Programming with Protocol Buffers

Lecture 1 About Certification
Lecture 2 Gradle Project Setup & Code Generation 00:12:06 Duration
Lecture 3 Simple Message Creation in Java 00:11:48 Duration
Lecture 4 Dealing with Enums in Java
Lecture 5 Creating a Complex Message in Java 00:07:31 Duration
Lecture 6 Java Options 00:03:40 Duration
Lecture 7 Conversion to JSON in Java 00:05:09 Duration
Lecture 8 About Proctor Testing
Lecture 9 What about Maven

Section 7 : Golang Programming with Protocol Buffers

Lecture 1 Setup & Code Download in Golang
Lecture 2 Code generation in Golang 00:05:21 Duration
Lecture 3 Simple Proto Struct in Golang
Lecture 4 go_package option 00:01:56 Duration
Lecture 5 Reading and Writing to Disk 00:09:07 Duration
Lecture 6 Reading and Writing to JSON 00:06:38 Duration
Lecture 7 Enum Proto Struct in Golang 00:04:12 Duration
Lecture 8 Complex Proto Struct in Golang 00:04:58 Duration
Lecture 9 Practice Exercise Golang (self-guided)
Lecture 10 GoGo Protobuf as an Alternative

Section 8 : Python Programming with Protocol Buffers

Lecture 1 Setup & Code Download in Python
Lecture 2 Code generation in Python 00:07:12 Duration
Lecture 3 Simple Proto Message in Python 00:09:11 Duration
Lecture 4 Enum Proto Message in Python 00:06:23 Duration
Lecture 5 Complex Proto Message in Python
Lecture 6 Practice Exercise Python (self-guided)

Section 9 : Data Evolution with Protobuf

Lecture 1 The need for updating the protocol 00:02:02 Duration
Lecture 2 Rules for Data Evolution 00:01:25 Duration
Lecture 3 Adding Fields 00:01:38 Duration
Lecture 4 Renaming Fields 00:00:35 Duration
Lecture 5 Removing Fields 00:02:10 Duration
Lecture 6 Reserved Keyword 00:01:19 Duration
Lecture 7 Beware of Defaults 00:02:01 Duration
Lecture 8 Evolving Enum Fields 00:01:41 Duration

Section 10 : Protocol Buffers Advanced

Lecture 1 Integer Types Deep Dive 00:03:49 Duration
Lecture 2 Advanced Data Types (oneof, map, Timestamp and Duration)
Lecture 3 Protocol Buffers Options 00:01:14 Duration
Lecture 4 Naming Conventions 00:01:35 Duration
Lecture 5 Uber style guiding
Lecture 6 Services 00:03:24 Duration
Lecture 7 Introduction to gRPC (from gRPC Course) 00:08:07 Duration
Lecture 8 Protocol Buffers Internals 00:09:38 Duration

Section 11 : Next Steps

Lecture 1 List of Protocol Buffer Files to Explore
Lecture 2 What's next & Congratulations! 00:00:44 Duration