Go Programming | CMPR.X418

Go Programming | CMPR.X418

Go language (golang), often considered the "C for the 21st century,” is an open source programming language developed by Google to help build simple and advanced-level software systems. The core strength of golang is its concurrency mechanisms that make it simpler to write reliable software and to exploit multi-core architectures. The golang is a C-like compiled language that offers portability, speed, and modularity, as well as compatibility with C language. The golang compiler can produce an executable binary for many different CPU and GPU architectures without rewriting the application source code and has a built-in garbage collection mechanism. Participants in this class learn to write faster and modular code, for real-world, cloud-based and general purpose applications.

Class assignments and exercises will prepare students to write real world applications that involve web servers, database interaction, and embedded applications.

Learning Outcomes
At the conclusion of the course, you should be able to

  • Write faster and modular code, for real-world, cloud-based and general purpose applications
  • Understand and use the basic programming constructs of GO language
  • Manipulate various GO language data types, such as arrays, strings, and pointers
  • Write GO language code using principles of concurrency programming
  • Understand how to write web servers for cloud-based applications
  • Manage memory appropriately, including proper allocation/deallocation procedures

Topics include

  • Code compilation
  • Program structure
  • Basic data types
  • Control structures
  • Composite types
  • Functions and methods
  • Interfaces encapsulation
  • Using packages to reuse code
  • Goroutines and channels
  • Concurrency
  • How to use build in test tools

Required: Access to a GO compiler.

Skills Needed: Students should have C programming skills. Advanced C is recommended.
Have a question about this course?
Speak to a student services representative.
Call (408) 861-3860

Estimated Cost: TBD

Course Availability Notification

Please use this form to be notified when this course is open for enrollment.

Contact Us
Speak to a student services representative.

Call (408) 861-3860

Envelope extension@ucsc.edu