Question about learning programming

  • #1
TGV320
39
16
TL;DR Summary
Need advice about learning intermediate subjects of programming
Hello,

I am currently learning Python as a basis for further studies in programming. The course that I took at college was quite basic, teaching us the basic concepts required for programming, and some web oriented concepts like data scraping, APIs, automated tasks using bots. As I delved deeper into programming, I noticed that the course didn't teach us much about algorithms. That part of programming seemed like a really important one, since I found out that when I try to program from scratch, I really didn't have much idea about how to do anything, like the deeper logic control loops or data structures.

Therefore, I am now contemplating studying some computer programming textbooks about algorithms and data structures.

The question is : should I study it as mentionned and do you think doing so might really help me understand the deeper logic involved in programming?

Thanks a lot,
Regards
 
Technology news on Phys.org
  • #2
I think you should study some important algorithms and especially data structures. Those are important topics in programming.
 
  • #3
"THE ART OF COMPUTER PROGRAMMING" by Donald E. Knuth

(volumes 1, 2, 3 are the ones I remember and I think there are also 4 and 4A, and possibly 5.) Well worth the time and effort!
 
Last edited by a moderator:
  • Like
Likes FactChecker
  • #4
Tom.G said:
"THE ART OF COMPUTER PROGRAMMING" by Donald E. Knuth
The first three volumes are classic. But it is a very heavy amount of work to study them. I'm not sure that the OP is asking for that kind of commitment.
 
  • Like
Likes phinds and Tom.G
  • #5
TGV320 said:
Therefore, I am now contemplating studying some computer programming textbooks about algorithms and data structures.

The question is : should I study it as mentionned and do you think doing so might really help me understand the deeper logic involved in programming?
No.

You have tagged this post "Python"; this already implements standard algorithms and data structures (as do other high level languages) so you don't need to know how to write them.

Programming does not involve any "deeper logic", what it consists of is breaking down a problem into smaller parts and writing code for each part using the logic you already know. In order to do this successfully you need to practice. If you don't already have problems to practice on try www.codewars.com.
 
  • #6
Hello,

Thanks for the advice. It is true that I don't practice enough on programming. What I frequently read on the internet is that beginner programmers just use a lot of Stackoverflow and such for solving programming problems, often being caricaturized as "copy and paste".

Thanks for answering,
Regards
 
  • #7
TGV320 said:
What I frequently read on the internet is that beginner programmers just use a lot of Stackoverflow and such for solving programming problems, often being caricaturized as "copy and paste".
If you want to actually learn how to program, that's not a good approach.
 
  • Like
Likes TGV320 and Vanadium 50
  • #8
Hello,
Very well, I think I'll get to work then.
 
  • #9
It is nice to have some general knowledge of the algorithms that are being used by a utility library. That does not have to be very detailed unless you are really going to work on those algorithms. Other than that, if you have a field of application that you are interested in, IMO, you are wise to start getting familiar with the groups (internet?, university?, publications?) who work in that field and the computer techniques that they use.

PS. Some libraries have good documentation on their algorithms that should be good enough for general knowledge. MATLAB has good documentation and the old IBM FORTRAN Scientific Subroutine Package was also very well documented.
 
Last edited:
  • #10
Hello,

For the moment I really don't have much of an application focus, I'm just trying to strenghten my general knowledge of computer programming overall, building a good basis for the future. I have found out that having robust theoretical knowledge does help with its future applications.

I am now leaning towards taking an university introductory course on data structures and algorithms.

Thanks,
Regards
 
  • Like
Likes Tom.G

Similar threads

  • Programming and Computer Science
Replies
1
Views
748
  • Programming and Computer Science
Replies
8
Views
1K
  • Programming and Computer Science
Replies
15
Views
1K
  • Programming and Computer Science
4
Replies
107
Views
5K
  • Programming and Computer Science
Replies
16
Views
1K
  • Programming and Computer Science
Replies
7
Views
2K
  • Programming and Computer Science
Replies
7
Views
701
  • Programming and Computer Science
Replies
13
Views
1K
  • Programming and Computer Science
Replies
8
Views
919
  • Programming and Computer Science
12
Replies
397
Views
14K
Back
Top