Go and C++: Programming in Two Successor Languages of C Specialization Course Syllabus
Full curriculum breakdown — modules, lessons, estimated time, and outcomes.
Overview: This specialization provides a structured, hands-on journey from foundational C programming to advanced Go concurrency and modern C++ development. Spanning six modules, learners will gain deep proficiency in three powerful, performance-oriented languages—C, Go, and C++—with an emphasis on real-world coding, memory management, concurrent programming, and algorithm implementation. The course series includes approximately 81 hours of practical exercises, coding assignments, and projects, designed to build confidence in systems-level programming and prepare developers for roles in backend systems, cloud infrastructure, and algorithm-intensive domains.
Module 1: C for Everyone: Programming Fundamentals
Estimated time: 15 hours
- Basic syntax and lexical elements in C
- Compilation process and command-line tools
- Arrays, pointers, and control flow
- Functions, storage classes, and data types
Module 2: C for Everyone: Structured Programming
Estimated time: 9 hours
- Command-line arguments and parsing
- Structured programming constructs
- Debugging techniques in C
- Using IDEs for C development
Module 3: GO Programming for Everyone: Part 1
Estimated time: 17 hours
- Go data types, variables, and control flow
- Arrays, slices, and pointers in Go
- Functions and recursion
- Memory management and program structure
Module 4: GO Programming for Everyone: Part 2
Estimated time: 16 hours
- Type declarations and structs
- Methods and interfaces
- Concurrency with goroutines and channels
- Synchronization with mutex and WaitGroup
- Writing tests and integration testing
Module 5: C++ For C Programmers, Part A
Estimated time: 14 hours
- Transitioning from C to C++
- Object-oriented programming principles
- Container classes and memory safety
- Implementing Dijkstra’s shortest path algorithm
Module 6: C++ For C Programmers, Part B
Estimated time: 14 hours
- STL containers and algorithms
- Templates and generic programming
- Inheritance and polymorphism
- Game AI with Min-Max and Alpha-Beta pruning
Prerequisites
- Familiarity with basic programming concepts (variables, loops, conditionals)
- Experience in any programming language recommended
- Intermediate level—best suited for learners with prior coding exposure
What You'll Be Able to Do After
- Write, compile, debug, and run programs in C, Go, and C++
- Apply core constructs like pointers, arrays, functions, and control flow across languages
- Utilize Go’s concurrency model using goroutines and channels
- Convert C programs to C++ and leverage OOP and STL for efficient algorithms
- Design and test concurrent applications and performance-sensitive systems