What You Need to Know Before
You Start

Starts 5 June 2025 10:30

Ends 5 June 2025

00 days
00 hours
00 minutes
00 seconds
course image

C and Go: Classical and Modern Programming

Master programming fundamentals in C and advance to modern Go language, covering essential concepts from basic syntax to AI algorithms and Monte Carlo simulations.
University of California, Santa Cruz via Coursera

University of California, Santa Cruz

10 Courses


UC Santa Cruz is a diverse and welcoming public research university that is focused on global engagement, social justice, sustainability, education for everyone, and the arts.

Not Specified

Optional upgrade avallable

Not Specified

Progress at your own speed

Paid Course

Optional upgrade avallable

Overview

This specialization is intended for all programming enthusiasts, as well as beginners, computer and other scientists, and artificial intelligence enthusiasts seeking to develop their programming skills in the classical languages of C and its more modern successor Go. Through the four courses—two in C, and two in Go—you will cover the basics of programming in C and move on to the more advanced Go semantics and syntax, which will prepare you to apply these skills to higher-level problems using AI algorithms and Monte Carlo simulations.

Syllabus

  • Course 1: Introduction to C Programming
  • Basics of C
    Variables and Data Types
    Operators and Expressions
    Control Structures: Loops and Conditionals
    Functions in C
    Defining and Calling Functions
    Scope and Lifetime of Variables
    Pointers and Memory Management
    Understanding Pointers
    Dynamic Memory Allocation
    Basic Data Structures
    Arrays and Strings
    Structs
  • Course 2: Advanced C Programming Concepts
  • Advanced Data Structures
    Linked Lists
    Stacks and Queues
    File Handling in C
    Reading and Writing Files
    Debugging and Error Handling
    Using gdb and Valgrind
    Introduction to Algorithms
    Sorting and Searching Algorithms
    Basic Algorithmic Complexity
  • Course 3: Introduction to Go (Golang)
  • Basics of Go
    Syntax Overview
    Variables, Constants, and Data Types
    Control Structures and Functions
    Conditionals and Loops
    Defining and Using Functions
    Basics of Concurrency in Go
    Goroutines and Channels
    Error Handling and Testing
    Using Error Values
    Writing and Running Tests
  • Course 4: Advanced Go Programming Techniques
  • Advanced Concurrency Patterns
    Select Statements
    Mutexes and WaitGroups
    Go Modules and Package Management
    Managing Dependencies
    Interfacing with C Code
    Using cgo for Integrating C
    Applying Go to AI Algorithms
    Implementing Basic AI Algorithms
    Monte Carlo Simulation Techniques

Taught by

Ira Pohl


Subjects

Programming