@tenamsb686

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!

@xgz2491

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!

@rsmovingbush

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!

@abhaymaheshwari6379

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

@maximus6452

The fact that this guy teaches programming with Python with such passion is motivating, massive thanks.

@laodrofotic7713

This guy KNOWS how to explain things, the true sign of intelligence. Unlike other YT "teachers" that get you more confused than not.

@taimur4148

⭐ 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

@muhammadmalik676

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

@benjammin105123

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

@MrOxford

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.

@itsvictoroyedeji

I dropped everything and watched the entire nearly 16 hour video in 1 week! One of the best videos ever.

@krishna_3406

⭐ 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

@PhantomKazim

Courses like this from the world's most expensive and costly institutions for free show us the importance of YouTube.
I mean that they are making money out of YouTube through these video courses.

@0rjuela

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

@alirezarashedi9990

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 :face-blue-wide-eyes:

@anlyigitsel6993

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

@t-uzithehunterxx5879

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.

@UnCanny_

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

@JRay2113

This guy speaks for 15 hours straight every 4-6 months. Mad respect to him for that

@johnadepelumi93

literally less than an hour after I searched for a full python course on youtube, FCC decided to drop one. 
What a miracle.