1. Урок 1. 00:14:43
    Welcome to Class!
  2. Урок 2. 00:05:56
    Class Organization
  3. Урок 3. 00:05:04
    The C99 Standard
  4. Урок 4. 00:06:01
    The C11 Standard
  5. Урок 5. 00:05:08
    Overview
  6. Урок 6. 00:07:26
    Installing the C compiler (Windows)
  7. Урок 7. 00:04:37
    Installing the C compiler (Mac)
  8. Урок 8. 00:11:38
    Installing Code Blocks (Windows)
  9. Урок 9. 00:10:06
    Installing CodeLite (Windows)
  10. Урок 10. 00:05:32
    Installing CodeLite (Mac)
  11. Урок 11. 00:03:31
    Installing Visual Studio Code (Windows)
  12. Урок 12. 00:04:38
    Installing Visual Studio Code (Linux)
  13. Урок 13. 00:04:09
    Installing Visual Studio Code (Mac)
  14. Урок 14. 00:11:23
    Exploring the Code Blocks Environment
  15. Урок 15. 00:05:13
    Creating a Project in Code Blocks
  16. Урок 16. 00:11:24
    Exploring the Visual Studio Code Environment
  17. Урок 17. 00:17:17
    Creating a Workspace and configuring the compiler in Visual Studio Code
  18. Урок 18. 00:18:50
    Overview
  19. Урок 19. 00:05:46
    Compiling multiple source files from the command line
  20. Урок 20. 00:05:58
    Makefiles
  21. Урок 21. 00:04:13
    Communication between files
  22. Урок 22. 00:04:47
    Using Header files effectively
  23. Урок 23. 00:07:41
    Heap and Stack Memory Allocation
  24. Урок 24. 00:12:40
    Automatic Variables
  25. Урок 25. 00:13:23
    External
  26. Урок 26. 00:14:10
    Static
  27. Урок 27. 00:08:30
    Register
  28. Урок 28. 00:02:57
    (Challenge)
  29. Урок 29. 00:09:55
    The #define statement (constants)
  30. Урок 30. 00:10:38
    Using typedef
  31. Урок 31. 00:10:56
    Variable Length Arrays
  32. Урок 32. 00:01:55
    (Challenge) Variable Length Arrays
  33. Урок 33. 00:05:12
    Flexible Array Members
  34. Урок 34. 00:01:52
    (Challenge) Flexible Array Members
  35. Урок 35. 00:15:52
    Complex number types
  36. Урок 36. 00:02:29
    (Challenge) Complex number types
  37. Урок 37. 00:10:50
    Designated Initializers
  38. Урок 38. 00:14:04
    (Demonstration) Challenge solutions
  39. Урок 39. 00:14:34
    const
  40. Урок 40. 00:05:01
    volatile
  41. Урок 41. 00:08:06
    restrict
  42. Урок 42. 00:13:06
    Binary numbers and bits
  43. Урок 43. 00:02:08
    (Challenge) Binary numbers and Bits
  44. Урок 44. 00:10:41
    (Demonstration) Binary numbers and Bits
  45. Урок 45. 00:21:44
    Bitwise Operators (Logical)
  46. Урок 46. 00:13:23
    Bitwise Operators (Shifting)
  47. Урок 47. 00:04:39
    (Challenge) Bitwise Operators
  48. Урок 48. 00:05:28
    (Demonstration) Bitwise Operators
  49. Урок 49. 00:14:35
    Bitmasks
  50. Урок 50. 00:09:21
    Using Bit Operators to pack data
  51. Урок 51. 00:02:23
    (Challenge) Setting and Reading bits
  52. Урок 52. 00:06:09
    (Demonstration) Setting and Reading bits
  53. Урок 53. 00:10:09
    Using Bit Fields to pack data
  54. Урок 54. 00:05:11
    (Challenge) Using Bit Fields to pack data
  55. Урок 55. 00:07:50
    (Demonstration) Using Bit Fields to pack data
  56. Урок 56. 00:09:37
    The goto statement
  57. Урок 57. 00:01:54
    (Challenge) The goto statement
  58. Урок 58. 00:05:03
    The null statement
  59. Урок 59. 00:07:41
    The comma operator
  60. Урок 60. 00:12:46
    setjmp and longjmp functions
  61. Урок 61. 00:01:29
    (Challenge) setjmp and longjmp functions
  62. Урок 62. 00:08:07
    (Demonstration) Advanced Control Flow
  63. Урок 63. 00:19:36
    char functions (input)
  64. Урок 64. 00:11:31
    char functions (output)
  65. Урок 65. 00:03:01
    (Challenge) char functions
  66. Урок 66. 00:12:17
    (Demonstration) char functions
  67. Урок 67. 00:17:50
    string functions
  68. Урок 68. 00:02:12
    (Challenge) string functions
  69. Урок 69. 00:07:04
    (Demonstration) string functions
  70. Урок 70. 00:20:38
    Formatting functions
  71. Урок 71. 00:02:56
    (Challenge) Formatting functions
  72. Урок 72. 00:05:09
    (Demonstration) Formatting functions
  73. Урок 73. 00:17:48
    Variadic Functions
  74. Урок 74. 00:08:28
    va_copy
  75. Урок 75. 00:03:31
    (Challenge) Variadic Functions
  76. Урок 76. 00:03:59
    (Demonstration) Variadic Functions
  77. Урок 77. 00:19:36
    Recursion
  78. Урок 78. 00:02:55
    (Challenge) Recursion
  79. Урок 79. 00:10:28
    (Demonstration) Recursion
  80. Урок 80. 00:06:12
    Inline Functions
  81. Урок 81. 00:07:51
    _Noreturn Functions
  82. Урок 82. 00:09:40
    Overview
  83. Урок 83. 00:10:57
    Defining a Union
  84. Урок 84. 00:10:42
    Accessing Union Members
  85. Урок 85. 00:03:06
    (Challenge) Unions
  86. Урок 86. 00:03:53
    (Demonstration) Unions
  87. Урок 87. 00:04:04
    Overview
  88. Урок 88. 00:15:50
    Conditional Compilation
  89. Урок 89. 00:04:12
    Include guards and #undef
  90. Урок 90. 00:10:48
    #pragma and #error
  91. Урок 91. 00:06:17
    Overview
  92. Урок 92. 00:05:18
    Macros vs. Functions
  93. Урок 93. 00:16:57
    Creating your own Macros
  94. Урок 94. 00:16:36
    Preprocessor Operators
  95. Урок 95. 00:06:00
    Predefined Macros
  96. Урок 96. 00:06:08
    (Challenge) Macros
  97. Урок 97. 00:09:22
    (Demonstration) Macros
  98. Урок 98. 00:17:54
    GCC Compiler Options (part 1)
  99. Урок 99. 00:17:38
    GCC Compiler Options (part 2)
  100. Урок 100. 00:21:11
    Debugging with the preprocessor
  101. Урок 101. 00:18:02
    Debugging with gdb (part 1)
  102. Урок 102. 00:18:54
    Debugging with gdb (part 2)
  103. Урок 103. 00:13:12
    core files
  104. Урок 104. 00:10:48
    Profiling
  105. Урок 105. 00:08:43
    Static Analysis
  106. Урок 106. 00:16:24
    (Challenge)
  107. Урок 107. 00:18:35
    (Demonstration)
  108. Урок 108. 00:14:20
    Double pointers (pointer to a pointer)
  109. Урок 109. 00:15:18
    Double pointers (pointer to a pointer) Part 2
  110. Урок 110. 00:06:02
    (Challenge) Double pointers
  111. Урок 111. 00:08:08
    (Demonstration) Double pointers
  112. Урок 112. 00:17:39
    Function pointers
  113. Урок 113. 00:07:24
    (Challenge) Function pointers
  114. Урок 114. 00:07:39
    (Demonstration) Function pointers
  115. Урок 115. 00:10:55
    void pointers
  116. Урок 116. 00:15:51
    Overview
  117. Урок 117. 00:17:46
    Creating a Static Library (archive)
  118. Урок 118. 00:04:24
    (Challenge) Static Library
  119. Урок 119. 00:12:13
    (Demonstration) Static Library
  120. Урок 120. 00:23:36
    Creating a Dynamic Library (Shared object)
  121. Урок 121. 00:03:55
    (Challenge) Dynamic Library
  122. Урок 122. 00:12:50
    (Demonstration) Dynamic Library
  123. Урок 123. 00:20:56
    Dynamically loading a shared object
  124. Урок 124. 00:03:54
    (Challenge) Dynamic Loading
  125. Урок 125. 00:09:52
    (Demonstration) Dynamic Loading
  126. Урок 126. 00:08:48
    Assert
  127. Урок 127. 00:17:00
    General Utilities (stdlib.h)
  128. Урок 128. 00:15:45
    General Utilities (stdlib.h) part 2
  129. Урок 129. 00:17:15
    General Utilities (stdlib.h) part 3
  130. Урок 130. 00:17:11
    Date and Time functions
  131. Урок 131. 00:02:56
    (Challenge)
  132. Урок 132. 00:11:02
    (Demonstration)
  133. Урок 133. 00:08:37
    Abstract Data Types
  134. Урок 134. 00:07:27
    Linked Lists (Overview)
  135. Урок 135. 00:20:31
    Linked LIsts (Implementation)
  136. Урок 136. 00:05:58
    (Challenge) Linked Lists
  137. Урок 137. 00:12:12
    (Demonstration) Linked Lists
  138. Урок 138. 00:06:08
    Stacks (Overview)
  139. Урок 139. 00:12:16
    Stacks (Implementation)
  140. Урок 140. 00:05:52
    Queues (Overview)
  141. Урок 141. 00:12:32
    Queues (Implementation)
  142. Урок 142. 00:10:26
    Binary Trees (Overview)
  143. Урок 143. 00:08:53
    Binary Trees (Implementation)
  144. Урок 144. 00:15:44
    Interprocess Communication
  145. Урок 145. 00:07:09
    Signals (Overview)
  146. Урок 146. 00:07:10
    Raising a Signal
  147. Урок 147. 00:12:31
    Handling a Signal using the signal function
  148. Урок 148. 00:10:53
    Handling a Signal using sigaction
  149. Урок 149. 00:09:24
    The fork() system call
  150. Урок 150. 00:06:42
    (Challenge)
  151. Урок 151. 00:07:14
    (Demonstration)
  152. Урок 152. 00:09:36
    Overview
  153. Урок 153. 00:10:44
    Creating a thread
  154. Урок 154. 00:08:49
    Passing arguments and returning values
  155. Урок 155. 00:10:36
    Common Thread functions
  156. Урок 156. 00:09:17
    Thread Synchronization Concepts
  157. Урок 157. 00:16:43
    Mutexes
  158. Урок 158. 00:08:58
    Condition Variables
  159. Урок 159. 00:13:22
    (Challenge)
  160. Урок 160. 00:15:47
    (Demonstration)
  161. Урок 161. 00:08:53
    Overview
  162. Урок 162. 00:19:20
    The Socket API
  163. Урок 163. 00:09:50
    Creating a Server Socket
  164. Урок 164. 00:10:26
    Creating a Client Socket
  165. Урок 165. 00:02:45
    (Challenge)
  166. Урок 166. 00:10:20
    (Demonstration)
  167. Урок 167. 00:23:12
    Course Summary
  168. Урок 168. 00:04:50
    Bonus Lecture and Information