{ "cs50x": { "nickname": "CS50x", "title": "CS50's Introduction to\nComputer Science", "description": "An introduction to the intellectual enterprises of computer science and the art of programming.", "type": "lecture", "artworkImageURL": "https://cdn.cs50.net/appletv/server/images/course_icons/icon_cs50x.png", "heroImg": "https://cdn.cs50.net/appletv/server/images/courses_hero.jpg", "year": { "2019": { "0": { "title": "Lecture 0 - Scratch", "description": "", "url": "https://cdn.cs50.net/2019/fall/lectures/0/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2019/fall/lectures/0/lecture0-360p.png", "type": "video" }, "1": { "title": "Lecture 1 - C", "description": "", "url": "https://cdn.cs50.net/2019/fall/lectures/1/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2019/fall/lectures/1/lecture1-360p.png", "type": "video" }, "2": { "title": "Lecture 2 - Arrays", "description": "", "url": "https://cdn.cs50.net/2019/fall/lectures/2/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2019/fall/lectures/2/lecture2-360p.png", "type": "video" }, "3": { "title": "Lecture 3 - Algorithms", "description": "", "url": "https://cdn.cs50.net/2019/fall/lectures/3/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2019/fall/lectures/3/lecture3-360p.png", "type": "video" }, "4": { "title": "Lecture 4 - Memory", "description": "", "url": "https://cdn.cs50.net/2019/fall/lectures/4/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2019/fall/lectures/4/lecture4-360p.png", "type": "video" }, "5": { "title": "Lecture 5 - Data Structures", "description": "", "url": "https://cdn.cs50.net/2019/fall/lectures/5/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2019/fall/lectures/5/lecture5-360p.png", "type": "video" }, "6": { "title": "Lecture 6 - Python", "description": "", "url": "https://cdn.cs50.net/2019/fall/lectures/6/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2019/fall/lectures/6/lecture6-360p.png", "type": "video" }, "7": { "title": "Lecture 7 - SQL", "description": "", "url": "https://cdn.cs50.net/2019/fall/lectures/7/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2019/fall/lectures/7/lecture7-360p.png", "type": "video" }, "8": { "title": "Lecture 8 - Information", "description": "", "url": "https://cdn.cs50.net/2019/fall/lectures/8/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2019/fall/lectures/8/lecture8-360p.png", "type": "video" } }, "2020": { "0": { "title": "Lecture 0 - Scratch", "description": "", "url": "https://cdn.cs50.net/2020/fall/lectures/0/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2020/fall/lectures/0/lecture0-360p.png", "type": "video" }, "1": { "title": "Lecture 1 - C", "description": "", "url": "https://cdn.cs50.net/2020/fall/lectures/1/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2020/fall/lectures/1/lecture1-360p.png", "type": "video" }, "2": { "title": "Lecture 2 - Arrays", "description": "", "url": "https://cdn.cs50.net/2020/fall/lectures/2/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2020/fall/lectures/2/lecture2-360p.png", "type": "video" }, "3": { "title": "Lecture 3 - Algorithms", "description": "", "url": "https://cdn.cs50.net/2020/fall/lectures/3/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2020/fall/lectures/3/lecture3-360p.png", "type": "video" }, "4": { "title": "Lecture 4 - Memory", "description": "", "url": "https://cdn.cs50.net/2020/fall/lectures/4/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2020/fall/lectures/4/lecture4-360p.png", "type": "video" }, "5": { "title": "Lecture 5 - Data Structures", "description": "", "url": "https://cdn.cs50.net/2020/fall/lectures/5/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2020/fall/lectures/5/lecture5-360p.png", "type": "video" }, "6": { "title": "Lecture 6 - Python", "description": "", "url": "https://cdn.cs50.net/2020/fall/lectures/6/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2020/fall/lectures/6/lecture6-360p.png", "type": "video" }, "7": { "title": "Lecture 7 - SQL", "description": "", "url": "https://cdn.cs50.net/2020/fall/lectures/7/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2020/fall/lectures/7/lecture7-360p.png", "type": "video" }, "8": { "title": "Lecture 8 - HTML, CSS, JavaScript", "description": "", "url": "https://cdn.cs50.net/2020/fall/lectures/8/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2020/fall/lectures/8/lecture8-360p.png", "type": "video" }, "9": { "title": "Lecture 9 - Flask", "description": "", "url": "https://cdn.cs50.net/2020/fall/lectures/9/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2020/fall/lectures/9/lecture9-360p.png", "type": "video" }, "10": { "title": "Lecture 10 - Ethics", "description": "", "url": "https://cdn.cs50.net/2020/fall/lectures/10/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2020/fall/lectures/10/lecture10-360p.png", "type": "video" }, "11": { "title": "Security", "description": "", "url": "https://cdn.cs50.net/2020/fall/lectures/security/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2020/fall/lectures/security/security-360p.png", "type": "video" }, "12": { "title": "Artificial Intelligence", "description": "", "url": "https://cdn.cs50.net/2020/fall/lectures/ai/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2020/fall/lectures/ai/ai-360p.png", "type": "video" } }, "2021": { "0": { "title": "Lecture 0 - Scratch", "description": "", "url": "https://cdn.cs50.net/2021/fall/lectures/0/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2021/fall/lectures/0/lecture0-360p.png", "type": "video" }, "1": { "title": "Lecture 1 - C", "description": "", "url": "https://cdn.cs50.net/2021/fall/lectures/1/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2021/fall/lectures/1/lecture1-360p.png", "type": "video" }, "2": { "title": "Lecture 2 - Arrays", "description": "", "url": "https://cdn.cs50.net/2021/fall/lectures/2/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2021/fall/lectures/2/lecture2-360p.png", "type": "video" }, "3": { "title": "Lecture 3 - Algorithms", "description": "", "url": "https://cdn.cs50.net/2021/fall/lectures/3/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2021/fall/lectures/3/lecture3-360p.png", "type": "video" }, "4": { "title": "Lecture 4 - Memory", "description": "", "url": "https://cdn.cs50.net/2021/fall/lectures/4/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2021/fall/lectures/4/lecture4-360p.png", "type": "video" }, "5": { "title": "Lecture 5 - Data Structures", "description": "", "url": "https://cdn.cs50.net/2021/fall/lectures/5/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2021/fall/lectures/5/lecture5-360p.png", "type": "video" }, "6": { "title": "Lecture 6 - Python", "description": "", "url": "https://cdn.cs50.net/2021/fall/lectures/6/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2021/fall/lectures/6/lecture6-360p.png", "type": "video" }, "7": { "title": "Lecture 7 - SQL", "description": "", "url": "https://cdn.cs50.net/2021/fall/lectures/7/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2021/fall/lectures/7/lecture7-360p.png", "type": "video" }, "8": { "title": "Lecture 8 - HTML, CSS, JavaScript", "description": "", "url": "https://cdn.cs50.net/2021/fall/lectures/8/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2021/fall/lectures/8/lecture8-360p.png", "type": "video" }, "9": { "title": "Lecture 9 - Flask", "description": "", "url": "https://cdn.cs50.net/2021/fall/lectures/9/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2021/fall/lectures/9/lecture9-360p.png", "type": "video" }, "10": { "title": "Lecture 10 - Emoji", "description": "", "url": "https://cdn.cs50.net/2021/fall/lectures/10/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2021/fall/lectures/10/lecture10-360p.png", "type": "video" }, "11": { "title": "Cybersecurity", "description": "", "url": "https://cdn.cs50.net/2021/fall/lectures/cybersecurity/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2021/fall/lectures/cybersecurity/cybersecurity-360p.png", "type": "video" } }, "2022": { "0": { "title": "Lecture 0 - Scratch", "description": "", "url": "https://cdn.cs50.net/2022/fall/lectures/0/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2022/fall/lectures/0/lecture0-360p.png", "type": "video" }, "1": { "title": "Lecture 1 - C", "description": "", "url": "https://cdn.cs50.net/2022/fall/lectures/1/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2022/fall/lectures/1/lecture1-360p.png", "type": "video" }, "2": { "title": "Lecture 2 - Arrays", "description": "", "url": "https://cdn.cs50.net/2022/fall/lectures/2/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2022/fall/lectures/2/lecture2-360p.png", "type": "video" }, "3": { "title": "Lecture 3 - Algorithms", "description": "", "url": "https://cdn.cs50.net/2022/fall/lectures/3/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2022/fall/lectures/3/lecture3-360p.png", "type": "video" }, "4": { "title": "Lecture 4 - Memory", "description": "", "url": "https://cdn.cs50.net/2022/fall/lectures/4/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2022/fall/lectures/4/lecture4-360p.png", "type": "video" }, "5": { "title": "Lecture 5 - Data Structures", "description": "", "url": "https://cdn.cs50.net/2022/fall/lectures/5/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2022/fall/lectures/5/lecture5-360p.png", "type": "video" }, "6": { "title": "Lecture 6 - Python", "description": "", "url": "https://cdn.cs50.net/2022/fall/lectures/6/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2022/fall/lectures/6/lecture6-360p.png", "type": "video" }, "7": { "title": "Lecture 7 - SQL", "description": "", "url": "https://cdn.cs50.net/2022/fall/lectures/7/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2022/fall/lectures/7/lecture7-360p.png", "type": "video" }, "8": { "title": "Lecture 8 - HTML, CSS, JavaScript", "description": "", "url": "https://cdn.cs50.net/2022/fall/lectures/8/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2022/fall/lectures/8/lecture8-360p.png", "type": "video" }, "9": { "title": "Lecture 9 - Flask", "description": "", "url": "https://cdn.cs50.net/2022/fall/lectures/9/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2022/fall/lectures/9/lecture9-360p.png", "type": "video" }, "10": { "title": "Lecture 10 - Emoji", "description": "", "url": "https://cdn.cs50.net/2022/fall/lectures/10/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2022/fall/lectures/10/lecture10-360p.png", "type": "video" }, "11": { "title": "Cybersecurity", "description": "", "url": "https://cdn.cs50.net/2022/fall/lectures/cybersecurity/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2022/fall/lectures/cybersecurity/cybersecurity-360p.png", "type": "video" } }, "2023": { "0": { "title": "Lecture 0 - Scratch", "description": "", "url": "https://cdn.cs50.net/2023/fall/lectures/0/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2023/fall/lectures/0/lecture0-360p.png", "type": "video" }, "1": { "title": "Lecture 1 - C", "description": "", "url": "https://cdn.cs50.net/2023/fall/lectures/1/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2023/fall/lectures/1/lecture1-360p.png", "type": "video" }, "2": { "title": "Lecture 2 - Arrays", "description": "", "url": "https://cdn.cs50.net/2023/fall/lectures/2/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2023/fall/lectures/2/lecture2-360p.png", "type": "video" }, "3": { "title": "Lecture 3 - Algorithms", "description": "", "url": "https://cdn.cs50.net/2023/fall/lectures/3/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2023/fall/lectures/3/lecture3-360p.png", "type": "video" }, "4": { "title": "Lecture 4 - Memory", "description": "", "url": "https://cdn.cs50.net/2023/fall/lectures/4/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2023/fall/lectures/4/lecture4-360p.png", "type": "video" }, "5": { "title": "Lecture 5 - Data Structures", "description": "", "url": "https://cdn.cs50.net/2023/fall/lectures/5/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2023/fall/lectures/5/lecture5-360p.png", "type": "video" }, "6": { "title": "Lecture 6 - Python", "description": "", "url": "https://cdn.cs50.net/2023/fall/lectures/6/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2023/fall/lectures/6/lecture6-360p.png", "type": "video" }, "7": { "title": "Lecture 6.5 - Artificial Intelligence", "description": "", "url": "https://cdn.cs50.net/2023/fall/lectures/ai/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2023/fall/lectures/ai/ai-360p.png", "type": "video" }, "8": { "title": "Lecture 7 - SQL", "description": "", "url": "https://cdn.cs50.net/2023/fall/lectures/7/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2023/fall/lectures/7/lecture7-360p.png", "type": "video" }, "9": { "title": "Lecture 8 - HTML, CSS, JavaScript", "description": "", "url": "https://cdn.cs50.net/2023/fall/lectures/8/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2023/fall/lectures/8/lecture8-360p.png", "type": "video" }, "10": { "title": "Lecture 9 - Flask", "description": "", "url": "https://cdn.cs50.net/2023/fall/lectures/9/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2023/fall/lectures/9/lecture9-360p.png", "type": "video" }, "11": { "title": "Lecture 10 - Cybersecurity", "description": "", "url": "https://cdn.cs50.net/2023/fall/lectures/cybersecurity/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2023/fall/lectures/cybersecurity/cybersecurity-360p.png", "type": "video" } } } }, "cs50cy": { "nickname": "CS50 Cybersecurity", "title": "CS50's Introduction to Cybersecurity", "description": "An introduction to the field of cybersecurity.", "artworkImageURL": "https://cdn.cs50.net/appletv/server/images/course_icons/icon_cs50cy.png", "type": "lecture", "heroImg": "TBD", "year": { "2023": { "introduction": { "title": "Introduction", "description": "", "url": "https://cdn.cs50.net/cybersecurity/2023/x/lectures/introduction/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/cybersecurity/2023/x/lectures/introduction/introduction-360p.png", "type": "video" }, "0": { "title": "Lecture 0 - Securing Accounts", "description": "", "url": "https://cdn.cs50.net/cybersecurity/2023/x/lectures/0/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/cybersecurity/2023/x/lectures/0/lecture0-360p.png", "type": "video" }, "1": { "title": "Lecture 1 - Securing Data", "description": "", "url": "https://cdn.cs50.net/cybersecurity/2023/x/lectures/1/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/cybersecurity/2023/x/lectures/1/lecture1-360p.png", "type": "video" }, "2": { "title": "Lecture 2 - Securing Systems", "description": "", "url": "https://cdn.cs50.net/cybersecurity/2023/x/lectures/2/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/cybersecurity/2023/x/lectures/2/lecture2-360p.png", "type": "video" }, "3": { "title": "Lecture 3 - Securing Software", "description": "", "url": "https://cdn.cs50.net/cybersecurity/2023/x/lectures/3/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/cybersecurity/2023/x/lectures/3/lecture3-360p.png", "type": "video" }, "4": { "title": "Lecture 4 - Preserving Privacy", "description": "", "url": "https://cdn.cs50.net/cybersecurity/2023/x/lectures/4/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/cybersecurity/2023/x/lectures/4/lecture4-360p.png", "type": "video" } } } }, "cs50sql": { "nickname": "CS50 SQL", "title": "CS50's Introduction to\nDatabases with SQL", "description": "An introduction to the fundamentals of database systems using SQL.", "artworkImageURL": "https://cdn.cs50.net/appletv/server/images/course_icons/icon_cs50sql.png", "type": "lecture", "heroImg": "TBD", "year": { "2023": { "introduction": { "title": "Introduction", "description": "", "url": "https://cdn.cs50.net/sql/2023/x/lectures/introduction/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/sql/2023/x/lectures/introduction/introduction-360p.png", "type": "video" }, "0": { "title": "Lecture 0 - Querying", "description": "", "url": "https://cdn.cs50.net/sql/2023/x/lectures/0/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/sql/2023/x/lectures/0/lecture0-360p.png", "type": "video" }, "1": { "title": "Lecture 1 - Relating", "description": "", "url": "https://cdn.cs50.net/sql/2023/x/lectures/1/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/sql/2023/x/lectures/1/lecture1-360p.png", "type": "video" }, "2": { "title": "Lecture 2 - Designing", "description": "", "url": "https://cdn.cs50.net/sql/2023/x/lectures/2/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/sql/2023/x/lectures/2/lecture2-360p.png", "type": "video" }, "3": { "title": "Lecture 3 - Writing", "description": "", "url": "https://cdn.cs50.net/sql/2023/x/lectures/3/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/sql/2023/x/lectures/3/lecture3-360p.png", "type": "video" }, "4": { "title": "Lecture 4 - Viewing", "description": "", "url": "https://cdn.cs50.net/sql/2023/x/lectures/4/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/sql/2023/x/lectures/4/lecture4-360p.png", "type": "video" }, "5": { "title": "Lecture 5 - Optimizing", "description": "", "url": "https://cdn.cs50.net/sql/2023/x/lectures/5/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/sql/2023/x/lectures/5/lecture5-360p.png", "type": "video" }, "6": { "title": "Lecture 6 - Scaling", "description": "", "url": "https://cdn.cs50.net/sql/2023/x/lectures/6/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/sql/2023/x/lectures/6/lecture6-360p.png", "type": "video" } } } }, "cs50p": { "nickname": "CS50P", "title": "CS50's Introduction to Programming with Python", "description": "An introduction to programming using Python, a popular language for general-purpose programming, data science, web programming, and more.", "type": "lecture", "artworkImageURL": "https://cdn.cs50.net/appletv/server/images/course_icons/icon_cs50p.png", "heroImg": "TBD", "year": { "2022": { "introduction": { "title": "Introduction", "description": "", "url": "https://cdn.cs50.net/python/2022/x/lectures/introduction/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/python/2022/x/lectures/introduction/introduction-360p.png", "type": "video" }, "0": { "title": "Lecture 0 - Functions, Variables", "description": "", "url": "https://cdn.cs50.net/python/2022/x/lectures/0/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/python/2022/x/lectures/0/lecture0-360p.png", "type": "video" }, "1": { "title": "Lecture 1 - Conditions", "description": "", "url": "https://cdn.cs50.net/python/2022/x/lectures/1/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/python/2022/x/lectures/1/lecture1-360p.png", "type": "video" }, "2": { "title": "Lecture 2 - Loops", "description": "", "url": "https://cdn.cs50.net/python/2022/x/lectures/2/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/python/2022/x/lectures/2/lecture2-360p.png", "type": "video" }, "3": { "title": "Lecture 3 - Exceptions", "description": "", "url": "https://cdn.cs50.net/python/2022/x/lectures/3/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/python/2022/x/lectures/3/lecture3-360p.png", "type": "video" }, "4": { "title": "Lecture 4 - Libraries", "description": "", "url": "https://cdn.cs50.net/python/2022/x/lectures/4/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/python/2022/x/lectures/4/lecture4-360p.png", "type": "video" }, "5": { "title": "Lecture 5 - Unit Tests", "description": "", "url": "https://cdn.cs50.net/python/2022/x/lectures/5/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/python/2022/x/lectures/5/lecture5-360p.png", "type": "video" }, "6": { "title": "Lecture 6 - File I/O", "description": "", "url": "https://cdn.cs50.net/python/2022/x/lectures/6/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/python/2022/x/lectures/6/lecture6-360p.png", "type": "video" }, "7": { "title": "Lecture 7 - Regular Expressions", "description": "", "url": "https://cdn.cs50.net/python/2022/x/lectures/7/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/python/2022/x/lectures/7/lecture7-360p.png", "type": "video" }, "8": { "title": "Lecture 8 - Object-Oriented Programming", "description": "", "url": "https://cdn.cs50.net/python/2022/x/lectures/8/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/python/2022/x/lectures/8/lecture8-360p.png", "type": "video" }, "9": { "title": "Lecture 9 - Et Cetera", "description": "", "url": "https://cdn.cs50.net/python/2022/x/lectures/9/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/python/2022/x/lectures/9/lecture9-360p.png", "type": "video" }, "vscode_for_cs50": { "title": "Visual Studio Code for CS50", "description": "", "url": "https://cdn.cs50.net/python/2022/x/shorts/visual_studio_code_for_cs50/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/python/2022/x/shorts/visual_studio_code_for_cs50/visual_studio_code_for_cs50-360p.png", "type": "video" }, "debugging": { "title": "Debugging", "description": "", "url": "https://cdn.cs50.net/python/2022/x/shorts/debugging/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/python/2022/x/shorts/debugging/debugging-360p.png", "type": "video" }, "style": { "title": "Style", "description": "", "url": "https://cdn.cs50.net/python/2022/x/shorts/style/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/python/2022/x/shorts/style/style-360p.png", "type": "video" } }, "2023": { "functions": { "title": "Functions", "description": "", "url": "https://cdn.cs50.net/python/2023/x/shorts/functions/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/python/2023/x/shorts/functions/functions-360p.png", "type": "video" }, "return_values": { "title": "Return Values", "description": "", "url": "https://cdn.cs50.net/python/2023/x/shorts/return_values/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/python/2023/x/shorts/return_values/return_values-360p.png", "type": "video" }, "variables": { "title": "Variables", "description": "", "url": "https://cdn.cs50.net/python/2023/x/shorts/variables/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/python/2023/x/shorts/variables/variables-360p.png", "type": "video" } } } }, "cs50s": { "nickname": "CS50S", "title": "CS50's Introduction to Programming with Scratch", "description": "A gentle introduction to programming that prepares you for subsequent courses in coding.", "type": "lecture", "artworkImageURL": "https://cdn.cs50.net/appletv/server/images/course_icons/icon_cs50s.png", "heroImg": "https://cdn.cs50.net/appletv/server/images/course_bg_cs50s.jpg", "year": { "2021": { "1": { "title": "Lecture 1 - Sprites", "description": "", "url": "https://cdn.cs50.net/scratch/2021/x/lectures/1/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/scratch/2021/x/lectures/1/lecture1-360p.png", "type": "video" }, "2": { "title": "Lecture 2 - Functions", "description": "", "url": "https://cdn.cs50.net/scratch/2021/x/lectures/2/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/scratch/2021/x/lectures/2/lecture2-360p.png", "type": "video" }, "3": { "title": "Lecture 3 - Events", "description": "", "url": "https://cdn.cs50.net/scratch/2021/x/lectures/3/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/scratch/2021/x/lectures/3/lecture3-360p.png", "type": "video" }, "4": { "title": "Lecture 4 - Values", "description": "", "url": "https://cdn.cs50.net/scratch/2021/x/lectures/4/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/scratch/2021/x/lectures/4/lecture4-360p.png", "type": "video" }, "5": { "title": "Lecture 5 - Conditions", "description": "", "url": "https://cdn.cs50.net/scratch/2021/x/lectures/5/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/scratch/2021/x/lectures/5/lecture5-360p.png", "type": "video" }, "6": { "title": "Lecture 6 - Loops", "description": "", "url": "https://cdn.cs50.net/scratch/2021/x/lectures/6/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/scratch/2021/x/lectures/6/lecture6-360p.png", "type": "video" }, "7": { "title": "Lecture 7 - Variables", "description": "", "url": "https://cdn.cs50.net/scratch/2021/x/lectures/7/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/scratch/2021/x/lectures/7/lecture7-360p.png", "type": "video" }, "8": { "title": "Lecture 8 - Abstractions", "description": "", "url": "https://cdn.cs50.net/scratch/2021/x/lectures/8/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/scratch/2021/x/lectures/8/lecture8-360p.png", "type": "video" } } } }, "cs50w": { "nickname": "CS50W", "title": "CS50's Web Programming\nwith Python and JavaScript", "description": "This course picks up where CS50 leaves off, diving more deeply into the design and implementation of web apps with Python, JavaScript, and SQL using frameworks like Django, React, and Bootstrap.", "type": "lecture", "artworkImageURL": "https://cdn.cs50.net/appletv/server/images/course_icons/icon_cs50w.png", "heroImg": "TBD", "year": { "2020": { "0": { "title": "Lecture 0 - HTML, CSS", "description": "", "url": "https://cdn.cs50.net/web/2020/spring/lectures/0/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/web/2020/spring/lectures/0/lecture0-360p.png", "type": "video" }, "1": { "title": "Lecture 1 - Git", "description": "", "url": "https://cdn.cs50.net/web/2020/spring/lectures/1/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/web/2020/spring/lectures/1/lecture1-360p.png", "type": "video" }, "2": { "title": "Lecture 2 - Python", "description": "", "url": "https://cdn.cs50.net/web/2020/spring/lectures/2/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/web/2020/spring/lectures/2/lecture2-360p.png", "type": "video" }, "3": { "title": "Lecture 3 - Django", "description": "", "url": "https://cdn.cs50.net/web/2020/spring/lectures/3/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/web/2020/spring/lectures/3/lecture3-360p.png", "type": "video" }, "4": { "title": "Lecture 4 - SQL, Models, and Migrations", "description": "", "url": "https://cdn.cs50.net/web/2020/spring/lectures/4/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/web/2020/spring/lectures/4/lecture4-360p.png", "type": "video" }, "5": { "title": "Lecture 5 - JavaScript", "description": "", "url": "https://cdn.cs50.net/web/2020/spring/lectures/5/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/web/2020/spring/lectures/5/lecture5-360p.png", "type": "video" }, "6": { "title": "Lecture 6 - User Interfaces", "description": "", "url": "https://cdn.cs50.net/web/2020/spring/lectures/6/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/web/2020/spring/lectures/6/lecture6-360p.png", "type": "video" }, "7": { "title": "Lecture 7 - Testing, CI/CD", "description": "", "url": "https://cdn.cs50.net/web/2020/spring/lectures/7/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/web/2020/spring/lectures/7/lecture7-360p.png", "type": "video" }, "8": { "title": "Lecture 8 - Scalability and Security", "description": "", "url": "https://cdn.cs50.net/web/2020/spring/lectures/8/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/web/2020/spring/lectures/8/lecture8-360p.png", "type": "video" } } } }, "cs50ai": { "nickname": "CS50 AI", "title": "CS50's Introduction to\nArtificial Intelligence with Python", "description": "Learn to use machine learning in Python in this introductory course on artificial intelligence.", "artworkImageURL": "https://cdn.cs50.net/appletv/server/images/course_icons/icon_cs50ai.png", "type": "lecture", "heroImg": "TBD", "year": { "2020": { "0": { "title": "Lecture 0 - Search", "description": "", "url": "https://cdn.cs50.net/ai/2020/spring/lectures/0/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/ai/2020/spring/lectures/0/lecture0-360p.png", "type": "video" }, "1": { "title": "Lecture 1 - Knowledge", "description": "", "url": "https://cdn.cs50.net/ai/2020/spring/lectures/1/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/ai/2020/spring/lectures/1/lecture1-360p.png", "type": "video" }, "2": { "title": "Lecture 2 - Uncertainty", "description": "", "url": "https://cdn.cs50.net/ai/2020/spring/lectures/2/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/ai/2020/spring/lectures/2/lecture2-360p.png", "type": "video" }, "3": { "title": "Lecture 3 - Optimization", "description": "", "url": "https://cdn.cs50.net/ai/2020/spring/lectures/3/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/ai/2020/spring/lectures/3/lecture3-360p.png", "type": "video" }, "4": { "title": "Lecture 4 - Learning", "description": "", "url": "https://cdn.cs50.net/ai/2020/spring/lectures/4/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/ai/2020/spring/lectures/4/lecture4-360p.png", "type": "video" }, "5": { "title": "Lecture 5 - Neural Networks", "description": "", "url": "https://cdn.cs50.net/ai/2020/spring/lectures/5/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/ai/2020/spring/lectures/5/lecture5-360p.png", "type": "video" }, "6": { "title": "Lecture 6 - Language", "description": "", "url": "https://cdn.cs50.net/ai/2020/spring/lectures/6/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/ai/2020/spring/lectures/6/lecture6-360p.png", "type": "video" } } } }, "cs50g": { "nickname": "CS50G", "title": "CS50's Introduction to\nGame Development", "description": "Learn about the development of 2D and 3D interactive games in this hands-on course, as you explore the design of games such as Super Mario Bros., Pokémon, Angry Birds, and more.", "type": "lecture", "artworkImageURL": "https://cdn.cs50.net/appletv/server/images/course_icons/icon_cs50g.png", "heroImg": "TBD", "year": { "2018": { "0": { "title": "Lecture 0 - Pong", "description": "", "url": "https://cdn.cs50.net/games/2018/spring/lectures/0/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/games/2018/spring/lectures/0/lecture0-360p.png", "type": "video" }, "1": { "title": "Lecture 1 - Flappy Birdy", "description": "", "url": "https://cdn.cs50.net/games/2018/spring/lectures/1/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/games/2018/spring/lectures/1/lecture1-360p.png", "type": "video" }, "2": { "title": "Lecture 2 - Breakout", "description": "", "url": "https://cdn.cs50.net/games/2018/spring/lectures/2/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/games/2018/spring/lectures/2/lecture2-360p.png", "type": "video" }, "3": { "title": "Lecture 3 - Match 3", "description": "", "url": "https://cdn.cs50.net/games/2018/spring/lectures/3/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/games/2018/spring/lectures/3/lecture3-360p.png", "type": "video" }, "4": { "title": "Lecture 4 - Super Mario Bros", "description": "", "url": "https://cdn.cs50.net/games/2018/spring/lectures/4/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/games/2018/spring/lectures/4/lecture4-360p.png", "type": "video" }, "5": { "title": "Lecture 5 - Legend of Zelda", "description": "", "url": "https://cdn.cs50.net/games/2018/spring/lectures/5/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/games/2018/spring/lectures/5/lecture5-360p.png", "type": "video" }, "6": { "title": "Lecture 6 - Angry Birds", "description": "", "url": "https://cdn.cs50.net/games/2018/spring/lectures/6/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/games/2018/spring/lectures/6/lecture6-360p.png", "type": "video" }, "7": { "title": "Lecture 7 - Pokémon", "description": "", "url": "https://cdn.cs50.net/games/2018/spring/lectures/7/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/games/2018/spring/lectures/7/lecture7-360p.png", "type": "video" }, "8": { "title": "Lecture 8 - Helicopter Game 3D", "description": "", "url": "https://cdn.cs50.net/games/2018/spring/lectures/8/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/games/2018/spring/lectures/8/lecture8-360p.png", "type": "video" }, "9": { "title": "Lecture 9 - Dreadhalls", "description": "", "url": "https://cdn.cs50.net/games/2018/spring/lectures/9/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/games/2018/spring/lectures/9/lecture9-360p.png", "type": "video" }, "10": { "title": "Lecture 10 - Portal", "description": "", "url": "https://cdn.cs50.net/games/2018/spring/lectures/10/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/games/2018/spring/lectures/10/lecture10-360p.png", "type": "video" }, "11": { "title": "Lecture 11 - Portal Problems", "description": "", "url": "https://cdn.cs50.net/games/2018/spring/lectures/11/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/games/2018/spring/lectures/11/lecture11-360p.png", "type": "video" } } } }, "cs50t": { "nickname": "CS50T", "title": "CS50's Understanding Technology", "description": "This is CS50’s introduction to technology for students who don’t (yet!) consider themselves computer persons.", "type": "lecture", "artworkImageURL": "https://cdn.cs50.net/appletv/server/images/course_icons/icon_cs50t.png", "heroImg": "TBD", "year": { "2017": { "1": { "title": "Lecture 1 - Hardware", "description": "", "url": "https://cdn.cs50.net/cscie1a/2017/fall/lectures/hardware/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/cscie1a/2017/fall/lectures/hardware/hardware-360p.png", "type": "video" }, "2": { "title": "Lecture 2 - Internet", "description": "", "url": "https://cdn.cs50.net/cscie1a/2017/fall/lectures/internet/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/cscie1a/2017/fall/lectures/internet/internet-360p.png", "type": "video" }, "3": { "title": "Lecture 3 - Multimedia", "description": "", "url": "https://cdn.cs50.net/cscie1a/2017/fall/lectures/multimedia/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/cscie1a/2017/fall/lectures/multimedia/multimedia-360p.png", "type": "video" }, "4": { "title": "Lecture 4 - Security", "description": "", "url": "https://cdn.cs50.net/cscie1a/2017/fall/lectures/security/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/cscie1a/2017/fall/lectures/security/security-360p.png", "type": "video" }, "5": { "title": "Lecture 5 - Web Development", "description": "", "url": "https://cdn.cs50.net/cscie1a/2017/fall/lectures/web_development/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/cscie1a/2017/fall/lectures/web_development/web_development-360p.png", "type": "video" }, "6": { "title": "Lecture 6 - Programming", "description": "", "url": "https://cdn.cs50.net/cscie1a/2017/fall/lectures/programming/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/cscie1a/2017/fall/lectures/programming/programming-360p.png", "type": "video" } } } }, "cs50b": { "nickname": "CS50B", "title": "CS50's Computer Science\nfor Business Professionals", "description": "This is CS50’s introduction to computer science for business professionals.", "type": "lecture", "artworkImageURL": "https://cdn.cs50.net/appletv/server/images/course_icons/icon_cs50b.png", "heroImg": "TBD", "year": { "2017": { "1": { "title": "Lecture 1 - Computational Thinking", "description": "", "url": "https://cdn.cs50.net/cscie1b/2017/fall/lectures/computational_thinking/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/cscie1b/2017/fall/lectures/computational_thinking/computational_thinking-360p.png", "type": "video" }, "2": { "title": "Lecture 2 - Programming Languages", "description": "", "url": "https://cdn.cs50.net/cscie1b/2017/fall/lectures/programming_languages/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/cscie1b/2017/fall/lectures/programming_languages/programming_languages-360p.png", "type": "video" }, "3": { "title": "Lecture 3 - Internet Technologies", "description": "", "url": "https://cdn.cs50.net/cscie1b/2017/fall/lectures/internet_technologies/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/cscie1b/2017/fall/lectures/internet_technologies/internet_technologies-360p.png", "type": "video" }, "4": { "title": "Lecture 4 - Web Development", "description": "", "url": "https://cdn.cs50.net/cscie1b/2017/fall/lectures/web_development/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/cscie1b/2017/fall/lectures/web_development/web_development-360p.png", "type": "video" }, "5": { "title": "Lecture 5 - Technology Stacks", "description": "", "url": "https://cdn.cs50.net/cscie1b/2017/fall/lectures/technology_stacks/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/cscie1b/2017/fall/lectures/technology_stacks/technology_stacks-360p.png", "type": "video" }, "6": { "title": "Lecture 6 - Cloud Computing", "description": "", "url": "https://cdn.cs50.net/cscie1b/2017/fall/lectures/cloud_computing/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/cscie1b/2017/fall/lectures/cloud_computing/cloud_computing-360p.png", "type": "video" } } } }, "cs50l": { "nickname": "CS50L", "title": "CS50's Computer Science\nfor Lawyers", "description": "This course is a variant of Harvard University's introduction to computer science, CS50, designed especially for lawyers (and law students).", "type": "lecture", "artworkImageURL": "https://cdn.cs50.net/appletv/server/images/course_icons/icon_cs50l.png", "heroImg": "TBD", "year": { "2019": { "0": { "title": "Lecture 0 - Computational Thinking", "description": "", "url": "https://cdn.cs50.net/law/2019/winter/lectures/0/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/law/2019/winter/lectures/0/lecture0-360p.png", "type": "video" }, "1": { "title": "Lecture 1 - Programming Languages", "description": "", "url": "https://cdn.cs50.net/law/2019/winter/lectures/1/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/law/2019/winter/lectures/1/lecture1-360p.png", "type": "video" }, "2": { "title": "Lecture 2 - Algorithms, Data Structures", "description": "", "url": "https://cdn.cs50.net/law/2019/winter/lectures/2/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/law/2019/winter/lectures/2/lecture2-360p.png", "type": "video" }, "3": { "title": "Lecture 3 - Cryptography", "description": "", "url": "https://cdn.cs50.net/law/2019/winter/lectures/3/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/law/2019/winter/lectures/3/lecture3-360p.png", "type": "video" }, "4": { "title": "Lecture 4 - Cybersecurity I", "description": "", "url": "https://cdn.cs50.net/law/2019/winter/lectures/4/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/law/2019/winter/lectures/4/lecture4-360p.png", "type": "video" }, "5": { "title": "Lecture 5 - Internet Technologies, Cloud Computing", "description": "", "url": "https://cdn.cs50.net/law/2019/winter/lectures/5/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/law/2019/winter/lectures/5/lecture5-360p.png", "type": "video" }, "6": { "title": "Lecture 6 - Web Development", "description": "", "url": "https://cdn.cs50.net/law/2019/winter/lectures/6/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/law/2019/winter/lectures/6/lecture6-360p.png", "type": "video" }, "7": { "title": "Lecture 7 - Database Design", "description": "", "url": "https://cdn.cs50.net/law/2019/winter/lectures/7/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/law/2019/winter/lectures/7/lecture7-360p.png", "type": "video" }, "8": { "title": "Lecture 8 - Cybersecurity II", "description": "", "url": "https://cdn.cs50.net/law/2019/winter/lectures/8/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/law/2019/winter/lectures/8/lecture8-360p.png", "type": "video" }, "9": { "title": "Lecture 9 - Challenges at the Intersection of Law and Technology", "description": "", "url": "https://cdn.cs50.net/law/2019/winter/lectures/9/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/law/2019/winter/lectures/9/lecture9-360p.png", "type": "video" } } } }, "cs50m": { "nickname": "CS50M", "title": "CS50's Mobile App Development with React Native", "description": "Learn about mobile app development with React Native, a popular framework maintained by Facebook that enables cross-platform native apps using JavaScript without Java or Swift.", "type": "lecture_deprecated", "artworkImageURL": "https://cdn.cs50.net/appletv/server/images/course_icons/icon_cs50m.png", "heroImg": "TBD" }, "live_streams": { "type": "live_stream", "year": { "2014": { "live000": { "title": "CS50 Live, Episode 000", "description": "David takes students on a virtual tour of Harvard and is greeted by students from all over the world. He answers questions from the CS50x audience, gives us 60 seconds of cats, and gives a glimpse of the CS50 Fair of 2013.", "url": "https://cdn.cs50.net/2014/live/000/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2014/live/000/live000-360p.png", "type": "video" }, "live001": { "title": "CS50 Live, Episode 001", "description": "In this episode... David shares some Hello World videos, answers some of your questions, and reviews some posts from Facebook and Reddit. Rob Bowden interviews Dr. Henry Leitner who tells some stories of his times with Bill Gates and Mark Zuckerberg. There are 60 seconds of puppies. And the CS50 Team heads to Scratch headquarters at MIT to talk to creator Mitchel Resnick, and Developer John Maloney about the platform. Be sure not to miss David's big 'reddor' flub at 28:20!", "url": "https://cdn.cs50.net/2014/live/001/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2014/live/001/live001-360p.png", "type": "video" }, "live002": { "title": "CS50 Live, Episode 002", "description": "In this episode, David shares some of the latest news, takes a trip to Target to get some desk lamps, and speaks with 2 of CS50's TFs about Google Glass. Don't miss Peanut Butter Jelly Time or some fun with the green screen!", "url": "https://cdn.cs50.net/2014/live/002/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2014/live/002/live002-360p.png", "type": "video" }, "live003": { "title": "CS50 Live, Episode 003", "description": "In this episode, a tour of the studio. A walkthrough of Bill Gates' own source code. An up-close look at an electro-mechanical computer. A sneak preview of Project Tango. And desk lamps. More desk lamps. Featuring Professor Harry R. Lewis and not one but two Bowdens.", "url": "https://cdn.cs50.net/2014/live/003/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2014/live/003/live003-360p.png", "type": "video" }, "live004": { "title": "CS50 Live, Episode 004", "description": "So many surprises in this episode! An hour of code, Apple's goto fail, a visit from LaunchCode, and much more. Plus an invitation to St. Louis!", "url": "https://cdn.cs50.net/2014/live/004/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2014/live/004/live004-360p.png", "type": "video" }, "live005": { "title": "CS50 Live, Episode 005", "description": "In this episode, David's lost his voice, so Ramon lends a hand with hosting. Mark Zuckerberg of Facebook gives a guest CS50 Lecture. Hadi Partovi of Code.org says hello. The team travels to St. Louis for a hackathon with LaunchCode. Plus glass blowing with Jim McKelvey, founder of LaunchCode and Square!", "url": "https://cdn.cs50.net/2014/live/005/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2014/live/005/live005-360p.png", "type": "video" }, "live006": { "title": "CS50 Live, Episode 006", "description": "In this episode, Heartbleed attacks, CS50 Stories, a trip to Vegas, a behind-the-scenes tour of Dropbox, desk lamps, and more!", "url": "https://cdn.cs50.net/2014/live/006/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2014/live/006/live006-360p.png", "type": "video" }, "live007": { "title": "CS50 Live, Episode 007", "description": "A programmable robot. The CEO of YouTube. A bug in Internet Explorer. The worst video game ever. And a trip to Valve Software.", "url": "https://cdn.cs50.net/2014/live/007/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2014/live/007/live007-360p.png", "type": "video" }, "live008": { "title": "CS50 Live, Episode 008", "description": "How Dropbox works. Tiny hamsters eating tiny burritos. Behind the scenes of CS50's 48-hour film project.", "url": "https://cdn.cs50.net/2014/live/008/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2014/live/008/live008-360p.png", "type": "video" }, "live009": { "title": "CS50 Live, Episode 009", "description": "Desk lamps, image stabilization, robosoccer, and a look back at Season 0.", "url": "https://cdn.cs50.net/2014/live/009/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2014/live/009/live009-360p.png", "type": "video" }, "outtakes": { "title": "CS50 Live Outtakes", "description": "", "url": "https://cdn.cs50.net/2014/segments/outtakes/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2014/segments/outtakes/outtakes-360p.png", "type": "video" } }, "2015": { "live_highlights_2014": { "title": "CS50 Live, Season 0 Highlights", "description": "", "url": "https://cdn.cs50.net/2015/live_highlights_2014/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2015/live_highlights_2014/live_highlights_2014-360p.png", "type": "video" }, "trailer": { "title": "CS50 Live, Season 1 Teaser", "description": "Picked up by Harvard University for another season, the creators of CS50 Live bring you... CS50 Live, Season 1.", "url": "https://cdn.cs50.net/2015/video_projects/trailer/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2015/video_projects/trailer/trailer-360p.png", "type": "video" }, "live100": { "title": "CS50 Live, Episode 100", "description": "", "url": "https://cdn.cs50.net/2015/live/100/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2015/live/100/live100-360p.png", "type": "video" }, "live101": { "title": "CS50 Live, Episode 101", "description": "", "url": "https://cdn.cs50.net/2015/live/101/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2015/live/101/live101-360p.png", "type": "video" } }, "2016": { "cs50_live_season_two_promo": { "title": "CS50 Live Season 2 Promo", "description": "", "url": "https://cdn.cs50.net/2016/spring/video_projects/cs50_live_season_two_promo/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2016/spring/video_projects/cs50_live_season_two_promo/cs50_live_season_two_promo-360p.png", "type": "video" } }, "2017": { "live300": { "title": "User Error on a Massive Scale - CS50 Live - S3E0", "description": "", "url": "https://cdn.cs50.net/2017/spring/live/300/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2017/spring/live/300/live300-360p.png", "type": "video" }, "live301": { "title": "User Error on a Massive Scale - CS50 Live - S3E1", "description": "", "url": "https://cdn.cs50.net/2017/spring/live/301/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2017/spring/live/301/live301-360p.png", "type": "video" }, "live302": { "title": "User Error on a Massive Scale - CS50 Live - S3E2", "description": "", "url": "https://cdn.cs50.net/2017/spring/live/302/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2017/spring/live/302/live302-360p.png", "type": "video" }, "live303": { "title": "User Error on a Massive Scale - CS50 Live - S3E3", "description": "", "url": "https://cdn.cs50.net/2017/spring/live/303/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2017/spring/live/303/live303-360p.png", "type": "video" } } } }, "podcast": { "title": "", "description": "", "type": "podcast", "year": { "2019": { "0": { "title": "Robocalls, Facebook Passwords", "description": "The Facebook plain-text password controversy and the new (irritating!) phenomenon of the robocall.", "url": "https://cdn.cs50.net/podcast/000/000.mp3", "artworkImageURL": "https://cdn.cs50.net/podcast/000/000.png", "type": "audio" }, "1": { "title": "Trust", "description": "Trust, both why it's necessary and why we should be wary of what it may sometimes mean, especially in technology and computer science.", "url": "https://cdn.cs50.net/podcast/001/001.mp3", "artworkImageURL": "https://cdn.cs50.net/podcast/001/001.png", "type": "audio" }, "2": { "title": "Task Lists, Facial Recognition", "description": "The power and simplicity of task lists and the ethical boundaries of present and future facial recognition software.", "url": "https://cdn.cs50.net/podcast/002/002.mp3", "artworkImageURL": "https://cdn.cs50.net/podcast/002/002.png", "type": "audio" }, "3": { "title": "Password Security, Incognito Mode", "description": "Just how many insecure passwords are out in the open (and which ones in particular!), new features added to Chrome's Incognito Mode, and much more.", "url": "https://cdn.cs50.net/podcast/003/003.mp3", "artworkImageURL": "https://cdn.cs50.net/podcast/003/003.png", "type": "audio" }, "4": { "title": "Internet Explorer, Smart Locks", "description": "A tale of how YouTube eliminated Internet Explorer 6, stories of security concerning both digital and physical keys, and much more.", "url": "https://cdn.cs50.net/podcast/004/004.mp3", "artworkImageURL": "https://cdn.cs50.net/podcast/004/004.png", "type": "audio" }, "5": { "title": "Ransomware, WhatsApp Spyware", "description": "The woes of ransomware (and the companies that claim to fight it), a vector for spyware injection in WhatsApp, and much more.", "url": "https://cdn.cs50.net/podcast/005/005.mp3", "artworkImageURL": "https://cdn.cs50.net/podcast/005/005.png", "type": "audio" }, "6": { "title": "Machine Learning", "description": "Brian Yu joins David as co-host for the first time, and the two share a discussion of a topic very much in vogue: machine learning.", "url": "https://cdn.cs50.net/podcast/006/006.mp3", "artworkImageURL": "https://cdn.cs50.net/podcast/006/006.png", "type": "audio" }, "7": { "title": "Why C?", "description": "David and Brian talk about why CS50 is taught (primarily) in C.", "url": "https://cdn.cs50.net/podcast/007/007.mp3", "artworkImageURL": "https://cdn.cs50.net/podcast/007/007.png", "type": "audio" }, "8": { "title": "FaceApp", "description": "David and Brian talk about FaceApp, which uses machine learning to alter photos of people.", "url": "https://cdn.cs50.net/podcast/008/008.mp3", "artworkImageURL": "https://cdn.cs50.net/podcast/008/008.png", "type": "audio" }, "9": { "title": "Restrucruting CS50", "description": "David and Brian discuss changes made to CS50 at Harvard in Fall 2019, among them new-and-improved lectures, weekly quizzes, by-appointment tutorials, a choice of end-of-term \"tracks\" for students, and lots of new problem sets. Hear the reasons behind those changes as well as what worked well and what didn't.", "url": "https://cdn.cs50.net/podcast/009/009.mp3", "artworkImageURL": "https://cdn.cs50.net/podcast/009/009.png", "type": "audio" }, "10": { "title": "Teaching Academic Honesty", "description": "David and Brian discuss CS50's experience with matters of academic dishonesty, whereby students sometimes submit work that's not entirely their own. While the course aspires each year to reduce the number of instances thereof, most educationally impactful to date has been the course's introduction of a \"regret clause\" to its syllabus. If students do cross some ethical line, often late at night under significant stress, they are now encouraged to reach out to the course's heads within 72 hours. The course then addresses the matter internally, without escalation to the university itself. While the work in question is usually zeroed, students are often referred to other resources on campus as well for academic support and mental health. The effect has been to transform a process that was once primarily punitive into teachable moments.", "url": "https://cdn.cs50.net/podcast/010/010.mp3", "artworkImageURL": "https://cdn.cs50.net/podcast/010/010.png", "type": "audio" }, "11": { "title": "Making a CS50 Fair", "description": "In this episode, David and Brian discuss the origins of the CS50 Fair, the end-of-term exhibition of final projects that capstones CS50 students' experience. Why so many balloons? Why the raffle? And how can others run their own CS50 Fairs? All it took at first, it turns out, was some Entenmann's cakes!", "url": "https://cdn.cs50.net/podcast/011/011.mp3", "artworkImageURL": "https://cdn.cs50.net/podcast/011/011.png", "type": "audio" } } } }, "puppetry": { "type": "short_films", "year": { "2013": { "muppets_day0": { "title": "Muppet's Day 0", "description": "", "url": "https://cdn.cs50.net/2013/fall/films/week0_muppet/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2013/fall/films/week0_muppet/muppets_day0.png", "type": "video" } }, "2014": { "muppet_yale": { "title": "CS50 Movin' Right Along", "description": "", "url": "https://cdn.cs50.net/2014/fall/films/muppet_yale/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2014/fall/films/muppet_yale/muppet_yale-360p.png", "type": "video" }, "muppet_hackathon": { "title": "Muppet Hackathon", "description": "", "url": "https://cdn.cs50.net/2014/fall/films/muppet_hackathon/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2014/fall/films/muppet_hackathon/muppet_hackathon-360p.png", "type": "video" } }, "2016": { "london_muppets": { "title": "London muppets", "description": "", "url": "https://cdn.cs50.net/2016/spring/video_projects/london_muppets/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2016/spring/video_projects/london_muppets/london_muppets-360p.png", "type": "video" }, "rosebud": { "title": "Rosebud", "description": "", "url": "https://cdn.cs50.net/2016/fall/video_projects/outros/outros/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2016/fall/video_projects/outros/outros/all_outros.png", "type": "video" } }, "2017": { "coding_contest_2017": { "title": "CS50 Coding Contest 2017", "description": "", "url": "https://cdn.cs50.net/2017/spring/video_projects/coding_contest_2017/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2017/spring/video_projects/coding_contest_2017/coding_contest_2017-360p.png", "type": "video" } }, "2018": { "48_down_here": { "title": "Down Here", "description": "", "url": "https://cdn.cs50.net/2018/summer/video_projects/48_down_here/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2018/summer/video_projects/48_down_here/down_here-360p.png", "type": "video" }, "muppet_for_the_job": { "title": "Muppet for the Job", "description": "", "url": "https://cdn.cs50.net/2018/summer/video_projects/muppet_for_the_job/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2018/summer/video_projects/muppet_for_the_job/muppet_for_the_job-360p.png", "type": "video" } } } }, "short_films": { "type": "short_films", "year": { "2013": { "no_need_to_tip": { "title": "No Need To Tip!", "description": "", "url": "https://cdn.cs50.net/2013/fall/films/providence/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2013/fall/films/providence/no_need_to_tip.png", "type": "video" }, "it_video": { "title": "IT Shorts Film Competition 2013", "description": "", "url": "https://cdn.cs50.net/2013/fall/films/it_video/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2013/fall/films/it_video/it_video-720p.png", "type": "video" } }, "2014": { "persistence": { "title": "Persistence", "description": "", "url": "https://cdn.cs50.net/2014/projects/48hfp/boston/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2014/projects/48hfp/boston/persistence_youtube-360p.png", "type": "video" } }, "2018": { "48_down_here": { "title": "Down Here", "description": "", "url": "https://cdn.cs50.net/2018/summer/video_projects/48_down_here/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2018/summer/video_projects/48_down_here/down_here-360p.png", "type": "video" } }, "2019": { "48_last_show": { "title": "Last Show", "description": "", "url": "https://cdn.cs50.net/2019/summer/video_projects/48_last_show/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2019/summer/video_projects/48_last_show/48_last_show-360p.png", "type": "video" } } } }, "music_videos": { "type": "music_videos", "year": { "2015": { "feeling_good": { "title": "Feeling Good", "description": "", "url": "https://cdn.cs50.net/2015/video_projects/feeling_good/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2015/video_projects/feeling_good/feeling_good-360p.png" }, "pretty_hurts": { "title": "Pretty Hurts", "description": "", "url": "https://cdn.cs50.net/2015/video_projects/pretty_hurts/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2015/video_projects/pretty_hurts/pretty_hurts_apple_tv_cover.png" }, "funk50": { "title": "Funk50", "description": "", "url": "https://cdn.cs50.net/2015/video_projects/funk50/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2015/video_projects/funk50/funk50-720p.png" } } } }, "sections": { "type": "sections", "year": { "2022": { "1": { "title": "Section 1", "description": "", "url": "https://cdn.cs50.net/2022/fall/sections/1/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2022/fall/sections/1/section1-360p.png" }, "2": { "title": "Section 2", "description": "", "url": "https://cdn.cs50.net/2022/fall/sections/2/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2022/fall/sections/2/section2-360p.png" }, "3": { "title": "Section 3", "description": "", "url": "https://cdn.cs50.net/2022/fall/sections/3/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2022/fall/sections/3/section3-360p.png" }, "4": { "title": "Section 4", "description": "", "url": "https://cdn.cs50.net/2022/fall/sections/4/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2022/fall/sections/4/section4-360p.png" }, "5": { "title": "Section 5", "description": "", "url": "https://cdn.cs50.net/2022/fall/sections/5/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2022/fall/sections/5/section5-360p.png" }, "6": { "title": "Section 6", "description": "", "url": "https://cdn.cs50.net/2022/fall/sections/6/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2022/fall/sections/6/section6-360p.png" }, "7": { "title": "Section 7", "description": "", "url": "https://cdn.cs50.net/2022/fall/sections/7/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2022/fall/sections/7/section7-360p.png" }, "8": { "title": "Section 8", "description": "", "url": "https://cdn.cs50.net/2022/fall/sections/8/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2022/fall/sections/8/section8-360p.png" }, "9": { "title": "Section 9", "description": "", "url": "https://cdn.cs50.net/2022/fall/sections/9/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2022/fall/sections/9/section9-360p.png" } }, "2023": { "1": { "title": "Section 1", "description": "", "url": "https://cdn.cs50.net/2023/fall/sections/1/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2023/fall/sections/1/section1-360p.png" }, "2": { "title": "Section 2", "description": "", "url": "https://cdn.cs50.net/2023/fall/sections/2/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2023/fall/sections/2/section2-360p.png" }, "3": { "title": "Section 3", "description": "", "url": "https://cdn.cs50.net/2023/fall/sections/3/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2023/fall/sections/3/section3-360p.png" }, "4": { "title": "Section 4", "description": "", "url": "https://cdn.cs50.net/2023/fall/sections/4/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2023/fall/sections/4/section4-360p.png" }, "5": { "title": "Section 5", "description": "", "url": "https://cdn.cs50.net/2023/fall/sections/5/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2023/fall/sections/5/section5-360p.png" }, "6": { "title": "Section 6", "description": "", "url": "https://cdn.cs50.net/2023/fall/sections/6/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2023/fall/sections/6/section6-360p.png" }, "7": { "title": "Section 7", "description": "", "url": "https://cdn.cs50.net/2023/fall/sections/7/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2023/fall/sections/7/section7-360p.png" }, "8": { "title": "Section 8", "description": "", "url": "https://cdn.cs50.net/2023/fall/sections/8/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2023/fall/sections/8/section8-360p.png" }, "9": { "title": "Section 9", "description": "", "url": "https://cdn.cs50.net/2023/fall/sections/9/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2023/fall/sections/9/section9-360p.png" } } } }, "shorts": { "type": "shorts", "year": { "2017": { "arrays": { "title": "Arrays", "description": "", "url": "https://cdn.cs50.net/2017/fall/shorts/arrays/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2017/fall/shorts/arrays/arrays-360p.png" }, "binary_search": { "title": "Binary Search", "description": "", "url": "https://cdn.cs50.net/2017/fall/shorts/binary_search/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2017/fall/shorts/binary_search/binary_search-360p.png" }, "bubble_sort": { "title": "Bubble Sort", "description": "", "url": "https://cdn.cs50.net/2017/fall/shorts/bubble_sort/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2017/fall/shorts/bubble_sort/bubble_sort-360p.png" }, "css": { "title": "CSS", "description": "", "url": "https://cdn.cs50.net/2017/fall/shorts/css/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2017/fall/shorts/css/css-360p.png" }, "call_stacks": { "title": "Call Stacks", "description": "", "url": "https://cdn.cs50.net/2017/fall/shorts/call_stacks/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2017/fall/shorts/call_stacks/call_stacks-360p.png" }, "command_line_arguments": { "title": "Command Line Arguments", "description": "", "url": "https://cdn.cs50.net/2017/fall/shorts/command_line_arguments/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2017/fall/shorts/command_line_arguments/command_line_arguments-360p.png" }, "command_line": { "title": "Command Line", "description": "", "url": "https://cdn.cs50.net/2017/fall/shorts/command_line/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2017/fall/shorts/command_line/command_line-360p.png" }, "conditional_statements": { "title": "Conditional Statements", "description": "", "url": "https://cdn.cs50.net/2017/fall/shorts/conditional_statements/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2017/fall/shorts/conditional_statements/conditional_statements-360p.png" }, "dom": { "title": "DOM", "description": "", "url": "https://cdn.cs50.net/2017/fall/shorts/dom/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2017/fall/shorts/dom/dom-360p.png" }, "data_structures": { "title": "Data Structures", "description": "", "url": "https://cdn.cs50.net/2017/fall/shorts/data_structures/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2017/fall/shorts/data_structures/data_structures-360p.png" }, "data_types": { "title": "Data Types", "description": "", "url": "https://cdn.cs50.net/2017/fall/shorts/data_types/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2017/fall/shorts/data_types/data_types-360p.png" }, "custom_types": { "title": "Custom Types", "description": "", "url": "https://cdn.cs50.net/2017/fall/shorts/custom_types/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2017/fall/shorts/custom_types/custom_types-360p.png" }, "doubly_linked_lists": { "title": "Doubly Linked Lists", "description": "", "url": "https://cdn.cs50.net/2017/fall/shorts/doubly_linked_lists/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2017/fall/shorts/doubly_linked_lists/doubly_linked_lists-360p.png" }, "dynamic_memory_allocation": { "title": "Dynamic Memory Allocation", "description": "", "url": "https://cdn.cs50.net/2017/fall/shorts/dynamic_memory_allocation/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2017/fall/shorts/dynamic_memory_allocation/dynamic_memory_allocation-360p.png" }, "file_pointers": { "title": "File Pointers", "description": "", "url": "https://cdn.cs50.net/2017/fall/shorts/file_pointers/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2017/fall/shorts/file_pointers/file_pointers-360p.png" }, "flask": { "title": "Flask", "description": "", "url": "https://cdn.cs50.net/2017/fall/shorts/flask/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2017/fall/shorts/flask/flask-360p.png" }, "functions": { "title": "Functions", "description": "", "url": "https://cdn.cs50.net/2017/fall/shorts/functions/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2017/fall/shorts/functions/functions-360p.png" }, "html": { "title": "HTML", "description": "", "url": "https://cdn.cs50.net/2017/fall/shorts/html/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2017/fall/shorts/html/html-360p.png" }, "http": { "title": "HTTP", "description": "", "url": "https://cdn.cs50.net/2017/fall/shorts/http/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2017/fall/shorts/http/http-360p.png" }, "hash_tables": { "title": "Hash Tables", "description": "", "url": "https://cdn.cs50.net/2017/fall/shorts/hash_tables/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2017/fall/shorts/hash_tables/hash_tables-360p.png" }, "hexadecimal": { "title": "Hexadecimal", "description": "", "url": "https://cdn.cs50.net/2017/fall/shorts/hexadecimal/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2017/fall/shorts/hexadecimal/hexadecimal-360p.png" }, "ip": { "title": "IP", "description": "", "url": "https://cdn.cs50.net/2017/fall/shorts/ip/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2017/fall/shorts/ip/ip-360p.png" }, "internet_primer": { "title": "Internet Primer", "description": "", "url": "https://cdn.cs50.net/2017/fall/shorts/internet_primer/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2017/fall/shorts/internet_primer/internet_primer-360p.png" }, "javascript": { "title": "JavaScript", "description": "", "url": "https://cdn.cs50.net/2017/fall/shorts/javascript/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2017/fall/shorts/javascript/javascript-360p.png" }, "linear_search": { "title": "Linear Search", "description": "", "url": "https://cdn.cs50.net/2017/fall/shorts/linear_search/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2017/fall/shorts/linear_search/linear_search-360p.png" }, "loops": { "title": "Loops", "description": "", "url": "https://cdn.cs50.net/2017/fall/shorts/loops/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2017/fall/shorts/loops/loops-360p.png" }, "magic_numbers": { "title": "Magic Numbers", "description": "", "url": "https://cdn.cs50.net/2017/fall/shorts/magic_numbers/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2017/fall/shorts/magic_numbers/magic_numbers-360p.png" }, "merge_sort": { "title": "Merge Sort", "description": "", "url": "https://cdn.cs50.net/2017/fall/shorts/merge_sort/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2017/fall/shorts/merge_sort/merge_sort-360p.png" }, "operators": { "title": "Operators", "description": "", "url": "https://cdn.cs50.net/2017/fall/shorts/operators/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2017/fall/shorts/operators/operators-360p.png" }, "pointers": { "title": "Pointers", "description": "", "url": "https://cdn.cs50.net/2017/fall/shorts/pointers/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2017/fall/shorts/pointers/pointers-360p.png" }, "python": { "title": "Python", "description": "", "url": "https://cdn.cs50.net/2017/fall/shorts/python/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2017/fall/shorts/python/python-360p.png" }, "queues": { "title": "Queues", "description": "", "url": "https://cdn.cs50.net/2017/fall/shorts/queues/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2017/fall/shorts/queues/queues-360p.png" }, "recursion": { "title": "Recursion", "description": "", "url": "https://cdn.cs50.net/2017/fall/shorts/recursion/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2017/fall/shorts/recursion/recursion-360p.png" }, "selection_sort": { "title": "Selection Sort", "description": "", "url": "https://cdn.cs50.net/2017/fall/shorts/selection_sort/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2017/fall/shorts/selection_sort/selection_sort-360p.png" }, "singly_linked_lists": { "title": "Singly Linked Lists", "description": "", "url": "https://cdn.cs50.net/2017/fall/shorts/singly_linked_lists/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2017/fall/shorts/singly_linked_lists/singly_linked_lists-360p.png" }, "sql": { "title": "SQL", "description": "", "url": "https://cdn.cs50.net/2017/fall/shorts/sql/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2017/fall/shorts/sql/sql-360p.png" }, "stacks": { "title": "Stacks", "description": "", "url": "https://cdn.cs50.net/2017/fall/shorts/stacks/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2017/fall/shorts/stacks/stacks-360p.png" }, "structures": { "title": "Structures", "description": "", "url": "https://cdn.cs50.net/2017/fall/shorts/structures/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2017/fall/shorts/structures/structures-360p.png" }, "tcp": { "title": "TCP", "description": "", "url": "https://cdn.cs50.net/2017/fall/shorts/tcp/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2017/fall/shorts/tcp/tcp-360p.png" }, "tries": { "title": "Tries", "description": "", "url": "https://cdn.cs50.net/2017/fall/shorts/tries/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2017/fall/shorts/tries/tries-360p.png" }, "variables_and_scope": { "title": "Variables and Scope", "description": "", "url": "https://cdn.cs50.net/2017/fall/shorts/variables_and_scope/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2017/fall/shorts/variables_and_scope/variables_and_scope-360p.png" } }, "2021": { "secret": { "title": "Secret", "description": "", "url": "https://cdn.cs50.net/2021/fall/shorts/secret/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2021/fall/shorts/secret/secret-360p.png" }, "guess": { "title": "Guess", "description": "", "url": "https://cdn.cs50.net/2021/fall/shorts/guess/hls/index.m3u8", "artworkImageURL": "https://cdn.cs50.net/2021/fall/shorts/guess/guess-360p.png" } } } } }