Урок 1.00:14:43
Welcome to Class!
Урок 2.00:05:56
Class Organization
Урок 3.00:05:04
The C99 Standard
Урок 4.00:06:01
The C11 Standard
Урок 5.00:05:08
Overview
Урок 6.00:07:26
Installing the C compiler (Windows)
Урок 7.00:04:37
Installing the C compiler (Mac)
Урок 8.00:11:38
Installing Code Blocks (Windows)
Урок 9.00:10:06
Installing CodeLite (Windows)
Урок 10.00:05:32
Installing CodeLite (Mac)
Урок 11.00:03:31
Installing Visual Studio Code (Windows)
Урок 12.00:04:38
Installing Visual Studio Code (Linux)
Урок 13.00:04:09
Installing Visual Studio Code (Mac)
Урок 14.00:11:23
Exploring the Code Blocks Environment
Урок 15.00:05:13
Creating a Project in Code Blocks
Урок 16.00:11:24
Exploring the Visual Studio Code Environment
Урок 17.00:17:17
Creating a Workspace and configuring the compiler in Visual Studio Code
Урок 18.00:18:50
Overview
Урок 19.00:05:46
Compiling multiple source files from the command line
Урок 20.00:05:58
Makefiles
Урок 21.00:04:13
Communication between files
Урок 22.00:04:47
Using Header files effectively
Урок 23.00:07:41
Heap and Stack Memory Allocation
Урок 24.00:12:40
Automatic Variables
Урок 25.00:13:23
External
Урок 26.00:14:10
Static
Урок 27.00:08:30
Register
Урок 28.00:02:57
(Challenge)
Урок 29.00:09:55
The #define statement (constants)
Урок 30.00:10:38
Using typedef
Урок 31.00:10:56
Variable Length Arrays
Урок 32.00:01:55
(Challenge) Variable Length Arrays
Урок 33.00:05:12
Flexible Array Members
Урок 34.00:01:52
(Challenge) Flexible Array Members
Урок 35.00:15:52
Complex number types
Урок 36.00:02:29
(Challenge) Complex number types
Урок 37.00:10:50
Designated Initializers
Урок 38.00:14:04
(Demonstration) Challenge solutions
Урок 39.00:14:34
const
Урок 40.00:05:01
volatile
Урок 41.00:08:06
restrict
Урок 42.00:13:06
Binary numbers and bits
Урок 43.00:02:08
(Challenge) Binary numbers and Bits
Урок 44.00:10:41
(Demonstration) Binary numbers and Bits
Урок 45.00:21:44
Bitwise Operators (Logical)
Урок 46.00:13:23
Bitwise Operators (Shifting)
Урок 47.00:04:39
(Challenge) Bitwise Operators
Урок 48.00:05:28
(Demonstration) Bitwise Operators
Урок 49.00:14:35
Bitmasks
Урок 50.00:09:21
Using Bit Operators to pack data
Урок 51.00:02:23
(Challenge) Setting and Reading bits
Урок 52.00:06:09
(Demonstration) Setting and Reading bits
Урок 53.00:10:09
Using Bit Fields to pack data
Урок 54.00:05:11
(Challenge) Using Bit Fields to pack data
Урок 55.00:07:50
(Demonstration) Using Bit Fields to pack data
Урок 56.00:09:37
The goto statement
Урок 57.00:01:54
(Challenge) The goto statement
Урок 58.00:05:03
The null statement
Урок 59.00:07:41
The comma operator
Урок 60.00:12:46
setjmp and longjmp functions
Урок 61.00:01:29
(Challenge) setjmp and longjmp functions
Урок 62.00:08:07
(Demonstration) Advanced Control Flow
Урок 63.00:19:36
char functions (input)
Урок 64.00:11:31
char functions (output)
Урок 65.00:03:01
(Challenge) char functions
Урок 66.00:12:17
(Demonstration) char functions
Урок 67.00:17:50
string functions
Урок 68.00:02:12
(Challenge) string functions
Урок 69.00:07:04
(Demonstration) string functions
Урок 70.00:20:38
Formatting functions
Урок 71.00:02:56
(Challenge) Formatting functions
Урок 72.00:05:09
(Demonstration) Formatting functions
Урок 73.00:17:48
Variadic Functions
Урок 74.00:08:28
va_copy
Урок 75.00:03:31
(Challenge) Variadic Functions
Урок 76.00:03:59
(Demonstration) Variadic Functions
Урок 77.00:19:36
Recursion
Урок 78.00:02:55
(Challenge) Recursion
Урок 79.00:10:28
(Demonstration) Recursion
Урок 80.00:06:12
Inline Functions
Урок 81.00:07:51
_Noreturn Functions
Урок 82.00:09:40
Overview
Урок 83.00:10:57
Defining a Union
Урок 84.00:10:42
Accessing Union Members
Урок 85.00:03:06
(Challenge) Unions
Урок 86.00:03:53
(Demonstration) Unions
Урок 87.00:04:04
Overview
Урок 88.00:15:50
Conditional Compilation
Урок 89.00:04:12
Include guards and #undef
Урок 90.00:10:48
#pragma and #error
Урок 91.00:06:17
Overview
Урок 92.00:05:18
Macros vs. Functions
Урок 93.00:16:57
Creating your own Macros
Урок 94.00:16:36
Preprocessor Operators
Урок 95.00:06:00
Predefined Macros
Урок 96.00:06:08
(Challenge) Macros
Урок 97.00:09:22
(Demonstration) Macros
Урок 98.00:17:54
GCC Compiler Options (part 1)
Урок 99.00:17:38
GCC Compiler Options (part 2)
Урок 100.00:21:11
Debugging with the preprocessor
Урок 101.00:18:02
Debugging with gdb (part 1)
Урок 102.00:18:54
Debugging with gdb (part 2)
Урок 103.00:13:12
core files
Урок 104.00:10:48
Profiling
Урок 105.00:08:43
Static Analysis
Урок 106.00:16:24
(Challenge)
Урок 107.00:18:35
(Demonstration)
Урок 108.00:14:20
Double pointers (pointer to a pointer)
Урок 109.00:15:18
Double pointers (pointer to a pointer) Part 2
Урок 110.00:06:02
(Challenge) Double pointers
Урок 111.00:08:08
(Demonstration) Double pointers
Урок 112.00:17:39
Function pointers
Урок 113.00:07:24
(Challenge) Function pointers
Урок 114.00:07:39
(Demonstration) Function pointers
Урок 115.00:10:55
void pointers
Урок 116.00:15:51
Overview
Урок 117.00:17:46
Creating a Static Library (archive)
Урок 118.00:04:24
(Challenge) Static Library
Урок 119.00:12:13
(Demonstration) Static Library
Урок 120.00:23:36
Creating a Dynamic Library (Shared object)
Урок 121.00:03:55
(Challenge) Dynamic Library
Урок 122.00:12:50
(Demonstration) Dynamic Library
Урок 123.00:20:56
Dynamically loading a shared object
Урок 124.00:03:54
(Challenge) Dynamic Loading
Урок 125.00:09:52
(Demonstration) Dynamic Loading
Урок 126.00:08:48
Assert
Урок 127.00:17:00
General Utilities (stdlib.h)
Урок 128.00:15:45
General Utilities (stdlib.h) part 2
Урок 129.00:17:15
General Utilities (stdlib.h) part 3
Урок 130.00:17:11
Date and Time functions
Урок 131.00:02:56
(Challenge)
Урок 132.00:11:02
(Demonstration)
Урок 133.00:08:37
Abstract Data Types
Урок 134.00:07:27
Linked Lists (Overview)
Урок 135.00:20:31
Linked LIsts (Implementation)
Урок 136.00:05:58
(Challenge) Linked Lists
Урок 137.00:12:12
(Demonstration) Linked Lists
Урок 138.00:06:08
Stacks (Overview)
Урок 139.00:12:16
Stacks (Implementation)
Урок 140.00:05:52
Queues (Overview)
Урок 141.00:12:32
Queues (Implementation)
Урок 142.00:10:26
Binary Trees (Overview)
Урок 143.00:08:53
Binary Trees (Implementation)
Урок 144.00:15:44
Interprocess Communication
Урок 145.00:07:09
Signals (Overview)
Урок 146.00:07:10
Raising a Signal
Урок 147.00:12:31
Handling a Signal using the signal function
Урок 148.00:10:53
Handling a Signal using sigaction
Урок 149.00:09:24
The fork() system call
Урок 150.00:06:42
(Challenge)
Урок 151.00:07:14
(Demonstration)
Урок 152.00:09:36
Overview
Урок 153.00:10:44
Creating a thread
Урок 154.00:08:49
Passing arguments and returning values
Урок 155.00:10:36
Common Thread functions
Урок 156.00:09:17
Thread Synchronization Concepts
Урок 157.00:16:43
Mutexes
Урок 158.00:08:58
Condition Variables
Урок 159.00:13:22
(Challenge)
Урок 160.00:15:47
(Demonstration)
Урок 161.00:08:53
Overview
Урок 162.00:19:20
The Socket API
Урок 163.00:09:50
Creating a Server Socket
Урок 164.00:10:26
Creating a Client Socket
Урок 165.00:02:45
(Challenge)
Урок 166.00:10:20
(Demonstration)
Урок 167.00:23:12
Course Summary
Урок 168.00:04:50
Bonus Lecture and Information