Course

Go Programming, Fundamentals


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.

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

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 wirte web servers for cloud-based applications
  • Manage memory apropriately, including proper allocation/deallocation procedures


Skills Needed: Students should have C programming skills. Advanced C is recommended.

Sections Open for Enrollment:

Open Sections and Schedule
Start / End Date Units Location Cost Instructor
09-15-2020 to 12-15-2020 3.0 $580

Suleman Saya

Enroll

Schedule

Date: Start Time: End Time: Meeting Type: Location:
Tue, 09-15-2020 12:01 a.m. 12:02 a.m. Online ONLINE
Tue, 12-15-2020 11:58 p.m. 11:59 p.m. Online ONLINE
Open Sections and Schedule
Start / End Date Units Location Cost Instructor
09-15-2020 to 11-17-2020 3.0 ONLINE $580

Suleman Saya

Enroll

Schedule

Date: Start Time: End Time: Meeting Type: Location:
Tue, 09-15-2020 6:30 p.m. 9:30 p.m. Live-Online ONLINE
Tue, 09-22-2020 6:30 p.m. 9:30 p.m. Live-Online ONLINE
Tue, 09-29-2020 6:30 p.m. 9:30 p.m. Live-Online ONLINE
Tue, 10-06-2020 6:30 p.m. 9:30 p.m. Live-Online ONLINE
Tue, 10-13-2020 6:30 p.m. 9:30 p.m. Live-Online ONLINE
Tue, 10-20-2020 6:30 p.m. 9:30 p.m. Live-Online ONLINE
Tue, 10-27-2020 6:30 p.m. 9:30 p.m. Live-Online ONLINE
Tue, 11-03-2020 6:30 p.m. 9:30 p.m. Live-Online ONLINE
Tue, 11-10-2020 6:30 p.m. 9:30 p.m. Live-Online ONLINE
Tue, 11-17-2020 6:30 p.m. 9:30 p.m. Live-Online ONLINE

Course Inquiry

Ask us any questions you may have about this course.

Contact Us
Speak to a student services representative.

Call (408) 861-3860

Envelope extension@ucsc.edu