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.
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.
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
- Code compilation
- Program structure
- Basic data types
- Control structures
- Composite types
- Functions and methods
- Interfaces encapsulation
- Using packages to reuse code
- Goroutines and channels
- How to use build in test tools
Skills Needed: Students should have C programming skills. Advanced C is recommended.
Course Availability Notification
Please use this form to be notified when this course is open for enrollment.