-
Урок 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