[ 3 / biz / cgl / ck / diy / fa / ic / jp / lit / sci / vr / vt ] [ index / top / reports ] [ become a patron ] [ status ]
2023-11: Warosu is now out of extended maintenance.

/sci/ - Science & Math


View post   

File: 50 KB, 322x279, 1512953804458.jpg [View same] [iqdb] [saucenao] [google]
9370760 No.9370760 [Reply] [Original]

How do I get better at programming? I have serious difficulties trying to do programming assignments for my classes, and I'm gonna be covering trees, data structures, heaps and all that other stuff in the next term and I feel like an absolute brainlet when it comes to coding. How do I develop intuition for programming, and learn how to approach problems correctly?

>> No.9370763

read sicp

>> No.9370770
File: 85 KB, 804x802, 1496436124771.jpg [View same] [iqdb] [saucenao] [google]
9370770

>>9370763
w-what?

>> No.9370789

>>9370760
let's take a heap
First, understand what it is. For example read http://faculty.cs.niu.edu/~freedman/340/340notes/340heap.htm
Second, read some pseudocode. There's some on that link, and there are tons of examples online.
Third, look at an implementation on your language of choice. Example https://github.com/alyssaq/heap
Fourth, read about uses cases. For example, https://stackoverflow.com/questions/749199/when-would-i-want-to-use-a-heap
Fifth, look up in github real applications of the data structure. This is harder because you have to spend time searching, but seeing the data structure being used in a real world project is enlightening. For example https://github.com/anvaka/ngraph.path

That's at least what I do to learn how to program something new. From from the general theory to more and more specific applications.

>> No.9370797

>>9370770
I can see why you're struggling with programming if you haven't yet mastered the art of putting everything you don't recognize into a search engine.
http://lmgtfy.com/?q=sicp

>> No.9370801

>>9370770
sick-p
it's the hottest rapper in town

>> No.9370813

I feel you, OP. I do well in theoretical CS classes but then struggle in programming courses. For my peers, it seems to be the opposite.