What should I do while learning programming?

  • Thread starter Thread starter shivajikobardan
  • Start date Start date
  • Tags Tags
    Programming
Click For Summary
SUMMARY

The discussion focuses on effective strategies for learning programming, particularly for aspiring Python web developers. Key recommendations include completing a foundational programming course, purchasing a Python textbook, and solving numerous Codewars problems to strengthen programming basics. It is emphasized that learning numerical methods and cryptography algorithms is not essential for web development. Instead, understanding databases, HTML, CSS, JavaScript, and frameworks like Flask and Django is crucial for back-end and full-stack development.

PREREQUISITES
  • Basic understanding of programming concepts such as loops and conditionals.
  • Familiarity with Python programming language.
  • Knowledge of web development fundamentals including HTML, CSS, and JavaScript.
  • Awareness of web frameworks, specifically Django and Flask.
NEXT STEPS
  • Complete a foundational programming course to solidify basic concepts.
  • Purchase and study a comprehensive Python textbook focusing on exercises and examples.
  • Practice solving Python problems on Codewars to enhance problem-solving skills.
  • Learn about web development frameworks, starting with Flask before moving on to Django.
USEFUL FOR

Aspiring web developers, Python programmers, and anyone looking to strengthen their programming fundamentals and transition into web development.

shivajikobardan
Messages
637
Reaction score
54
TL;DR
how to learn programming?
Here is what I have planned to do-:
1) Do 1 course.
2) Buy a python textbook and solve it exercises and examples.
3) Solve 250 codewars problems
4) Do numerical methods in python.
5) Do cryptography algorithms in python.
Will this be enough for my learning to be good enough to be a web developer in python? (I Need to learn django afterwards I know that). IWTL.
 
Technology news on Phys.org
A few thoughts:
  • Numerical methods and cryptography algorithms won't help you at all with developing for the web.
  • There are different branches of web development, mainly split into back-end (what runs on the server) and front-end (what the user sees in the browser). For back-end development you also need to learn databases, and for front-end development Python is no use at all and you need to learn HTML, CSS, JavaScript and JavaScript frameworks.
  • Django is not the only Python web framework and you should also learn Flask.
 
  • Like
  • Informative
Likes   Reactions: sysprog, berkeman, FactChecker and 1 other person
pbuk said:
A few thoughts:
  • Numerical methods and cryptography algorithms won't help you at all with developing for the web.
  • There are different branches of web development, mainly split into back-end (what runs on the server) and front-end (what the user sees in the browser). For back-end development you also need to learn databases, and for front-end development Python is no use at all and you need to learn HTML, CSS, JavaScript and JavaScript frameworks.
  • Django is not the only Python web framework and you should also learn Flask.
It is to improve my basics of programming about loops etc...Not for web. I Want to make my basics strong.
 
shivajikobardan said:
It is to improve my basics of programming about loops etc...Not for web. I Want to make my basics strong.
Hmm, we seem to have a communication barrier. Let me relate my answers more directly to your questions.

shivajikobardan said:
Here is what I have planned to do-:
1) Do 1 course.
This will help you improve your basics of programming about loops etc.

shivajikobardan said:
2) Buy a python textbook and solve it exercises and examples.
This will help you improve your basics of programming about loops etc.

shivajikobardan said:
3) Solve 250 codewars problems
This will help you improve your basics of programming about loops etc., although 250 is rather a lot.

shivajikobardan said:
4) Do numerical methods in python.
This will not help you improve your basics of programming about loops etc - you need to be really strong in the basics before you tackle numerical methods. Also, learning how to implement numerical methods in Python will take a great deal of time and effort and is unlikely to help you with your long term goals.

shivajikobardan said:
5) Do cryptography algorithms in python.
This will not help you improve your basics of programming about loops etc - you need to be really strong in the basics before you tackle numerical methods. Also, learning how to implement cryptography algorithms in Python will take a great deal of time and effort and is unlikely to help you with your long term goals.

