Save this video — free

CS50 Fall 2025 - Lecture 1 - C (live, unedited)

CS50 · 3:04:41 · Watch on YouTube

CS50 Fall 2025 - Lecture 1 - C (live, unedited) Watch on YouTube →

Overview

CS50's week 1 lecture introduces C programming, contrasting it with Scratch and emphasizing the transition from visual block-based coding to text-based source code. The session covers fundamental C concepts like functions, variables, loops, and conditionals, demonstrating their implementation through practical examples like "hello world," "compare," "agree," "cat," "Mario," and a basic "calculator." Key tools like VS Code, the terminal, and command-line interfaces (CLI) are introduced, alongside essential C commands and the compilation process using `make`.

Key takeaways

Chapters

17:46 Transitioning from Scratch to C: Core Concepts
18:46 Source Code vs. Machine Code: The Role of the Compiler
22:15 Understanding the VS Code Interface: GUI and CLI
25:19 Compiling and Running the First C Program: 'hello.c'
35:16 Deconstructing 'hello.c': Functions, Printf, and Syntax
55:05 Understanding C Syntax: Quotes, Newlines, and Semicolons
1:05:29 Handling Compilation Errors: Missing Semicolons and Header Files
1:13:34 Leveraging C Libraries and Documentation (CS50.h)
1:20:03 Getting User Input with `get_string` and Storing in Variables
1:32:33 Formatted Output with `printf` and Placeholders (`%s`)
1:43:45 Essential Linux Commands for File and Directory Management
1:45:34 Navigating the File System with `cd`, `ls`, `mkdir`, `rm`, `mv`, `cp`
2:01:55 Implementing Conditionals: `if`, `else if`, and `else` Statements
2:10:41 Understanding C Data Types: `bool`, `char`, `float`, `double`, `int`, `long`
2:16:43 CS50 Library Functions for Input: `get_int`, `get_char`, `get_double`, `get_float`
2:20:00 Working with Variables: Declaration, Assignment, and Increment/Decrement
2:35:04 Implementing Loops: `while` and `for` Constructs
2:36:44 Controlling Loop Execution: `continue` and `break` Statements
2:37:17 Do-While Loops: Guaranteed Execution and Condition Checking
2:40:00 Handling User Input Variations: Logical OR (`||`) Operator
2:45:53 Defining Custom Functions: `void` Return Type and Parameters
2:58:21 Function Prototypes: Declaring Functions Before Use
3:01:58 Handling Infinite Loops: `Ctrl+C` and Resetting the Environment

Keep these chapters and the full searchable transcript in your own library.

Summary, takeaways, and chapters were generated by AI from the video's transcript and may contain errors. The video belongs to its creator, CS50.

Want the full transcript?

Save this video in YouTube Collector to get its complete searchable transcript, your own AI summaries, and a library that keeps every video you collect in one place.