Learn Python programming from Harvard University. It dives more deeply into the design and implementation of web apps with Python, JavaScript, and SQL using frameworks like Django, React, and Bootstrap. Topics include database design, scalability, security, and user experience. You will learn how to write and use APIs, create interactive UIs, and leverage cloud services like GitHub and Heroku. This course will teach you how to read and write code as well as how to test and “debug” it. It is designed for students with or without prior programming experience who’d like to learn Python specifically. Learn about functions, arguments, and return values (oh my!); variables and types; conditionals and Boolean expressions; and loops. Learn how to handle exceptions, find and fix bugs, and write unit tests; use third-party libraries; validate and extract data with regular expressions; model real-world entities with classes, objects, methods, and properties; and read and write files. Hands-on opportunities for lots of practice. Exercises inspired by real-world programming problems. No software required except for a web browser, or you can write code on your own PC or Mac. Whereas CS50x (the original CS50 course) itself focuses on computer science more generally as well as programming with C, Python, SQL, and JavaScript, this course, aka CS50P, is entirely focused on programming with Python. You can take CS50P before CS50x, during CS50x, or after CS50x. But for an introduction to computer science itself, you should still take CS50x! 💻 Slides, source code, and more at https://cs50.harvard.edu/python ✏️ Dr. David J. Malan teaches this course. 🖥 Watch the original CS50x course: https://youtu.be/8mAITcNt710 ❤️ Try interactive Python courses we love, right in your browser: https://scrimba.com/freeCodeCamp-Python (Made possible by a grant from our friends at Scrimba) ⭐️ Course Contents ⭐️ (00:00:00) Introduction (00:04:48) Lecture 0 - Functions, Variables (01:50:24) Lecture 1 - Conditionals (02:46:23) Lecture 2 - Loops (04:07:10) Lecture 3 - Exceptions (04:51:45) Lecture 4 - Libraries (06:09:15) Lecture 5 - Unit Tests (07:00:22) Lecture 6 - File I/O (08:32:32) Lecture 7 - Regular Expressions (10:37:35) Lecture 8 - Object-Oriented Programming (13:28:47) Lecture 9 - Et Cetera HOW TO JOIN CS50 COMMUNITIES Discord: https://discord.gg/cs50 Ed: https://cs50.harvard.edu/x/ed Facebook Group: https://www.facebook.com/groups/cs50/ Faceboook Page: https://www.facebook.com/cs50/ GitHub: https://github.com/cs50 Gitter: https://gitter.im/cs50/x Instagram: https://instagram.com/cs50 LinkedIn Group: https://www.linkedin.com/groups/7437240/ LinkedIn Page: https://www.linkedin.com/school/cs50/ Medium: https://cs50.medium.com/ Quora: https://www.quora.com/topic/CS50 Reddit: https://www.reddit.com/r/cs50/ Slack: https://cs50.edx.org/slack Snapchat: https://www.snapchat.com/add/cs50 SoundCloud: https://soundcloud.com/cs50 Stack Exchange: https://cs50.stackexchange.com/ TikTok: https://www.tiktok.com/@cs50 Twitter: https://twitter.com/cs50 YouTube: https://www.youtube.com/cs50 HOW TO FOLLOW DAVID J. MALAN Facebook: https://www.facebook.com/dmalan GitHub: https://github.com/dmalan Instagram: https://www.instagram.com/davidjmalan/ LinkedIn: https://www.linkedin.com/in/malan/ TikTok: https://www.tiktok.com/@davidjmalan Twitter: https://twitter.com/davidjmalan LICENSE CC BY-NC-SA 4.0 Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License https://creativecommons.org/licenses/by-nc-sa/4.0/
ADVERTISEMENT
Dear beginners, I wish you to know a few things. 1) This course-work is incredibly amazing. This can definitely take you places. There's no doubt with that. 2) It's totally okay if you feel overwhelmed in the first 10-20 minutes of the video itself. PLEASE DON'T GIVE UP - IT'S MY HUMBLE REQUEST! I shall be very honest with you - actually, what's being covered in the 10-20 minutes of this video is what we learn in 10-20 days at the normal pace. The course is just fast paced. So, please allow yourself some time. Take it very slow - one step at a time. Once again, I won't lie - Yes, the course-work is very tough (afterall it's coming out of Harvard) - you will have to Google a lot along the way, watch many other YouTube videos along the way. But, DON'T GIVE UP!
im 50 years old, i'm new never code before wish me luck. 😃
00:00 Learn Python programming from scratch with Harvard's Introduction to Programming course 06:18 Learned how to write and run a simple Python program using the command line interface. 16:45 Improving the program with user input and variables 21:38 Introduction to assignment operator and comments in Python 31:46 Pass multiple arguments to a function using commas 00:36 Learn to read documentation to understand function parameters and arguments. 47:44 Python strings have built-in functionality to manipulate user input. 52:48 Strip and title case a user's input in a single line of code. 1:03:07 Python supports interactive mode and basic arithmetic operations. 1:08:09 Create an interactive calculator in Python. 1:18:49 Support floating point values and round to nearest integer 1:24:01 Python can automatically format numbers with commas for readability. 1:34:16 Creating a custom function with parameters and default values in Python. 1:39:31 Organize functions in any order by calling main function at the end. 1:49:57 Introduction to conditionals in Python 1:55:25 Code can be correct but poorly designed, leading to repetition and inefficiency. 01:28 Simplification of code using 'else' statements 2:11:51 Simplify code by asking fewer questions 2:22:11 Introducing the modulo operator for modular arithmetic 2:27:29 Creating a function to determine if a number is even or odd 2:38:25 Implement a program using if-else construct to output the house of a Harry Potter character based on user input. 2:43:09 Introduction to Loops in Python 2:53:56 Count from 1 to 3 and print 'meow' each time 2:59:18 Introduction to for loops and lists in Python 3:10:18 Using escape sequences to concatenate strings in Python 3:15:38 Implement a meow function that prints 'meow' n times. 3:25:54 Iterating over lists using numbers in Python 3:31:22 Python dictionaries allow you to associate one value with another. 3:42:04 Iterating over dictionaries in Python 3:47:30 Introduction to dictionaries in Python 3:57:50 Implementing a reusable function to print a square using loops in Python 4:03:15 Exceptions in Python refer to problems in your code. 4:13:55 Handle errors in Python using try and except 4:18:58 Handle specific errors, not all exceptions 4:29:43 Improving user input with loops in Python 4:35:09 Abstracting user input into a function 4:45:05 Python uses indentation to associate lines of code with each other. 4:50:31 Python supports modules to encourage reusability of code. 5:01:12 Python's random module has useful functions like randint and shuffle. 5:06:04 Python has modules for generating random data and performing statistical analysis. 16:25 Handling exceptions and checking for user input in Python 5:21:33 Refactor code to separate error handling from main logic 5:32:18 Python packages provide additional functionality beyond built-in modules. 5:37:38 Python has a package manager called pip for installing third-party packages. 5:48:12 JSON is a language-agnostic format for exchanging data between computers. 5:53:30 Using Python's Json library to format data cleanly 6:04:12 Using conditional statements to prevent unwanted function calls 03:05 Testing your own code is a good practice 6:19:48 Using assert in Python can lead to errors on the screen, but try and except can catch them. 6:24:52 Pi test automates testing of code, simplifying the process. 6:35:20 Unit testing is a technique that is independent of cs50 and should be done on your own code. 00:24 Unit testing with Pi test automates testing process 6:51:11 Functions should not have side effects for better testability. 6:56:46 File I/O allows for persistent data storage 00:31 Appending to a file in Python 7:12:30 Automate file closing with 'with' keyword 7:22:30 Read and sort names from a file in Python 7:27:27 CSV files are commonly used to store multiple pieces of information that are related in the same file. 7:38:00 Read entire file to make changes in memory and write back for larger files 7:43:17 Sort a list of dictionaries by a specific key using the sorted() function and a custom key function. 7:54:33 Using Lambda functions in Python to simplify code 8:00:09 Use the CSV library in Python to read and write CSV files. 07:27 Using a dictionary reader in Python allows for flexibility in handling CSV files. 8:16:06 CSV files can be read and written using dictionaries in Python. 8:26:54 Using the pillow library, we can read and write binary image files. 8:32:16 Introduction to regular expressions in Python 8:42:43 Using the re library in Python to validate email addresses 8:47:41 Regular expressions allow for specifying patterns of characters. 8:58:15 Using raw strings and regular expressions to match email addresses 9:03:24 Regular expressions can be used to validate input and match patterns. 9:14:10 New syntax for email validation using regular expressions 9:19:34 Regular expressions can be used to represent sets of characters in a concise way. 9:30:28 Validating email addresse
⭐ Course Contents ⭐ (00:00:00) Introduction (00:04:48) Lecture 0 - Functions, Variables (01:50:24) Lecture 1 - Conditionals (02:46:23) Lecture 2 - Loops (04:07:10) Lecture 3 - Exceptions (04:51:45) Lecture 4 - Libraries (06:09:15) Lecture 5 - Unit Tests (07:00:22) Lecture 6 - File I/O (08:32:32) Lecture 7 - Regular Expressions (10:37:35) Lecture 8 - Object-Oriented Programming (13:28:47) Lecture 9 - Et Cetera
Can we just take a minute and appreciate the fact that students pay a big chunk of money to sit in this room and see this lecture and we are getting online for free. Amazing
this is some serious charity you guys are doing to young minds ♥️🙏
Courses like this from the world's most expensive and costly institutions for free show us the importance of YouTube. I mean that they are making money out of YouTube through these video courses.
He is such an insanely good instructor. For those who have not had a formal college education before, you should know that having the right professor who can articulate foundational concepts efficiently and clearly to beginner students, while also keeping it interesting, can be very hard to come by. The fact that this course and CS50x have been put up for free is awesome. I usually roll my eyes when people just assume something is good because it has an Ivy League name slapped on it, but in this case -- because David Malan -- it is good.
This teacher is a genius, I can not believe after 20 year leaving university, I still can focus his course for 2 hours! Big thanks to you, David, respect!
Just a self study index. 02:46:23 Loops 02:34:35 Conditionals - Modern syntax 02:41:46 Match cases (swift) 02:51:16 Loops - While - (chart - 02:55:33) 03:03:51 For Loop 03:30:33 A nice loops recap 03:32:56 Dictionaries 03:59:02 Functions + forLoops to print squares 04:07:10 Lecture 3 - Exceptions 04:32:47 Except in a loop 04:37:03 Playing with functions - refinement 04:51:45 - Libraries 04:55:52 Random 05:32:53 Slices 05:36:42 Packages 05:48:00 JSON 06:01:55 Making our own libraries 06:09:15 - Unit Tests 06:26:25 Pytest 07:05:59 Storing and extracting data in and from external files - Files I/O 07:38:23 Messing around lists and dictionaries - Sorting and playing with functions 08:01:38 Working with csvs 08:23:50 Images and giffs with pillow 08:32:32 Regular Expressions 09:30:37 Built-inVariables 09:53:13 Formating - Useful for clean-up data purposes 10:37:35 OOP 10:47:46 Tuples 11:02:16 Classes 11:10:29 Objects 11:42:09 __str__ 11:57:13 A quick recap about what written each line does inside the class 12:00:24 12:30:12 Decorators 12:59:05 Inheritance 13:13:23 Operation overloading 13:29:36 Some otrher stuff
In order to have a "Coding Mindset", which is essential to flourishing in this field, you must: 1.) Understand and internalize the fact that no matter what problem, annoyance, or obstacle you face, THERE IS ALWAYS A SOLUTION. You just need to find it. 2.) Have the humility to accept that you could have made a mistake somewhere, THE COMPILER IS ALWAYS RIGHT
This guy speaks for 15 hours straight every 4-6 months. Mad respect to him for that
This guy KNOWS how to explain things, the true sign of intelligence. Unlike other YT "teachers" that get you more confused than not.
3 months into learning python this is my experience. I bought a 90% off udemy course which is my main way to learn python. I spend 1-2 hours in the morning before work to learn. Afterwards I watch this video as well as the cs50 course while working. I went from knowing absolutely nothing about coding to having 6-8 tiny apps to my name. I believe I have every skill needed to learn any module I want to learn. My main focus will be machine learning and ai. I will be an industry professional in this field in 2 years or less. If you want to learn you should do it. Expect it to finally start clicking in about 2 months. It is very much worth learning. Good luck!
The fact that this guy teaches programming with Python with such passion is motivating, massive thanks.
I’m not a beginner. But I found the OOP and Unit Testing chapters incredibly useful! This is really gold. Super clear teaching style. Thank you so much for posting this on YouTube!
literally less than an hour after I searched for a full python course on youtube, FCC decided to drop one. What a miracle.
Yesterday I participated in a programming contest. Usually, we use C++, but there was a problem I couldn’t solve for the life of me! Turns out I had just watched this video two days earlier and was able to solve it in Python. Our team got second place in the contest lol
I dropped everything and watched the entire nearly 16 hour video in 1 week! One of the best videos ever.
Contents and timeline (00:00:00) ✓ Introduction (00:04:48) ✓ Lecture 0 - Functions, Variables (01:50:24) ✓ Lecture 1 - Conditionals (02:46:23) ✓ Lecture 2 - Loops (04:07:10) Lecture 3 - Exceptions (04:51:45) Lecture 4 - Libraries (06:09:15) Lecture 5 - Unit Tests (07:00:22) Lecture 6 - File I/O (08:32:32) Lecture 7 - Regular Expressions (10:37:35) Lecture 8 - Object-Oriented Programming (13:28:47) Lecture 9 - Et Cetera