Python is a good language, and you could try building a web app in something like Flask or Django if that interests you
(Microsoft have a nice little set of 6x "getting started" guides for using Python and Flask with the Visual Studio IDE to build a basic web app):
https://docs.microsoft.com/en-us/visualstudio/python/learn-flask-visual-studio-step-01-project-solution?view=vs-2019Visual studio turns out to be a pretty good tool for Python these days (Visual Studio 2019 community edition is the 'free' non-commercial version), although there are others including JetBrains' PyCharm too.
There's another good set of tutorials for Python and Flask here:
https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world I wouldn't worry about the EdX certificates to be honest - they're not really worth anything - most companies (especially big tech companies) aren't too bothered about what qualifications you've got; they're interested in being able to see strong, demonstrable evidence of your ability to think logically and solve problems, as well as seeing what kinds of projects you've worked on, what kinds of technologies you've used before, understanding how you think and how you'd cope when faced with big, difficult problems.
The Harvard cs50 course is mostly a programming course but it gets into the core of computational thinking as well, and the problem sets which it uses as part of the course will get you writing code and algorithms, so it's a really good place to start. You'll rely on those skills (including knowing the terminology, and ways of thinking about problem solving) in order to help understand the kinds of frameworks used for building apps.
For example, if you want to build a server-side web app using Python, then programming and problem solving skills are necessary in order to understand the Python web app frameworks (Python's web app frameworks are Django or Flask -- don't worry about these just yet though). Python is a decent language for building web apps; and realistically speaking if you can get through the CS50 courses then doing the same Python shouldn't be too much of a problem -- again, the programming skills are about common ways of thinking that apply to any programming language, whereas each specific language itself is really just a tool with its own syntax and grammar.
Software engineering covers a whole spectrum of skills and usually a whole long list of different technical "ecosystems" to choose from (people tend to need to choose one and stick with it). So in the long term, you will need a bunch of other skills for software engineering, including:
Tools: Using your IDE and the debugger for the programming language, using "git" (GitHub or GitLab) for source control.
Databases: SQL, database design, data modelling and normalisation, using a programming language with an "ORM" library to connect to a database.
Code Quality:
defensive code, following coding standards, adopting 'good habits', writing small functions/classes, good naming habits, commenting.
Testing: Learning a
unit testing library, Test-Driven-Development, learning to think about testing against edge-cases and failures
OO Programming: Classes, inheritance, polymorphism, constructors
Software Design: Design principles (abstraction, separation of concerns, encapsulation SOLID and GRASP principles, "OO" design patterns)
"Functional" Programming paradigm: immutability, higher-order functions, lazy evaluation.
Data: Data structured as CSV and JSON (and XML). RegEx string "pattern matching", general string manipulation
Concurrency: including parallel processing, asynchrony and multi-threading.
Operating Systems: Comfortable with at least one O/S - scripting, deployment, configuration, security (users/roles/permissions/certificates/etc.),
Cloud Platforms: It's helpful to know how to deploy your apps on a platform like AWS or Microsoft Azure, and how to use "infrastructure as code".
Web Development: HTTP communication, web app debugging using browser "F12" tools, at least one back-end web framework (e.g Flask or Django)
Software Development Process: understand a bit about "agile", plan a personal project using a backlog with task breakdowns (e.g. Trello kanban board).
Also, the advanced features of whichever back-end programming language you decide to use will be important. E.g. in Python it's essential to understand Python-specific concepts like List comprehensions, Decorators, Generators, Itertools, Functools.
On the other hand, the advanced features of another language like C# would be different. For C# you'd want to understand a whole bunch of things which are in C# but not Python - including "async/await", Generics, Events, LINQ, Extension Methods, Reflection, Attributes/Annotations...
It can also help to do some other things as well, such as getting involved in an open-source project:
https://www.firsttimersonly.com/And also if there are any "tech meetups" in your area then that can be great for getting along to some interesting events, finding out more, doing some social networking, and talking to other people who are enthusiastic about the same kinds of things:
https://www.meetup.com/find/tech/You often get a whole mix of people at these events, including hobbyists, students, professionals, teachers, and pretty much anyone who just happens to be interested, so these can be very good communities to be part of. Also a good chance to get involved in things which might interest you like "hackathons".