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
Week 1: Core Python Foundations (Approx. 6 hours on weekdays + 4 hours on weekends) Day 1: Introduction & Basics (55 min) - 00:00 Learn Python programming from scratch with Harvard's Introduction to Programming course - *06:18* Writing & running Python programs - *16:45* User input & variables - *21:38* Assignment operators & comments - *31:46* Passing multiple arguments to functions - *00:36* Reading documentation *Day 2: Strings & Arithmetic (55 min)* - *47:44* String manipulation - *52:48* Strip & title case - *1:03:07* Interactive mode & arithmetic - *1:08:09* Interactive calculator - *1:18:49* Floating point numbers & rounding *Day 3: Functions & Conditionals (55 min)* - *1:24:01* Number formatting - *1:34:16* Custom functions & default values - *1:39:31* Organising functions using `main()` - *1:49:57* Conditionals in Python - *1:55:25* Code repetition & efficiency - *2:11:51* Simplifying conditionals *Day 4: Logic & Loops (55 min)* - *2:22:11* Modulo operator - *2:27:29* Even or odd function - *2:38:25* Harry Potter sorting program - *2:43:09* Loops introduction - *2:53:56* Counting & printing 'meow' - *2:59:18* For loops & lists *Day 5: Lists & Dictionaries (55 min)* - *3:10:18* Escape sequences - *3:15:38* `meow(n)` function - *3:25:54* Iterating over lists - *3:31:22* Dictionaries - *3:42:04* Iterating over dictionaries - *3:47:30* Dictionary introduction #### *Day 6: Loops, Errors & User Input (2 hours)* - *3:57:50* Printing squares with loops - *4:03:15* Exceptions in Python - *4:13:55* Handling errors with `try/except` - *4:18:58* Handling specific errors - *4:29:43* Improving user input with loops - *4:35:09* Abstracting user input into functions *Day 7: Modules & Testing (2 hours)* - *4:45:05* Python indentation & structure - *4:50:31* Modules & reusability - *5:01:12* Random module functions - *5:06:04* Random data & stats - *5:21:33* Refactoring & error handling - *5:32:18* Python packages & `pip` - *5:48:12* JSON data exchange --- *Week 2: Advanced Topics & Applications* (Approx. 6 hours on weekdays + 4 hours on weekends) & Testing (55 min)** - *6:04:12* Preventing unwanted function calls - *6:19:48* `assert` & exception handling - *6:24:52* PyTest & automated testing - *6:35:20* Unit testing principles - *6:51:11* Side effects in functions *Day 9: File Handling & CSV (55 min)* - *6:56:46* File I/O - *7:12:30* Using `with` for file handling - *7:22:30* Sorting file contents - *7:27:27* Working with CSV files - *7:38:00* Handling large files efficiently *Day 10: Regular Expressions (55 min)* - *7:43:17* Sorting dictionaries - *7:54:33* Lambda functions - *8:00:09* CSV library for reading/writing - *8:32:16* Introduction to regex - *8:42:43* Validating email addresses *Day 11: OOP Basics (55 min)* - *9:30:28* Regex for validation - *9:46:51* Standardising user input - *10:35:54* Object-Oriented Programming (OOP) - *10:41:12* Functions as building blocks - *10:51:14* Tuples vs lists - *10:56:28* Dictionaries for readability *Day 12: Classes & Objects (55 min)* - *11:06:56* Creating custom classes - *11:12:12* Attributes & methods - *11:23:09* Class advantages - *11:28:26* Validation inside classes - *11:38:52* Importing & using classes *Day 13: OOP & Advanced Python (2 hours)* - *12:00:44* Getters & setters - *12:17:02* Visibility of instance variables - *12:27:52* Class methods - *12:33:17* Sorting Hat class - *12:49:26* Moving logic into class methods - *13:05:07* Inheritance & subclasses - *13:20:33* Operator overloading *Day 14: Final Concepts & Review (2 hours)* - *13:46:32* Bank account OOP example - *14:01:38* Type hints - *14:18:00* Documenting code - *14:33:24* Unpacking with `*args` & `**kwargs` - *15:04:31* Python programming paradigms - *15:25:34* Dictionary comprehensions - *15:56:19* Problem-solving & Python
May 2025 1-18 Lecture 0 - Functions, Variables Day 1= 50:40 Day 2= 1:19:20 Day 3= 1:50:40 Lecture 1 - Conditionals Day 4= 2:46:46 Lecture 2 - Loops Day 5= 04:07:10 Lecture 3 - Exceptions Day 6= 4:52:09 Lecture 4 - Libraries Day 7= 5:16:24 Day 8= 6:09:15 Lecture 5 - Unit Tests Day 9= 7:00:22 Lecture 6 - File I/O Day 10= 7:29:32 Day 11= 8:32:32 Lecture 7 - Regular Expressions Day 12= 9:33:18 Day 13= 10:37:55 Lecture 8 - Object-Oriented Programming Day 14= 11:27:38 Day 15= 12:28:45 Day 16= 13:28:46 Lecture 9 - Et Cetera Day 17= 14:16:38 Day 18= 15:57:47 looking forward to my programming journey
My Progress 2025 : Day 1 - 20th Feb (0:00 - 47:00) Day 2 - 21st Feb (47:00 - 1:25:00 Day 3 - 26th Feb (1:25:00 - 2:45:42) Day 4 - 27th Feb (Assignment : Problem Set 1) Day 5 - 28th Feb (1:25:00 - 4:07:00) Day 6 - 1st March (shorts - list/dictionaries) Day 7 - 2nd March (Assignment : Problem Set 2) Day 8 - 3rd March (Assignment: Problem Set 2) Day 9 - 4th March (4:07:00 - 4:51:45) Day 10 - 10th March (Problem Set 3) Day 12 - 12th March (4:51:50 - 6:09:13) Day 13 - 15th March (Shorts - api/libraries/packages) Day 14 - 16th March (Problem Set 4) Day 15 - 17th March (Problem Set 4) Day 16 - 21st March (Problem Set 4) Day 17 - 22nd March (6:09:15 - 7:00:06) Day 18 - 23rd March (Problem Set 5) Day 19 - 24th March (Problem Set 5) Day 20 - 25th March (7:00:06 - 8:32:30) Day 21 - 29th March (Shorts - File IO) Day 22 - 30th March (Problem Set 6) Day 23 - 4th April (8:32:30 - 8:52:30) Day 24 - 5th April (8:52:30 - 9:41:50) Day 25 - 6th April (9:41:50 - 10:37:30) Day 26 - 7th April (Shorts) Day 27 - 8th April (FSM, NFA, DFA) Day 28 - 14th April ()
⭐ 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
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!
00:05:02 Lecture 1: Functions, Variables 00:05:55 - cli: command line interface 01:49:19 - exponentials "n ** 2" and "pow(n, 2)" 01:50:38 Lecture 2: Conditionals 01:51:10 - >, >=, <, <=, ==, != 01:52:32 - if 02:08:44 - or 02:24:47 - the modulo operator: % 02:38:20 - match 02:46:47 Lecture 3: Loops 02:47:15 - cat.py 02:49:46 - while loop 02:53:40 - ctrl + c to stop infinite loops 03:02:42 - for loop 03:03:02 - list (number list--integers) 03:07:18 - function: range() 03:08:27 - using the underscore _ to represent a variable that's not used later 03:09:33 - using print( ) function to repeat printing 03:14:29 - while True: 03:21:20 - list: (string list) 03:21:40 - hogwarts.py 03:28:06 - len( ) 03:32:08 - dict (dictionary)
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
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
This was CS50! Thanks, David Malan! First Lecture Starts at 0:45 Second Lecture Starts at 1:50:38 Third Lecture Starts at 2:46:44 Fourth Lecture Starts at 4:07:31 Fifth Lecture Starts at: 4:52:07 Sixth Lecture Starts at: 6:09:35 Seventh Lecture Starts at: 7:00:28 Eighth Lecture Starts at: 8:32:53 Ninth Lecture Starts at: 10:37:53 Tenth Lecture Starts at: 13:29:05
15:29:43 24 May 15:15:32 23 May 15:05:58 22 May 15:18:08 16 May 14:38:12 15 May 13:58:06 14 May 13:47:51 10 May 12:59:35 8 May 11:23:57 25 Apr 10:47:59 23 Apr 10:33:16 22 Apr 9:47:46 16 Apr 9:05:31 15 Apr regular expression 8:32:32 14 Apr image file write 8:12:13 11 Apr lambda, csv reader 7:46:09 11 Apr csv, dict 7:12:10 10 Apr file I/O 6:41:00 9 Apr 6:09:38 8 Apr unit test 5:49:35 8 Apr _name_ 5:08:54 6 Apr request 4:52:33 4 Apr 32:25 17 Mar 1:04:23 18 Mar 1:33:51 19 Mar 2:05:34 20 Mar 2:51:51 21 Mar 3:23:26 24 Mar 3:54:47 25 Mar 4:21:11 2 April
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. Edit I'm still coding, just not python but on Roblox now because I wanted a simple platform to build a game which could make me some extra cash on the side.
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
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!
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!
Just controlling, doing one topic per Sunday. (00:04:48) Lecture 0 - Functions, Variables ✅ at 11/08/2024 (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
The fact that this guy teaches programming with Python with such passion is motivating, massive thanks.
⭐ 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
DAY1 - 00:00 TO 1:04:14 DAY2- 1:04:14 TO 2:30:16 DAY3- 2:30:16 TO 3:32:40 DAY4- 3:32:40 TO 5:01:10 DAY5- 5:01:10 TO 6:26:30
@krazyxki