Feeling unmotivated, any advice?

  • Thread starter Thread starter Instinctlol
  • Start date Start date
Click For Summary
SUMMARY

This discussion centers on strategies for junior computer science students facing challenges with large assignments after transferring to a university. Key advice includes applying the Unix philosophy of writing small, single-purpose functions to enhance clarity and reduce bugs. Participants emphasize the importance of prototyping and rewriting code to improve initial drafts. Additionally, maintaining a visual representation of variable states on paper can help identify mismatches and debugging opportunities.

PREREQUISITES
  • Understanding of the Unix philosophy in programming
  • Basic knowledge of function design and modular programming
  • Familiarity with debugging techniques
  • Ability to create and interpret flowcharts or state diagrams
NEXT STEPS
  • Research "Unix philosophy in software development"
  • Learn about "modular programming techniques"
  • Explore "effective debugging strategies for beginners"
  • Study "creating flowcharts for programming logic"
USEFUL FOR

This discussion is beneficial for junior computer science students, educators, and anyone involved in software development who seeks to improve their coding practices and debugging skills.

Instinctlol
Messages
79
Reaction score
0
I am a jr cs student. I just transferred to a university from a community college and I feel a HUGE different in terms of difficulty. I have been working on 1 assignment day and night and I can't seem to get it done. The assignment is much larger than I am used to and I am getting bugs from every little code I write.

I am starting to feel unmotivated and about to give up. Do you guys have any tips or advice for tackling these big projects? What should I do to reduce the amount of bugs I get?
 
Technology news on Phys.org
That's a tough one.

You could try applying the Unix philosophy of writing small functions that do one thing but do it well...functions that do not do much more than one thing at a time without confusing the matter by trying to kill two or more birds with one stone and trying to do different things within the same loop, finding yourself including 'if' statement, etc. and keeping track of several tasks all in your head at the same time.

Some of the code may be the same, but who cares...maybe at the end, with better vision, you can join things together if performance is really an objective...to start, though, clarity, debugging ease and extensibility are best.

Also, "prototype and re-write" is not that bad...don't continue a bad path, just because you started that way...some times writing something for the first gives you a better taste for it and you can come back a second time and be surprised how much better and simpler you can write it.

Good luck
 
Hey Instinctlol.

My advice for reducing bugs is to keep the state-space in your head for the variables and if you can't do that right now in your education, then get out a piece of paper and do it that way.

The paper should contain all the variables, it's values that exist and what they should be in order to not get a crash or non-valid behaviour.

Then look at your code and see if re-inforces what you have on paper and if you get a mis-match then that will give you a hint of where to look for errors and what to change.

Then look at where the data-flows: does it get passed to other functions? Do other functions access it? How does all this affect what you expected it to do and your paper model?
 
Thank these are great tips, I will consider them.
 

Similar threads

  • · Replies 11 ·
Replies
11
Views
3K
  • · Replies 10 ·
Replies
10
Views
3K
  • · Replies 24 ·
Replies
24
Views
4K
  • · Replies 19 ·
Replies
19
Views
3K
  • · Replies 8 ·
Replies
8
Views
3K
  • · Replies 8 ·
Replies
8
Views
4K
Replies
40
Views
4K
  • · Replies 2 ·
Replies
2
Views
4K
  • · Replies 3 ·
Replies
3
Views
2K