Coronavirus (COVID-19) Update

Enjoy a fully remote summer of professional education at the Silicon Valley Campus and the re-emergence of in-person courses in September. Visit our COVID update page.

Course

Go Programming, Fundamentals | 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 apropriately, 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

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

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