Comments by "Jeffrey Phipps" (@jeffreyphipps1507) on "Tina Huang" channel.

  1. 1. Python isn't a bad language to start (even if it's still incomplete). However, when I started learning, it didn't exist. I started with BASIC because there were far fewer languages. 2. Learn data types as part of Structured Programming (loops/if-else/sequence) and functions. OOP is not fully supported in Python. It does not implement inheritance nor part of polymorphism requiring inheritance. OOP must implement all three pillars (Inheritance, encapsulation, and polymorphism) before qualifying the language as a fully OOP language. I foresee a time (probably in the not too distant future) when Python will extend itself into the total OOP implementation. As a longtime instructor, the worst thing that I see is that new programmers have no experience with Structured Programming. Without this start, progressing into OOP is dangerous. 3. I agree here - having an interactive environment is very helpful (not unlike BASIC in the past). IDLE does provide this partially, but if you miss one little checkbox at the beginning of installation or have another language installed that supports Python (e.g. VS or VS Code) you might run into conflicts. 4. I agree here as well - unless you practice (and more than once) you'll forget it. The more often the better. I worry that some books and web sites provide horrible examples. In Python, I find the whole "while True:" construct poor quality. For the same number of lines you can do it right and avoid the "break". This construct in Python breeds bad habits that wouldn't be allowed in other languages. 5. Yes - there are details, but don't keep banging your head on the table if some detail eludes you. If you get stuck, and the detail isn't essential, move on. You may well get an exercise that clears it up later. Also, if the basic concept is eluding you, see if someone is available to help. I teach online and remind students constantly - ask questions. I'm here to teach you, you paid tuition whic includes my salary. 6. a. I tell my students to find projects that are interesting/useful and think about that for a final project. In a classroom (physical or online) work with the projects assigned and after you do them play around with them to try the concepts further. Keep practicing all along. Just remember - in a classroom you are expected to follow the specifics of the assignment, however, I want you to keep using what you learn outside of the projects. b. Start small - in classroom assignments we generally start small, however, outside of the assignment practice extending it. 7. Algorithms and data structures are something necessary to take programs to the next level. Eons ago when I was a beginning student, I was expected to figure out how to make a program sort (in FORTRAN). learning how to create these algorithms and data structures helps you to understand how things work - and how to experiment on how to make things better. 8. One gripe I have regarding Python is that sometimes error messages are vague. If you do manage to install an environment like VS Code, you can use debugging tools to help find causes of errors. StackOverflow is generally a decent source, but sometimes the examples are from sloppy programmers (another reason I tell students to ask me questions - I owned two businesses and I've taught programming since the 1980s - there's very few errors I haven't seen). Another minor issue is that Internet access isn't always available. 9. Sometime you may have to learn a newer programming language, a new scripting language to interface with, or even an old language that you need to interface with to update a business (for me it was ALGOL!). Not all businesses use the same programming languages or tools.
    1