CodingIntermediate
Introduction to Computer Science (Harvard CS50 Highlights)
Learn from Harvard's famous CS50 lectures: algorithms, C, Python, SQL, the web and AI.
135 lessons32h 54m of video1 quiz1 practical task Certificate

What you'll learn
- Think algorithmically and solve problems efficiently
- Understand how computers represent information
- Read and write basic C and Python
- Query data with SQL
- Understand how websites and AI work under the hood
Course content
Part 1. Thinking computationally80 lessons
- Full video (optional): Lecture 0: Scratch — computational thinkingby CS502h 1m
- Introductionby CS502 min
- Artificial Intelligenceby CS5012 min
- Computer Scienceby CS501 min
- Unaryby CS501 min
- Binaryby CS5014 min
- ASCIIby CS5011 min
- Unicodeby CS504 min
- Colorby CS505 min
- Representationby CS505 min
- Algorithmsby CS509 min
- Pseudocodeby CS509 min
- Scratchby CS504 min
- Hello, Worldby CS503 min
- Hello, Youby CS509 min
- Meowby CS504 min
- Abstractionsby CS504 min
- Conditionalsby CS502 min
- Oscartimeby CS5012 min
- Ivy’s Hardest Gameby CS509 min
- Full video (optional): Lecture 1: Cby CS502h 30m
- Introductionby CS501 min
- Source Codeby CS504 min
- Visual Studio Code for CS50by CS504 min
- Hello, Worldby CS506 min
- From Scratch to Cby CS5010 min
- Header Filesby CS503 min
- CS50 Manual Pagesby CS504 min
- Hello, Youby CS5013 min
- Terminal Commandsby CS5012 min
- Conditionalsby CS507 min
- Typesby CS506 min
- compare.cby CS509 min
- agree.cby CS505 min
- Loopsby CS504 min
- cat.cby CS5019 min
- Functionsby CS5012 min
- Correctness, Design, Styleby CS506 min
- Marioby CS5010 min
- calculator.cby CS506 min
- Integer Overflowby CS504 min
- Boeingby CS502 min
- Pacmanby CS501 min
- Truncationby CS501 min
- Floating-Point Imprecisionby CS504 min
- Full video (optional): Lecture 2: Arraysby CS502h 26m
- Introductionby CS501 min
- Reading Levelsby CS505 min
- Debuggingby CS5020 min
- debug50by CS5013 min
- Compilingby CS5022 min
- Typesby CS504 min
- scores.cby CS507 min
- Arraysby CS5017 min
- Stringsby CS5018 min
- String Lengthby CS5012 min
- uppercase.cby CS507 min
- Command Line Argumentsby CS508 min
- Exit Statusby CS504 min
- Cowsayby CS501 min
- Cryptographyby CS505 min
- Full video (optional): Lecture 3: Algorithmsby CS501h 60m
- Introductionby CS501 min
- Overviewby CS5011 min
- Searchingby CS503 min
- Linear Searchby CS503 min
- Binary Searchby CS509 min
- Running Timeby CS5012 min
- search.cby CS5011 min
- phonebook.cby CS506 min
- Structsby CS506 min
- Sortingby CS5010 min
- Selection Sortby CS508 min
- Bubble Sortby CS509 min
- Recursionby CS507 min
- iteration.cby CS504 min
- recursion.cby CS506 min
- Merge Sortby CS5012 min
- Sort Raceby CS502 min
- Quick check: CS foundations
Part 2. Python, data, web & AI55 lessons
- Full video (optional): Lecture 6: Pythonby CS502h 30m
- Introductionby CS501 min
- Pythonby CS506 min
- Spellerby CS507 min
- Filterby CS504 min
- Functionsby CS5021 min
- Data Typesby CS502 min
- Calculatorby CS509 min
- Conditionalsby CS503 min
- Compareby CS5011 min
- Object-Oriented Programmingby CS502 min
- copy.pyby CS507 min
- Loopsby CS501 min
- Meowby CS5015 min
- Truncationby CS505 min
- Exceptionsby CS509 min
- Marioby CS508 min
- Listsby CS504 min
- Dictionariesby CS5014 min
- sysby CS505 min
- csvby CS508 min
- pipby CS507 min
- Full video (optional): Lecture 7: SQLby CS502h 16m
- Introductionby CS501 min
- Flat-file Databasesby CS5023 min
- Relational Databasesby CS5029 min
- Showsby CS506 min
- Schemaby CS505 min
- Data Types and Constraintsby CS502 min
- Primary and Foreign Keysby CS501 min
- Queryingby CS5034 min
- Indexesby CS505 min
- Python and SQLby CS5012 min
- SQL injection attacksby CS508 min
- Race Conditionsby CS509 min
- Full video (optional): Lecture 8: HTML, CSS & JavaScriptby CS502h 22m
- Introductionby CS501 min
- TCP/IPby CS5011 min
- Portsby CS505 min
- DNSby CS504 min
- DHCPby CS502 min
- HTTPby CS509 min
- Status Codesby CS505 min
- Inspectby CS507 min
- HTMLby CS5040 min
- Regular Expressionsby CS507 min
- CSSby CS5014 min
- Bootstrapby CS507 min
- JavaScriptby CS5018 min
- Backgroundby CS503 min
- Blinkby CS503 min
- Autocompleteby CS508 min
- Artificial intelligenceby CS5048 min
- Take the full CS50x course (free Harvard certificate)
- Capstone project: Explain it like a teacher · 🎓 Capstone project
Capstone project: Capstone project: Explain it like a teacher. You finish by building something real; a mentor reviews it before your certificate is issued.
About this course
CS50 is Harvard University's introduction to computer science — one of the most loved courses in the world, and it's free. These are the key lectures, organised for TTA learners. Each lecture is long (about 2 hours), so watch in parts: your place is saved every time. CS50's lectures are shared by Harvard under a Creative Commons licence. To do the full course with problem sets and get Harvard's free CS50 certificate, visit cs50.harvard.edu/x.