Self teaching computer science - where to start? Watch
Where should I start? Are there any good resources you guys can suggest? I learned the basics of Python several years ago and would like to refresh and continue with that, then Java and C#
Any help or suggestions appreciated, thanks
Have a look at this from university of michigan for a good (re-)introduction to Python programming: https://www.py4e.com/
Another introductory programming course using Python from MIT here:
This one starts from the basics, but it's more focused on the skill of using Python to 'think' like a programmer (computational thinking, problem solving), so it's a good one to get into more depth.
A good free e-book here - probably good for extra reading around Python if you're on either of the above courses: http://greenteapress.com/wp/think-python-2e/
Official Python docs are a good reference for checking Python syntax and libraries: https://docs.python.org/3/tutorial/index.html
(not really so great for learning to program, but just for fact-checking and the structure/syntax/etc.)
And make sure you take advantage of Google and StackOverflow for "how do i do [X] in Python?" type questions:
If you get stuck, then chances are someone else will have asked a similar question StackOverflow. One of the most important skills you need when learning anything new is being able to google and dig through information.
For helping you actually write Python code and build apps try Visual Studio - it's got a lot of useful features which should be helpful when learning; things like syntax highlighting, autocomplete, mouse-over help, auto-formatting, etc: https://visualstudio.microsoft.com/downloads/
There's a 'getting started' guide for the visual studio editor with Python here: https://docs.microsoft.com/en-us/vis...n?view=vs-2019 -- make sure you follow the steps about the debugger too because that's really important and really useful when learning (for helping you find and fix problems in your code)
Lastly, programming is all about practice and solving problems, so once you're feeling comfortable/confident, try challenging yourself on sites like these. As you gain more practice, you'll get better at thinking your way around programming problems and being able to think in terms of the Python language, which will make it much easier to learn other languages (Once you gain confidence in any one language, then the next one you learn will be much faster):
- Political Ambassador
- Stack Overflow
Also craigndave on YouTube are good for teaching you A level specification stuff. You obviously won't need to watch everything but there are some things any computer scientist should know, especially the units on computational thinking.
Best of luck.