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!
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 addresses using regular expressions in Python 9:35:59 Validating email addresses using regular expressions 9:46:51 Standardize user input to avoid data inconsistencies 9:51:54 Improved code using regular expressions to capture user input 10:03:06 Python's walrus operator allows for assigning and asking a Boolean question in one line. 10:08:22 Extracting Twitter username using regular expressions 10:19:07 Tolerating HTTP and HTTPS in regular expressions 10:24:40 Use re.search instead of re.sub for conditional logic 10:35:54 Introduction to Object-Oriented Programming in Python 10:41:12 Writing functions as building blocks for more complex programs. 10:51:14 Immutable tuples cannot be changed, but lists can be used instead. 10:56:28 Using dictionaries for better semantics and readability 11:06:56 Creating custom data types using classes in Python 11:12:12 Classes in Python allow for standardization of attributes and methods. 11:23:09 Classes offer more features than dictionaries 11:28:26 Encapsulate validation logic inside the class 11:38:52 Classes in Python can be imported and used in other files or projects, and can have optional variables and custom error messages. 11:44:20 Adding a Patronus attribute to the Student class 11:55:17 Classes allow instance variables to be accessed and changed using dot notation, even if they do not meet validation requirements. 12:00:44 Python properties allow for more control over attributes. 00:22 Using getters and setters in Python classes for more control 12:17:02 Python does not have hard constraints for visibility of instance variables. 12:27:52 Learn about class methods in Python 12:33:17 Implemented a Sorting Hat class that assigns a house to Harry randomly. 12:44:09 Object-oriented programming is a way of encapsulating related data and functionality inside classes. 12:49:26 Moved related functionality to class method for better design 13:00:05 Object-oriented programming in Python supports inheritance. 13:05:07 Inheritance allows subclasses to inherit functionality from their parent classes. 13:15:30 Create a Vault class with an init method and a stir method to print out the contents of the vault. 13:20:33 Python allows operator overloading with special methods. 13:31:13 Using sets to find unique values in a list of dictionaries 13:36:09 Implementing a simple bank in Python with deposit and withdraw functions. 13:46:32 Implementing bank account using object-oriented programming 13:51:43 Python does not enforce constants, only conventions. 14:01:38 Adding type hints to variables and functions can help catch errors before running the code. 14:07:07 Using type hints in Python can catch errors before running the program. 14:18:00 Documenting code using conventions and tools 14:23:14 Modify meows program to take command line arguments 14:33:24 Outsource commodity tasks to focus on the interesting parts of a project 14:38:36 Python offers powerful features like automatic error messages and value unpacking. 14:48:58 Unpacking can be done with dictionaries as well 14:54:11 Python allows for variable number of arguments in functions using *args and **kwargs. 15:04:31 Python supports procedural, object-oriented, and functional programming paradigms. 15:09:41 Use map() function to apply a function to every element of a list. 15:20:20 Two approaches to filter a list of Gryffindor students in Python 15:25:34 Using dictionary comprehensions to build data structures more succinctly 15:36:04 Learn how to generate values in Python from functions. 15:40:48 Printing large number of sheep is causing memory issues 15:51:16 CS50's Python course covers a variety of programming concepts and tools. 15:56:19 Learning Python helps in problem-solving and self-teaching
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!
Hey everyone I'm a beginner in coding and I got VS code on my Mac and I need help opening up the Terminal that he has open. The one I get as a bunch of info and it doesn't have the dollar sign. Thank you in advance.
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 RUclips videos along the way. But, DON'T GIVE UP!
Thank you for saying this. I have never coded before doing this course and am up to week 5. I will remember what you said and keep going until I finish! 💪
this is one of those videos that proves that studying doesn't need to be tedious, you just gotta make it interesting. i'm watching even the simplest stuff he's teaching just cause he makes it dynamic and interesting to learn.
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 @properties 12:30:12 Decorators 12:59:05 Inheritance 13:13:23 Operation overloading 13:29:36 Some otrher stuff
6hrs in and I love how clear his examples are and explanations are of every part. What a wonderful job you did here professor. I’m definitely grateful for this resource, and hope you do many more in the future.
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
@elmourzaeff Can either of you kind people explain why in the video he's able to call a function BEFORE its been defined, and then call main() at the end and it works just fine...?🤔 Everytime I try that I get an error about it not being assigned. 😢 Everything I read says this is Improper. But he's doing it NO PROBLEM 🤯 What am I missing?
@@ebotbeatup5741 He does not call a function before it is defined. He calls the main() function at the very end of the file which means he calls the functions inside of main() after they are defined.
@@ebotbeatup5741because even tho he is writing main function before the defined function, he is calling main after he defined the function so the function already exists when the main function is being called if yours is not working, you must be doing something wrong, sometimes mistakes can be subtle but if you keep trying you'll eventually find it
Day 1 : 1:04:20 Day 2 : 1:50:15 Day 3 : 2:46:20 Day 4 : 3:42:20 Day 5 : Reviewing from 3:22:00-4:07:10 Day 6 : 4:41:00( Also making my own calculator and guessing number from 1-100 by generating an random number and using if, Elif and try expect. Day 7 : 4:51:45 A little bit busy today, i going out alot. But in the night i learn some with brocode and succesfully finished the fourth lecture. I also upgrade my calculator so it have list of number that it can use to determine the operator. Day 8 : 5:30:30. I make my coin flip game base on number using rand.range function , than i ask the user if they want to choose head or tailsz then from the randomize number, it will determine if it head or tails. And then the are part if else that compare if the user input are true or wrong from the randomize number that already being determine head or tails by if else. And i also use while concept to just print to the user input if the input are not head or tails. And lasly print it to the terminal. I will continue my journey today at brocode. Day 9 : 6:09:15 Going to continue from brocode now until i done all the basic there.
Courses like this from the world's most expensive and costly institutions for free show us the importance of RUclips. I mean that they are making money out of RUclips through these video courses.
@@ayushdey5494 Yeah I'm actually enrolled and auditing this course on Edx. Personally, I think these sites are better than RUclips because it's more structured plus there's quizzes and tests to see how much you learned.
@@ayushdey5494 Also, I should point out that Edx's layout is more focused. RUclips has all that unnecessary video recommendations which is very distracting.
David really is a great teacher, as someone who is somewhat new and also hates school, this man knows exactly what he is doing. He provides examples as bad, good, better, and best to really give you an idea on how a programmer should think.
This is incredible. His teaching is, of course, the best! But what I appreciate even more is his attitude towards answering questions. He never says "That is out of scope for the course" or that "it cannot be discussed at the moment". He always provides clear answers without any judgment, making it easy for all students to understand. I can tell students feel safe asking any question without fear of seeming foolish. I have so much respect for Professor David Malan. I've never met a teacher like him in my life. Love him so much.
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.
@@ken-mb5cp sure. would you know how a languange works if they just drop you into work? would they have even hired you if you hadn't known what a variable was? of course not. obviously work experience is far superior, but you need to learn it somewhere. i'm here because i'm working in finance and want to learn to code for my job, or to possibly look at other opportunities, to broaden my horizon. i can't learn it on the job, and i'm not going to quit to apply for an internship to learn python. they wouldn't even hire me with my current knowledge.
This course is just what you need for starting programming and if you are worried about forgetting it there are some problem sets in the cs50 official website and also a certification if you want 10/10
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 RUclips!
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
I'm four hours into this and I've already learned more than I did in an entire semester of programming with a really, really, REALLY bad teacher. This is amazing!
GPT and github co pilot are great learning tools too to go along with these courses, my only coding background is 20-/+ year ago when i learned visual basic in 6st grade, and 3 hours into this course i was able to use GPT to create a program to convert PDF files into MP3 files, with a GUI then had to rewrite the code cause for some reason GPT gave me code that wasn't compatible with the pyPDF2 3.0.0 library and then made it into an exe that can run on another system
Day 0, 1:20:00 Day 1, 1:58:14 (did 30 minutes of self study) Day 2, 2:41:43 (reviewed lesson code, and learnt the definition of syntax. Watched a Bro Code video on "Python calculator program" which simply uses if statements and serves as practice.) Day 3, 2:54:36 (today will be a short break day) Day 4, 3:32:24 (while loop, for loop, list[new datatype], range()[expects interger values], function, return, list, len, dict) Day 5, 3:32:24 today I studied and applied my knowledge, it's best to do so for the next couple days to cement my knowledge. I made a calculator with a list [] of my operators and used a while loop for users to input their number, operator, then 2nd number and if statements Day 6, 3:32:24 I made a dice roller, which I imported the random module and used a for loop to roll dice from my list 1-6, 5 times cause that's how many dice you roll for yahtzee. Trying to learn how to implement conditions you reach, like 4 of a kind and print that you've got a 4 of a kind. Day 7, 4:07:10 I made a spending tracker to project my bank account balance if I spent $20 over my daily income across x amount of days using a for loop. Day 8, 4:07:10 I think I'm gonna hop to a new tutorial and actually build a foundation, I understand and am able to read code. But I can't for the life of me create good and original code. I can look at code and take from it and create something out of it at my best. I used code wars 8kyu for about 1 1/2 hours, it's mostly things about basic math. Day 9, 4:07:10 some more code wars I'm pretty confident in the 8th rank so far. The 7th rank will be quite a bit more difficult but I'll keep trying and learn / cover some more important topics and apply it. Day 10 4:07:10 More codewars practice a little a day this is a life long career Day 11 4:07:10 I made my own rock paper scissors game completely from scratch, with little help only needed to reference a prior project on dice rolling implementing the random module and using it "random.choice" Day 11 4:37:10 The course is much easier now that I applied my previous knowledge of loops I feel like I'm one step ahead.
The quality of this teacher and this teaching is off the scale. Utterly brilliant. Now I understand why Harvard has such a great reputation. If this course is indicative of the quality of teaching at Harvard, then students at Harvard, whether resident or online, are very fortunate indeed. Many thanks David Malan for this superb course.
@@bonaface First you get knowledge, than you get experience. Than if you can watch Dr. David J. Malan, a professor of one of the top 4# Universities in the World, you get that it is not about "What" it is "why" and "how". As I said, it is worth it to watch anything from better people to be a better teacher, even if it is basic math or K-12 essentials. Also compared to Havard I think I do have a worthless degree...
Firstly, a big thank you to the owners of this video for allowing it to be published for free to everyone. If this is Harvard University, then you have achieved the opitomy of a teaching institution to pass on good quality knowledge to the rest of mankind for no reward other than socity's gratitude. The team producing the content and video production must also be congratulated for such a superb body of work of which they can be extremely proud. Finally thank you to Dr. Malan for making the presentation so engaging and informative. As others have stated, the quality of the tutor to maintain the audience's attention was key to making this presentation such a success. I have no doubt that this video will become hugley popular over time. After binge watching the complete video over the past two days it will likely be a video that i will return to time and again to refresh myself on certain topics. As such, if i could propose a slight amendment to the video without infering any criticism. Would it be possible to add chapters at the beginning of each section and a contents slide at the beginning of the video so that users can jump to roughly the relevant timeline they are interested in without a large amount of scrolling? I can only hope that other institutions follow your example and generosity.
I agree. I've noticed in my educational career that the big famous schools have tons of resources that are available freely to the public if they are curious and don't want to pay tuition. MIT, Harvard, Johns Hopkins, UC, others all have stuff for free.
Started around 2 weeks before, just completed today, man i can never thank you about this man, you nailed it David Sir, you nailed it. Love from India❤. print("See you soon Sir")
It can't be overstated what a great teacher Dr. Malan is. I'm 3 hours in and non-technical. It's all new and a lot but Malan's teaching style is keeping me in the game.
I'm from Brazil and I'm looking for a career change in the IT area. English is not my native language, the video has no subtitles, although the professor David Malan speaks a little fast, I am understanding everything and I am learning a lot. Here is one of the beauties of the internet, democratizing knowledge. Thank you all!
Dr Malan should be inducted into the Programming Hall of Fame for his excellent programming teaching skills. He makes programming lessons fun and engaging.
@@thewolverine7516 you don't believe in Jesus or you don't want to believe in Jesus? Casue there is am ountain of proof to prove the existence of your Creator.
Hi friends, for those of you who are scared to do this course let me tell you I too am a beginner in python coding and have never done any kind of coding prior to this. Right now i have opted out for python programming in one of my electives in University. So i have my classes going on in college and here i am learning from this video as well. I have observed something. It is that this course is fast paced. And often you will feel confused. But if you watch the part you didn't understand multiple times and focus in what the teacher is saying, you definitely will be able to grasp the meaning. And you donot need to understand 100% of the entire video. But definitely try your best to understand as much as possible. Also watch and learn from this video in parts. Have a schedule like you will watch this video 4 times a week and Every time you will cover atleast 40mins of it. In this way it won't become too much to deal with and also you will have a good enough pace
this is probably the best course in introductory python i have ever seen. really incredible. does David teach any other Python courses? intermediate or advanced level. pure joy to watch him. he is a true maestro.
@@mee8520The first solution grabs the info from the file (name and house) and puts them all in one string (sentence). So, you have for example "Ron is in Gryffindor" "Draco is in Slytherin" Because D comes before R in the alphabet, after the sort, you get "Draco is in Slytherin" "Ron is in Gryffindor" This gives the illusion you have sorted by name. You cannot sort separately for name or house, because it is in one string. The second solution stores the names and houses first as pairs (dictionary), sorts on names, and then builds the full string or sentence (concatenating after the sort, {name} is in {house}). The advantage is you can sort by name or house.
I study physics and we have to be able to programm, but since our university seems to think that there are no people incapable of programming the lecture is not intended to teach python, but rather how to apply it. So this course is saving my ass, thanks a lot for putting such great educational content online!
Very interesting to watch this as a self-taught coder and see what new pieces of Information Harvard and Prof. Malan have versus things that just get picked up during a self-taught journey. Another great video thanks FreeCodeCamp and Harvard!
@@nyustdent Well I am currently halfway through the course but the biggest thing that jumps out at me so far is that self-learning I don't usually get as much into what works versus what's considered 'pythonic'. A lot of the time as a self-taught, if my code was working I didn't spend much time optimizing or really focusing in on the 'OOP' best practices, which is something I'll be working on going forward for sure!
@@ahmadrandhawa238 I think you are lacking confidence of whether you have learned something or not and not sure of what u didnt miss in this lesson. If thats the case then yes watch another beginner tutorial or watch this again but this time dont rush. Hope i helped...
@@sagarsubba9429 yes you helped me. Bro if i watched another beginner course and i also understand it so then next what i do? May i watch another begineer course or practice?
I took cs50 and was looking for next steps. I watched an hour lecture intro to cs/python, by another big Ivy League school, and I was honestly surprised how many things they glossed over in that intro class. Cs50 was intense and I certainly got overwhelmed a few times, but I had no idea how good this class really was. Afterwards I immediately wanted to see what other programs these guys offer, and I came across this python class. Now I’ll just take this course and at this point I think I would even look at some of their paid programs. For anybody out there reading this, these breakdowns and this information is extremely well presented and thorough. Good luck!!!
Wow, what a masterclass it was! I'm so thankful to have it available for free. It gives an excelent opportunity for people from different backgrounds to have access to this top-quality content.
Going through university, in 4 years I had 1 professor that was genuinely excited to teach the topic at hand. Coincidentally, that's the subject I did best at. It's genuinely so refreshing to see someone teaching something while also being engaging and thoughtful. Very well done! Just as a side note. Currently on the OOP part. Gosh I hate OOP with a passion. Hoping that David actually explains this properly because I have yet to envounter anyone who has. Seems like every OOP tutorial I watch, its always a mess.
Look up some old stuff by Lings or Bertrand Meyer. Information Structures and OOP in Eiffel. It’s very simple but what people do is think it replaces structured approaches. It doesn’t. It’s horses for courses. Solving a quadratic equation would use structured. OOP would create a single very complicated class/object. Structured would break down the problem into simpler smaller problems. Now if you were modelling an airport with passengers, tickets, arrivals, departures, luggage, etc then that suits OOP.
What a fantastic topic for a course! Harvard's CS50 Introduction to Programming with Python is a great way to delve into the world of programming. Python is such a versatile and user-friendly language, perfect for beginners and experienced coders alike. The concepts and skills learned in this course can open doors to so many exciting opportunities in various fields like data science, web development, and artificial intelligence. Plus, understanding the fundamentals of programming is incredibly valuable in our increasingly digital world. Best of luck to all the learners embarking on this educational journey! 🌟🐍💻
This is really good. He really goes into the details of what's happening behind the code. Edit: did the first four hours as a refresher and still learnt a few things. He is an excellent teacher. Kinda blown away by how good a teacher he is. Literally everything is crystal clear. Also, I love how he called C ugly which it needlessly is indeed.
2:38:49 Conditional - if elif else - Harry Porter’s house 2:40:47 Compress and consolidate code - multiple OR 2:41:48 Consolidate further with match 2:44:22 Consolidate further with match and | # LOOPS While loops 2:46:25 2:47:08 cat.py - meow, meow, meow 2:49:48 while and counter 2:59:30 i += 1 # LOOPS For loops 3:02:38 3:03:00 List - type of data 3:07:06 Range 3:13:17 3:21:19 List 3:28:04 Len 3:32:02 Dictionary - dict (data structure)
Yes, I tried majority of the examples along with video, now I feel more comfortable with python, i learnt python 8 years back I took course as a refresher, if you ask what I get of it using lists, sets tuples, dictionaries, oops way of creating objects, regex etc are few of them
For anyone who has problem of adding two newlines to the students.csv 8:16:00 with csv.writer() or csv.DictWriter(), you should pass newline="" argument to open() function. ``` with open("students.csv", "a", newline="") as file: ``` I think this happens on windows
It is absolutely incredible that you are providing free access to something like this, extremely engaging - A full on classroom experience with an interactive teaching environment and easy to understand. Thankyou!
This really is a fantastic course. The information is concise, well structured, and delivered in an easily digestible way. Unlike my intro to C class in 1999, I actually feel like I understand what the code means and also why it’s written that way. I’m now actually excited to try writing my own code. Lots of respect to David and/or the course writer (if it wasn’t David Malan). Thank you.
As a beginner I watched this video for 40 minutes today and couldn’t stop. (I had to because it’s late at night 😂) I only have very limited Excel VBA experience but I can totally understand what he’s talking about. Seriously I think we should pay for the video because this is the first time I feel such things are clear and simple to me❤ Very impressive.
i am going through a deep depression because of my actual bad job plus heartbroken af plus family problems and lonelyness. but this course gives me hope for a new carreer path and i already studied it approximately half of it, it is difficult to study for me for my problems but after one month i could sudy well half of it reviewing the topics over and over as i am new, i wish i can finish it and learn a lot and one day work in a better place and start changing my life and end depression. the teacher is great i wish i was able to ask him some of my doubts but still... thank you for doing this great work open for all. greetings to you all from Argentina.
My friend, ur on the right path. And if u think it's hard and there is competition. There is no competition your hardwork will make achieve alot. Keep going. Well wishes from suriname🙏🫂
Just stick to it... and don't loose hope you already taken the first step and put your foot in the door you done good. Think of it this way just by starting to learn coding you knowing know more the 95% of the worlds population in terms of programming that's something to be proud of. So let's make even bigger stride and I promise you will regain your confidence and improve your life
Dr. Malan is a very animated, and engaging instructor who does a great job of explaining the topic. Be aware that you will find the course VERY fast paced if you are completely new to programming. As an experienced programmer in other languages and wanting to learn Python, I found the pace perfect. Naturally you will need to do a lot of work in Python offline to reinforce these lessons. All in all, a great course and, I suspect, a good example of a Harvard-level course.
do you have any tips on where to find exercises to practice? There are a lot of good online free courses on youtube but none of them give any practise exercises, and i tend to forget what i learnt if i dont practise
@@rosangelaphoenix1587 start to do little projects. You'll will come to know where you are facing problems, then solve those problems by googling it. This is a cumbersome & direct process but this is the best way.
I’m doing my classes 100% online. So, I don’t get a video to explain Python. Just a book and from there I have to teach myself. This video is helping so so much with my Python class. You even go into way more detail than my book. So seriously thank you so much. I am definitely going to be buying some merch.
@Smftrsd Dvjiou I've done python all by my self so it is relatively slow and unstructured. And my core work is neural network and mostly this lecture is the best I've ever seen!!
@Ahmad Jutt I strongly recommend you to do your own project. Use new features every time and always searching with Google or gpt. I hope this can help you
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!
It was 15 hours. You fell asleep.
@@spankingturtle333he means that he can do 2 hour sessions every time without getting tired or bored.
@@spankingturtle333😂😂😂
@@spankingturtle333 🤣👏🔥
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 addresses using regular expressions in Python
9:35:59 Validating email addresses using regular expressions
9:46:51 Standardize user input to avoid data inconsistencies
9:51:54 Improved code using regular expressions to capture user input
10:03:06 Python's walrus operator allows for assigning and asking a Boolean question in one line.
10:08:22 Extracting Twitter username using regular expressions
10:19:07 Tolerating HTTP and HTTPS in regular expressions
10:24:40 Use re.search instead of re.sub for conditional logic
10:35:54 Introduction to Object-Oriented Programming in Python
10:41:12 Writing functions as building blocks for more complex programs.
10:51:14 Immutable tuples cannot be changed, but lists can be used instead.
10:56:28 Using dictionaries for better semantics and readability
11:06:56 Creating custom data types using classes in Python
11:12:12 Classes in Python allow for standardization of attributes and methods.
11:23:09 Classes offer more features than dictionaries
11:28:26 Encapsulate validation logic inside the class
11:38:52 Classes in Python can be imported and used in other files or projects, and can have optional variables and custom error messages.
11:44:20 Adding a Patronus attribute to the Student class
11:55:17 Classes allow instance variables to be accessed and changed using dot notation, even if they do not meet validation requirements.
12:00:44 Python properties allow for more control over attributes.
00:22 Using getters and setters in Python classes for more control
12:17:02 Python does not have hard constraints for visibility of instance variables.
12:27:52 Learn about class methods in Python
12:33:17 Implemented a Sorting Hat class that assigns a house to Harry randomly.
12:44:09 Object-oriented programming is a way of encapsulating related data and functionality inside classes.
12:49:26 Moved related functionality to class method for better design
13:00:05 Object-oriented programming in Python supports inheritance.
13:05:07 Inheritance allows subclasses to inherit functionality from their parent classes.
13:15:30 Create a Vault class with an init method and a stir method to print out the contents of the vault.
13:20:33 Python allows operator overloading with special methods.
13:31:13 Using sets to find unique values in a list of dictionaries
13:36:09 Implementing a simple bank in Python with deposit and withdraw functions.
13:46:32 Implementing bank account using object-oriented programming
13:51:43 Python does not enforce constants, only conventions.
14:01:38 Adding type hints to variables and functions can help catch errors before running the code.
14:07:07 Using type hints in Python can catch errors before running the program.
14:18:00 Documenting code using conventions and tools
14:23:14 Modify meows program to take command line arguments
14:33:24 Outsource commodity tasks to focus on the interesting parts of a project
14:38:36 Python offers powerful features like automatic error messages and value unpacking.
14:48:58 Unpacking can be done with dictionaries as well
14:54:11 Python allows for variable number of arguments in functions using *args and **kwargs.
15:04:31 Python supports procedural, object-oriented, and functional programming paradigms.
15:09:41 Use map() function to apply a function to every element of a list.
15:20:20 Two approaches to filter a list of Gryffindor students in Python
15:25:34 Using dictionary comprehensions to build data structures more succinctly
15:36:04 Learn how to generate values in Python from functions.
15:40:48 Printing large number of sheep is causing memory issues
15:51:16 CS50's Python course covers a variety of programming concepts and tools.
15:56:19 Learning Python helps in problem-solving and self-teaching
Thank you.
GOAT
Thank you
thank you for your hard work
bless
⭐ 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
Thanks. 🫡
@@krishna_3406 lol I didn’t notice, but it’s still better in the comments.😂
@@krishna_3406 Did you finish? I fell asleep on lecture 2 about 4 times lol. Finally on 3 😂.
@@imeaniguess.6963 ey
I'm also new at this, how far are you right now?
thank you
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!
good luck bro
Hey Bro, I’m about to start my journey. Can you please describe the steps you took until this point? Thank you so much.
That's awesome. Good luck yo
Bon chance brother. The Grind pays off
Hey everyone I'm a beginner in coding and I got VS code on my Mac and I need help opening up the Terminal that he has open. The one I get as a bunch of info and it doesn't have the dollar sign. Thank you in advance.
This guy KNOWS how to explain things, the true sign of intelligence. Unlike other YT "teachers" that get you more confused than not.
In simple terms as well.
well he is a professor, so i would hope so
Does he?
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 RUclips videos along the way. But, DON'T GIVE UP!
Thanks, man
Thank you for saying this. I have never coded before doing this course and am up to week 5. I will remember what you said and keep going until I finish! 💪
Jeepers.
How about, don't get stuck in tutorial hell and start building projects...
@@abdullahnadeem1823I guess this course is for beginners. If you don't know variables and loops, there isn't much you can build yet.
The fact that this guy teaches programming with Python with such passion is motivating, massive thanks.
Got my First Job Cause of this Course it was a huge begining Thanks.
Hello, would you like to share what courses you took before, or after this one. before getting your first job?
thank you.
@@micheldomenino6367 😃 following
@@micheldomenino6367 I'm also interested in knowing!
How can I get a job with my coding skills online??
this is one of those videos that proves that studying doesn't need to be tedious, you just gotta make it interesting. i'm watching even the simplest stuff he's teaching just cause he makes it dynamic and interesting to learn.
Do you know how his terminal is always fresh? I'm getting a lot of extra text, showing the folder where my file is and everything
I dropped everything and watched the entire nearly 16 hour video in 1 week! One of the best videos ever.
you learn something in 1 week ?
All you did was watch the video when you could have learned so much?
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 @properties
12:30:12 Decorators
12:59:05 Inheritance
13:13:23 Operation overloading
13:29:36 Some otrher stuff
the whole list is literally written in the description of the video with time stamps..
@@StfuSiriusly It is, I just needed a bit of detail to get to the point in case of review
thank u
thank you! I was looking for something like this :)
damn, I wish he also goes over lambda, tree,numpy,pandas too
literally less than an hour after I searched for a full python course on youtube, FCC decided to drop one.
What a miracle.
ME TOO! amazing... I was looking for a 4 hours duration course, and then I saw this new video from today *-*
Godspeed
MAYBE because a python video tutorial comes out every hour
this shows how many people are getting started with python !!
Please comment again after you complete the whole 16 hrs vedio as a review.
6hrs in and I love how clear his examples are and explanations are of every part. What a wonderful job you did here professor. I’m definitely grateful for this resource, and hope you do many more in the future.
where you are now
i was at 8hrs but left for 3 weeks & now its taking time to recover
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
All these RUclips lecture videos need to be separated into individual videos in a playlist. Nobody should have to search through a 15+ hour video.
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
no matter what unsolvable complex problem you have, there will always be an Indian guy who solved it 11 years ago and uploaded it to RUclips
@elmourzaeff Can either of you kind people explain why in the video he's able to call a function BEFORE its been defined, and then call main() at the end and it works just fine...?🤔
Everytime I try that I get an error about it not being assigned. 😢
Everything I read says this is Improper.
But he's doing it NO PROBLEM 🤯
What am I missing?
@@ebotbeatup5741 He does not call a function before it is defined. He calls the main() function at the very end of the file which means he calls the functions inside of main() after they are defined.
@@ebotbeatup5741 main() is being called after the function has been defined if the line that calls main() is below the function definition
@@ebotbeatup5741because even tho he is writing main function before the defined function, he is calling main after he defined the function so the function already exists when the main function is being called
if yours is not working, you must be doing something wrong, sometimes mistakes can be subtle but if you keep trying you'll eventually find it
Print input functions
1:30:50 - def fn
1:50:40 - conditionals ( if - elif-else)
2:38:41 - match
2:47:42 loops
3:32:30 dictionary
4:08:11 exception {try,except,else,finally}
4:53:03 libraries
5:11:08 command line argument
Day 1 : 1:04:20
Day 2 : 1:50:15
Day 3 : 2:46:20
Day 4 : 3:42:20
Day 5 : Reviewing from 3:22:00-4:07:10
Day 6 : 4:41:00( Also making my own calculator and guessing number from 1-100 by generating an random number and using if, Elif and try expect.
Day 7 : 4:51:45 A little bit busy today, i going out alot. But in the night i learn some with brocode and succesfully finished the fourth lecture. I also upgrade my calculator so it have list of number that it can use to determine the operator.
Day 8 : 5:30:30. I make my coin flip game base on number using rand.range function , than i ask the user if they want to choose head or tailsz then from the randomize number, it will determine if it head or tails. And then the are part if else that compare if the user input are true or wrong from the randomize number that already being determine head or tails by if else. And i also use while concept to just print to the user input if the input are not head or tails. And lasly print it to the terminal. I will continue my journey today at brocode.
Day 9 : 6:09:15 Going to continue from brocode now until i done all the basic there.
Thanks
Courses like this from the world's most expensive and costly institutions for free show us the importance of RUclips.
I mean that they are making money out of RUclips through these video courses.
And the idea that you can learn from an university like Harvard... just like for free!!! Amaze me!
It was already free on a platform called Edx ।।।।
@@ayushdey5494 Yeah I'm actually enrolled and auditing this course on Edx. Personally, I think these sites are better than RUclips because it's more structured plus there's quizzes and tests to see how much you learned.
@@ayushdey5494 Also, I should point out that Edx's layout is more focused. RUclips has all that unnecessary video recommendations which is very distracting.
@@StaticBlaster Btw it is also on RUclips before on channel called CS50।
I have completed the course and now learning c to start DSA।।
Malan is such an amazing instructor, teaching he is doing is unparalleled. I simply cannot stop watching his lectures.
Googe also launched 1month go
David really is a great teacher, as someone who is somewhat new and also hates school, this man knows exactly what he is doing. He provides examples as bad, good, better, and best to really give you an idea on how a programmer should think.
⭐ Duration of Lessons ⭐
Lecture 0 - Functions, Variables: (01:50:24) - (00:04:48) = 1 hour 45 minutes 36 seconds
Lecture 1 - Conditionals: (02:46:23) - (01:50:24) = 0 hours 55 minutes 59 seconds
Lecture 2 - Loops: (04:07:10) - (02:46:23) = 1 hour 20 minutes 47 seconds
Lecture 3 - Exceptions: (04:51:45) - (04:07:10) = 0 hours 44 minutes 35 seconds
Lecture 4 - Libraries: (06:09:15) - (04:51:45) = 1 hour 17 minutes 30 seconds
Lecture 5 - Unit Tests: (07:00:22) - (06:09:15) = 0 hours 51 minutes 7 seconds
Lecture 6 - File I/O: (08:32:32) - (07:00:22) = 1 hour 32 minutes 10 seconds
Lecture 7 - Regular Expressions: (10:37:35) - (08:32:32) = 2 hours 5 minutes 3 seconds
Lecture 8 - Object-Oriented Programming: (13:28:47) - (10:37:35) = 2 hours 51 minutes 12 seconds
Lecture 9 - Et Cetera: (15:57:47) - (13:28:47) = 2 hours 29 minutes 0 seconds
This is incredible. His teaching is, of course, the best! But what I appreciate even more is his attitude towards answering questions. He never says "That is out of scope for the course" or that "it cannot be discussed at the moment". He always provides clear answers without any judgment, making it easy for all students to understand. I can tell students feel safe asking any question without fear of seeming foolish. I have so much respect for Professor David Malan. I've never met a teacher like him in my life. Love him so much.
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.
I learned more from working than from college. Way more.
Sir, please why not making a full video on all string methods?
@@ken-mb5cp sure. would you know how a languange works if they just drop you into work? would they have even hired you if you hadn't known what a variable was? of course not.
obviously work experience is far superior, but you need to learn it somewhere. i'm here because i'm working in finance and want to learn to code for my job, or to possibly look at other opportunities, to broaden my horizon. i can't learn it on the job, and i'm not going to quit to apply for an internship to learn python. they wouldn't even hire me with my current knowledge.
@@TechnoBacon55 Good valid points sir. A wise man once said: “Learn from those who know”.
Indeed and Brian Yu also phenomenal instructor as well.
10:17 Functions
11:07 Arguments in functions
11:38 Side effect of programs
12:14 Bugs
19:21 Return values
20:17 Variables
21:35 Assignment operator (right to left)
24:48 Comments
27:06 Pseudocode
35:52 str data type
38:02 print() function
39:17 Parameters (vs arguments)
This course is just what you need for starting programming
and if you are worried about forgetting it there are some problem sets in the cs50 official website and also a certification if you want
10/10
THIS DUDES INTRODUCTION WAS FLIPPING AWESOME!!!!
Finished in two weeks. Very great teacher. Highly recommend this to someone starting out learning Python.
why that much time ?
@@Mr_Rajguru_94 why not longer? I highly doubt anyone does quality learning if they finish the course that fast.
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 RUclips!
Lies again? On The Red Dot
I'm curious...what does your comment mean?@@NazriB
@@trustyaxe nothing at all
@@trustyaxeIt's a bot. It will spam the same type of comments everywhere starting with "Lies again".
I have failed to use the pytest. I am seeing an error every time I run pytest test_.....py on my terminal.
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
correct
⭐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/0
(08:32:32) Lecture 7 - Regular Expressions
(10:37:35) Lecture 8 - Object-Oriented Programming
(13:28:47) Lecture 9 - Et Cetera
it's I/O not 1 😅
@@user-ld2vh2te5l Fixed, I didn't notice it while copying from description 🥲
This guy speaks for 15 hours straight every 4-6 months. Mad respect to him for that
bro it is a 9 week course each lecture each week on a specific day
@@yashgaud4845I think He was Being Sarcastic.
@@wKaransingh sarcasm in what sense...he is in mad respect. Might be kid with less exposure, could be a simple mind fella but definately not sarcasm
and you think the students sat there all day?
Is that why he hasn’t changed his outfit?
I'm four hours into this and I've already learned more than I did in an entire semester of programming with a really, really, REALLY bad teacher. This is amazing!
Glad you are learning
GPT and github co pilot are great learning tools too to go along with these courses, my only coding background is 20-/+ year ago when i learned visual basic in 6st grade, and 3 hours into this course i was able to use GPT to create a program to convert PDF files into MP3 files, with a GUI then had to rewrite the code cause for some reason GPT gave me code that wasn't compatible with the pyPDF2 3.0.0 library and then made it into an exe that can run on another system
SIMPLE ONE
⭐ 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
Professor Malan is a really clear concise teacher! Best Python course for beginners.👍👍👍
this is some serious charity you guys are doing to young minds ♥️🙏
...and old minds👌🙏👴
@@MrBiscuit696 i am 31 and recently started my coding journey, and to me everyone who is eager to learn has a young mind
I am 40 and love their content t.
45 newbie!
Bro do you guide me a little bit??
As a beginner what i can do after this video?
May i watch another beginner video?
im 50 years old, i'm new never code before wish me luck. 😃
All the best
Good luck
Same here, im 40 and never code too 🤝
All the best grandpa
You got it don't worry just take your time i aint the sharpest tool and i made it so can you :)
Day 0, 1:20:00
Day 1, 1:58:14 (did 30 minutes of self study)
Day 2, 2:41:43 (reviewed lesson code, and learnt the definition of syntax. Watched a Bro Code video on "Python calculator program" which simply uses if statements and serves as practice.)
Day 3, 2:54:36 (today will be a short break day)
Day 4, 3:32:24 (while loop, for loop, list[new datatype], range()[expects interger values], function, return, list, len, dict)
Day 5, 3:32:24 today I studied and applied my knowledge, it's best to do so for the next couple days to cement my knowledge. I made a calculator with a list [] of my operators and used a while loop for users to input their number, operator, then 2nd number and if statements
Day 6, 3:32:24 I made a dice roller, which I imported the random module and used a for loop to roll dice from my list 1-6, 5 times cause that's how many dice you roll for yahtzee. Trying to learn how to implement conditions you reach, like 4 of a kind and print that you've got a 4 of a kind.
Day 7, 4:07:10 I made a spending tracker to project my bank account balance if I spent $20 over my daily income across x amount of days using a for loop.
Day 8, 4:07:10 I think I'm gonna hop to a new tutorial and actually build a foundation, I understand and am able to read code. But I can't for the life of me create good and original code. I can look at code and take from it and create something out of it at my best. I used code wars 8kyu for about 1 1/2 hours, it's mostly things about basic math.
Day 9, 4:07:10 some more code wars I'm pretty confident in the 8th rank so far. The 7th rank will be quite a bit more difficult but I'll keep trying and learn / cover some more important topics and apply it.
Day 10 4:07:10 More codewars practice a little a day this is a life long career
Day 11 4:07:10 I made my own rock paper scissors game completely from scratch, with little help only needed to reference a prior project on dice rolling implementing the random module and using it "random.choice"
Day 11 4:37:10 The course is much easier now that I applied my previous knowledge of loops I feel like I'm one step ahead.
Bro gave up
Bro gave up
Come back bro where you gone
such detailed course can't exist. bro's pin point explanaing every single thing happening in the code. absolute amazing
The quality of this teacher and this teaching is off the scale. Utterly brilliant. Now I understand why Harvard has such a great reputation. If this course is indicative of the quality of teaching at Harvard, then students at Harvard, whether resident or online, are very fortunate indeed.
Many thanks David Malan for this superb course.
You can be a master or Phd in CS and still find this lecture extremely pleasant. This is not only about the subject, but how to be a great teacher.
uhhhh you've got a worthless degree if you're rewatching an into to intro CS lecture my guy.
@@bonaface First you get knowledge, than you get experience. Than if you can watch Dr. David J. Malan, a professor of one of the top 4# Universities in the World, you get that it is not about "What" it is "why" and "how".
As I said, it is worth it to watch anything from better people to be a better teacher, even if it is basic math or K-12 essentials.
Also compared to Havard I think I do have a worthless degree...
@@thomazbp8333 you will be a better teacher.
Firstly, a big thank you to the owners of this video for allowing it to be published for free to everyone. If this is Harvard University, then you have achieved the opitomy of a teaching institution to pass on good quality knowledge to the rest of mankind for no reward other than socity's gratitude.
The team producing the content and video production must also be congratulated for such a superb body of work of which they can be extremely proud. Finally thank you to Dr. Malan for making the presentation so engaging and informative. As others have stated, the quality of the tutor to maintain the audience's attention was key to making this presentation such a success. I have no doubt that this video will become hugley popular over time.
After binge watching the complete video over the past two days it will likely be a video that i will return to time and again to refresh myself on certain topics. As such, if i could propose a slight amendment to the video without infering any criticism. Would it be possible to add chapters at the beginning of each section and a contents slide at the beginning of the video so that users can jump to roughly the relevant timeline they are interested in without a large amount of scrolling?
I can only hope that other institutions follow your example and generosity.
Thanks to everyone one worked on that video
I agree. I've noticed in my educational career that the big famous schools have tons of resources that are available freely to the public if they are curious and don't want to pay tuition. MIT, Harvard, Johns Hopkins, UC, others all have stuff for free.
of course it is harvard and it was already available on edx
fcc just compiled it
Bro do you guide me a little bit??
As a beginner what i can do after this video?
May i watch another beginner video?
@@paytyler can you give us some links to other universities offering courses on Python?
Thanks!
Having spent some time with Python, I must say this is by far the best video course on RUclips for Python.
Just finished it. Took me a week. Very clear explanations. The man's a genius.
Started around 2 weeks before, just completed today, man i can never thank you about this man, you nailed it David Sir, you nailed it. Love from India❤.
print("See you soon Sir")
I literally learned more in this video than I did in college. David Malan is such an awesome professor. Thank you FCC and cs50.
what have you been up to since college?
What type of college u went to? I definitely learned more python in mine than this video 😂
all of college?
🤔
@@ozz961 Stanford? 🤭
It can't be overstated what a great teacher Dr. Malan is. I'm 3 hours in and non-technical. It's all new and a lot but Malan's teaching style is keeping me in the game.
Lies again? Rating Pending USD SGD
How are u doing 5 months later?
05:00 functions variables
1:50:40 conditional
2:46:49 loops
3:32:09 dictionary
4:07:34 exceptions
4:52:10 libraries
6:02:03 unit test
7:00:33 file input/output
10:37:00 regular expressions
13:27:36 object oriented programming
I'm from Brazil and I'm looking for a career change in the IT area. English is not my native language, the video has no subtitles, although the professor David Malan speaks a little fast, I am understanding everything and I am learning a lot. Here is one of the beauties of the internet, democratizing knowledge. Thank you all!
Just to click on caption button right above to the video, you will have subtitles.
Angela,
You can play it back slower down to help you
He does talk fast!
Se estiver com qualquer dúvida posso traduzir para você! Ele é demais mesmo.
@@JoaoPecorella Obrigada, mas estou conseguindo acompanhar.
Dr Malan should be inducted into the Programming Hall of Fame for his excellent programming teaching skills. He makes programming lessons fun and engaging.
😂
@@neanea5899Why did you laugh? Is Dr. Malan not a good educator?
@@thewolverine7516 no dear. This emoji had nothing to do with the comment, but do you see my previous message about the Love of Jesus.
@@neanea5899 I do not believe in Jesus.
@@thewolverine7516 you don't believe in Jesus or you don't want to believe in Jesus? Casue there is am ountain of proof to prove the existence of your Creator.
Hi friends,
for those of you who are scared to do this course let me tell you
I too am a beginner in python coding and have never done any kind of coding prior to this. Right now i have opted out for python programming in one of my electives in University. So i have my classes going on in college and here i am learning from this video as well.
I have observed something. It is that this course is fast paced. And often you will feel confused. But if you watch the part you didn't understand multiple times and focus in what the teacher is saying, you definitely will be able to grasp the meaning. And you donot need to understand 100% of the entire video. But definitely try your best to understand as much as possible.
Also watch and learn from this video in parts. Have a schedule like you will watch this video 4 times a week and Every time you will cover atleast 40mins of it. In this way it won't become too much to deal with and also you will have a good enough pace
❤
7 hours in, and can't believe how well he can explain the topics. Would recommend for beginners and intermediate coders wanting to learn Python.
good to see you all who learning it freely......me as a haravard student can confirm this is one of the best course in the whole university.....
Bro's casually flexing 😂
So privileged to get to watch this for free. Wish I could have first learned to code with an instructor like David. Very impressive
Hey, now you are here, and more knowledgeable than before. All that matters 🙂
Yes we don’t pay about 250000 dollars for semester 😅
this is probably the best course in introductory python i have ever seen. really incredible. does David teach any other Python courses? intermediate or advanced level. pure joy to watch him. he is a true maestro.
7:42:00 Help please! what did he mean by saying sorted by English sentence? I dont get it can you help me😢
@@mee8520The first solution grabs the info from the file (name and house) and puts them all in one string (sentence).
So, you have for example
"Ron is in Gryffindor"
"Draco is in Slytherin"
Because D comes before R in the alphabet, after the sort, you get
"Draco is in Slytherin"
"Ron is in Gryffindor"
This gives the illusion you have sorted by name.
You cannot sort separately for name or house, because it is in one string.
The second solution stores the names and houses first as pairs (dictionary), sorts on names, and then builds the full string or sentence (concatenating after the sort, {name} is in {house}).
The advantage is you can sort by name or house.
I'm 31 and just starting coding, this is revolutionary!
Hi I'm 36....I'm also at same level
28 here 😂
Hey 👋 I'm 13
don't
same^
Major respect for this guy for standing there and teaching this for almost 16 hours
I study physics and we have to be able to programm, but since our university seems to think that there are no people incapable of programming the lecture is not intended to teach python, but rather how to apply it. So this course is saving my ass, thanks a lot for putting such great educational content online!
Very interesting to watch this as a self-taught coder and see what new pieces of Information Harvard and Prof. Malan have versus things that just get picked up during a self-taught journey. Another great video thanks FreeCodeCamp and Harvard!
Any details ? What did you miss self learning
@@nyustdent Well I am currently halfway through the course but the biggest thing that jumps out at me so far is that self-learning I don't usually get as much into what works versus what's considered 'pythonic'. A lot of the time as a self-taught, if my code was working I didn't spend much time optimizing or really focusing in on the 'OOP' best practices, which is something I'll be working on going forward for sure!
Bro do you guide me a little bit??
As a beginner what i can do after this video?
May i watch another beginner video?
@@ahmadrandhawa238 I think you are lacking confidence of whether you have learned something or not and not sure of what u didnt miss in this lesson. If thats the case then yes watch another beginner tutorial or watch this again but this time dont rush. Hope i helped...
@@sagarsubba9429 yes you helped me. Bro if i watched another beginner course and i also understand it so then next what i do? May i watch another begineer course or practice?
The age of the information. This means, if you want to learn it, chances are very high that someone is teaching it somewhere. Thank you for this.
I took cs50 and was looking for next steps. I watched an hour lecture intro to cs/python, by another big Ivy League school, and I was honestly surprised how many things they glossed over in that intro class. Cs50 was intense and I certainly got overwhelmed a few times, but I had no idea how good this class really was. Afterwards I immediately wanted to see what other programs these guys offer, and I came across this python class. Now I’ll just take this course and at this point I think I would even look at some of their paid programs. For anybody out there reading this, these breakdowns and this information is extremely well presented and thorough. Good luck!!!
Wow, what a masterclass it was! I'm so thankful to have it available for free. It gives an excelent opportunity for people from different backgrounds to have access to this top-quality content.
Going through university, in 4 years I had 1 professor that was genuinely excited to teach the topic at hand. Coincidentally, that's the subject I did best at. It's genuinely so refreshing to see someone teaching something while also being engaging and thoughtful. Very well done!
Just as a side note. Currently on the OOP part. Gosh I hate OOP with a passion. Hoping that David actually explains this properly because I have yet to envounter anyone who has. Seems like every OOP tutorial I watch, its always a mess.
Look up some old stuff by Lings or Bertrand Meyer. Information Structures and OOP in Eiffel. It’s very simple but what people do is think it replaces structured approaches. It doesn’t. It’s horses for courses. Solving a quadratic equation would use structured. OOP would create a single very complicated class/object. Structured would break down the problem into simpler smaller problems. Now if you were modelling an airport with passengers, tickets, arrivals, departures, luggage, etc then that suits OOP.
And, howd it go?
...and 5 months later...
Thanks for posting! I remember about two weeks back this was uploaded and removed :( so glad it is back!
This guy is an amazing teacher.. makes everything so digestable and fun too. Really props!!!
What a fantastic topic for a course! Harvard's CS50 Introduction to Programming with Python is a great way to delve into the world of programming. Python is such a versatile and user-friendly language, perfect for beginners and experienced coders alike. The concepts and skills learned in this course can open doors to so many exciting opportunities in various fields like data science, web development, and artificial intelligence. Plus, understanding the fundamentals of programming is incredibly valuable in our increasingly digital world. Best of luck to all the learners embarking on this educational journey! 🌟🐍💻
This is really good. He really goes into the details of what's happening behind the code.
Edit: did the first four hours as a refresher and still learnt a few things. He is an excellent teacher.
Kinda blown away by how good a teacher he is. Literally everything is crystal clear.
Also, I love how he called C ugly which it needlessly is indeed.
Great Python tutorial! 🙌 The instructor did an exceptional job of breaking down complex concepts into bite-sized, understandable pieces.
I have seen so much videos "python".
This video is exclusively the best ever I have watched till now 😃
How so?
2:38:49 Conditional - if elif else - Harry Porter’s house
2:40:47 Compress and consolidate code - multiple OR
2:41:48 Consolidate further with match
2:44:22 Consolidate further with match and |
# LOOPS
While loops
2:46:25
2:47:08 cat.py - meow, meow, meow
2:49:48 while and counter
2:59:30 i += 1
# LOOPS
For loops
3:02:38
3:03:00 List - type of data
3:07:06 Range
3:13:17
3:21:19 List
3:28:04 Len
3:32:02 Dictionary - dict (data structure)
This is the first class that I've sat and followed that makes total sense to me! Thanks!
This is awesome! Love that it's all in one video and in 4k. Fantastic
What is so important in 4k for lectures with white background and text with big font size?
@@arcsin4083 When you have a large $1,500 monitor, it matters
@@SimX9000 ok, I don't have it
@@SimX9000 What do you do for living?
@@SimX9000 Uh, no it doesn't. Text is text, legible even below 1080p.
I felt bad that the course end too fast even after watching for 15 hours. It was such a joy to watch and learn!
did you learn anything that stuck?
I’m curious too regarding the reply
Yes, I tried majority of the examples along with video, now I feel more comfortable with python, i learnt python 8 years back I took course as a refresher, if you ask what I get of it using lists, sets tuples, dictionaries, oops way of creating objects, regex etc are few of them
For anyone who has problem of adding two newlines to the students.csv 8:16:00 with csv.writer() or csv.DictWriter(), you should pass newline="" argument to open() function.
```
with open("students.csv", "a", newline="") as file:
```
I think this happens on windows
For personal use:
1:50:35 第二节 Conditionals
2:46:23 第三节 Loop
4:07:29 第四节 Exceptions
4:52:05 第五节 Libraries
6:09:34 第六节 Unit Tests
7:00:27 第七节 File I/O
You can do it!
This is a brilliant course, all this talking is for a reason. I keep coming back to this one for the solidification of concepts.
It is absolutely incredible that you are providing free access to something like this, extremely engaging - A full on classroom experience with an interactive teaching environment and easy to understand.
Thankyou!
This really is a fantastic course. The information is concise, well structured, and delivered in an easily digestible way. Unlike my intro to C class in 1999, I actually feel like I understand what the code means and also why it’s written that way. I’m now actually excited to try writing my own code. Lots of respect to David and/or the course writer (if it wasn’t David Malan). Thank you.
Great way of teaching. Its not just about teaching the concepts, but teaching how to improve upon ones own code that got to be appreciated. Thanks 🙏
The logical flow of the tutorial is great, helping memorizing and understanding at the same time. Many thanks.
Under Lecture 2 - Loops
Important data structures...
List @ 3:21:43
Dictionary @ 3:32:08
List of Dictionaries @ 3:43:40
If I'm being honest I really like these questions that people are asking.
I also like his formal diction in his verbal communication.
This is Art. Thank you from Germany
Hail
İt is so magical to see a video which can teach you everything about python without money.İ haven't expect the video as it is.
As a beginner I watched this video for 40 minutes today and couldn’t stop. (I had to because it’s late at night 😂) I only have very limited Excel VBA experience but I can totally understand what he’s talking about. Seriously I think we should pay for the video because this is the first time I feel such things are clear and simple to me❤ Very impressive.
i am going through a deep depression because of my actual bad job plus heartbroken af plus family problems and lonelyness. but this course gives me hope for a new carreer path and i already studied it approximately half of it, it is difficult to study for me for my problems but after one month i could sudy well half of it reviewing the topics over and over as i am new, i wish i can finish it and learn a lot and one day work in a better place and start changing my life and end depression. the teacher is great i wish i was able to ask him some of my doubts but still... thank you for doing this great work open for all. greetings to you all from Argentina.
bro, you got it! Hang in there!. Also starting my python journey n will aim for ML. Wish u luck!
keep going
You gonna make it, bro.!
My friend, ur on the right path. And if u think it's hard and there is competition. There is no competition your hardwork will make achieve alot. Keep going. Well wishes from suriname🙏🫂
Just stick to it... and don't loose hope you already taken the first step and put your foot in the door you done good. Think of it this way just by starting to learn coding you knowing know more the 95% of the worlds population in terms of programming that's something to be proud of. So let's make even bigger stride and I promise you will regain your confidence and improve your life
Let me propose that Dr. David J. Malan is the GOAT, and let me go ahead and also propose that this course is dope AF.
If you will, allow me to second that!
No need to ask for permission for a proposition sir…. That is DOPE AF
Dr. Malan is a very animated, and engaging instructor who does a great job of explaining the topic. Be aware that you will find the course VERY fast paced if you are completely new to programming. As an experienced programmer in other languages and wanting to learn Python, I found the pace perfect. Naturally you will need to do a lot of work in Python offline to reinforce these lessons. All in all, a great course and, I suspect, a good example of a Harvard-level course.
do you have any tips on where to find exercises to practice? There are a lot of good online free courses on youtube but none of them give any practise exercises, and i tend to forget what i learnt if i dont practise
@@rosangelaphoenix1587 start to do little projects. You'll will come to know where you are facing problems, then solve those problems by googling it. This is a cumbersome & direct process but this is the best way.
6hrs done 👍 so far so good I learned a lot of things better then 90% tutorials on RUclips
This is the most engaging lecturer ever, and those are the most "cute" students ever😊
I am 50 and have started coding recently, hopefully I am going to learn a lot from this
How are you doing now?
Sir start from CS 50 course by the same professor. This is a bit fast pace course for the beginner.
@@BrandyWiseNL If you are facing problems with this course start with CS50 course that's the best course for introduction to programming.
Currently 18 and starting my coding journey hoping to become a full stack developer
Wish me luck and all the best to you all :) 👍🏻
Me too. Good luck man
Same here. Good luck 🤞
Same here ❤❤
Same here gambate
I’m doing my classes 100% online. So, I don’t get a video to explain Python. Just a book and from there I have to teach myself.
This video is helping so so much with my Python class. You even go into way more detail than my book. So seriously thank you so much. I am definitely going to be buying some merch.
What is the book name if I may ask
oruvaliya completed thanks da david malan. romba nanri machan
This is amazing course. And I have no hesitation to recommend to any beginner
Starting python course tomorow and i just found this just amazing
I just finished it. Thank you so much for sharing.
This was an amazing 16 hours of content! Thank you for making this available for free, and a special thank you to Dr Malan!
do you difference between print and return function.
@@KENAHAIprint outputs, return returns a value
The good thing about this video is you don't have to fast forward at all because the teacher is fast forward enough 😊
OMG, I studied python about 6 years(include my two years in Navy) this lecture is exactly perfect. it shrinks almost my 3 years into 15 hours
Really ? What have you done in the last 3 years ?
@Smftrsd Dvjiou I've done python all by my self so it is relatively slow and unstructured. And my core work is neural network and mostly this lecture is the best I've ever seen!!
Bro do you guide me a little bit??
As a beginner what i can do after this video?
May i watch another beginner video?
@Ahmad Jutt I strongly recommend you to do your own project. Use new features every time and always searching with Google or gpt. I hope this can help you