Dive into the Go
About
Hi there. My name is Alexander Borisov and I'm happy to introduce my programming course designed for students of Computer Science of Kyiv National University of Culture and Arts.
The main goal is to teach you not only to write code but understand what and why do you do. Also, we will learn modern engineering practices like CI/CD, Extreme Programming, and so on.
The course is designed for first-third year students. And yes, it's completely free.
Why Go?
Go is a modern programming language designed by Google. It's simple to learn, simple to write code and it's very efficient. Just look at Kubernetes and Docker. They are written on Go. More detail here.Educational plan
The theory is nothing without practice. Thus we will divide students into the teams that will develop and deliver a project as a result of the course.
The list below describes themes that we're going to examine. Pay attention that one theme may not be equal to one lesson.
- What programming is about? Designing simple algorithms without a code. Learning conditional statements and loops.
- Preparation: setup go and IDE. Writing hello world and analyzing it.
- Variables, basic data types, and how we can interact with them.
- Flow control statements: loops, conditions, defer ...
- Bitwise operations.
- Complex data types.
- Functions.
- Recursion.
- Unit tests.
- Computational complexity.
- Benchmarks.
- FIFO, LIFO, graphs.
- Packages, scope, encapsulation.
- Intro to OOP and struct methods.
- Interfaces.
- Concurrency.
- Intro to networking: TCP, UDP, and HTTP.
- Git.
- Github.
- Team collaboration and extreme programming.
- CI/CD.
- Demo. Pizza.