shivajikobardan said:
Will this be enough for my learning to be good enough to be a web developer in python?
No, in order to be a back-end web developer you also need to understand databases (both RDBMS like the various implementations of SQL and the so-called NoSQL services). In order to be a front-end or full-stack developer Python is no use at all and you need to learn HTML, CSS, JavaScript and JavaScript frameworks. There are also more concepts you need to understand to be good enough to be a web developer, particularly asynchronous programming.

shivajikobardan said:
(I Need to learn django afterwards I know that). IWTL.
Not necessarily, there are a lot of Django websites out there but Flask is more relevant for new developments in 2021. IMHO you will be a better web developer if you learn Flask first and then Django rather than the other way round.
 
  • Like
Likes   Reactions: valenumr, BvU, sysprog and 1 other person
shivajikobardan said:
Summary:: how to learn programming?

Here is what I have planned to do-:
1) Do 1 course.
2) Buy a python textbook and solve it exercises and examples.
Here's a very basic online textbook that will help you with Python basics. Its topics include conditionals, loops, functions, exceptions, and strings - https://codehs.com/textbook/intropython_textbook/. It has a few multiple-choice questions and fill-in-the-code questions to check your understanding.
 
  • Like
Likes   Reactions: sysprog and pbuk
pbuk said:
Hmm, we seem to have a communication barrier. Let me relate my answers more directly to your questions.This will help you improve your basics of programming about loops etc.This will help you improve your basics of programming about loops etc.This will help you improve your basics of programming about loops etc., although 250 is rather a lot.This will not help you improve your basics of programming about loops etc - you need to be really strong in the basics before you tackle numerical methods. Also, learning how to implement numerical methods in Python will take a great deal of time and effort and is unlikely to help you with your long term goals.This will not help you improve your basics of programming about loops etc - you need to be really strong in the basics before you tackle numerical methods. Also, learning how to implement cryptography algorithms in Python will take a great deal of time and effort and is unlikely to help you with your long term goals.No, in order to be a back-end web developer you also need to understand databases (both RDBMS like the various implementations of SQL and the so-called NoSQL services). In order to be a front-end or full-stack developer Python is no use at all and you need to learn HTML, CSS, JavaScript and JavaScript frameworks. There are also more concepts you need to understand to be good enough to be a web developer, particularly asynchronous programming.Not necessarily, there are a lot of Django websites out there but Flask is more relevant for new developments in 2021. IMHO you will be a better web developer if you learn Flask first and then Django rather than the other way round.
I see. I see... I will cancel cryptography and numerical methods then. I am really interested in cryptography tho.
 
My usual comment: Learn to create a design document before you code (stating what you are trying to do, what methods you are going to implement, a rough sketch of what subroutines you are planning etc.).
 
There is a lot of software engineering that you should start to become familiar with. Change management is important, especially in large projects. Learn how to use git or some other source control tool.
 
shivajikobardan said:
I see. I see... I will cancel cryptography and numerical methods then. I am really interested in cryptography tho.
What do you mean by cryptography though? There is a massive gulf between applying crypto algorithms, such as pki, and really having a fundamental understanding as to why they work, or getting really deep, understanding how to build a crypto algorithm. Numerical methods aren't super hard, but they also require a deep mathematical understanding. To the latter, there is much literature on numerical algorithms, so one could just implement a runga-kutta integrator without any forethought, but there are many problems that can occur that won't be solvable without deeper understanding.
 

Similar threads

  • · Replies 7 ·
Replies
7
Views
1K
  • · Replies 43 ·
2
Replies
43
Views
6K
  • · Replies 17 ·
Replies
17
Views
2K
  • · Replies 133 ·
5
Replies
133
Views
11K
Replies
6
Views
3K
Replies
86
Views
2K
Replies
5
Views
2K
  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 9 ·
Replies
9
Views
2K
Replies
33
Views
3K