Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

How Can I Be Better At Programming/Logic

  1. Sep 4, 2011 #1
    Hi Everyone,

    Okay well I have just got into my second year of Computer Science Engineering, and I take two subjects related to programming, mind you I have a fairly good knowledge of C/C++, and I know how to write basic programs and a few data structure implementations.

    Now I just want to know before I get into more detail stuff in my later years, how do I prepare and improve my logic of programming? or how do I understand more stuff or maybe learn a little earlier?

    I am taking Discreet Mathematics , and I believe its one of my subjects to improve my logic and rational thinking , though I just started with it and I am not sure what to expect.

    Also please help me and tell me what things to look out for during my Engineering Degree in Computer Science, I love networking , and hardware personally but it looks like Ill be doing it only in the third year, I also have to learn Electronics (MOSFET's etc.)

    It sounds a lot of fun, but I just want to be prepared , right now I have to take 8 subjects as prescribed by my university.

    Also is there any website with diagrammatic representations of stacks, queue etc. data structures or maybe videos, I have learned these in my high school, but I have forgotten.

    Thank You All,
  2. jcsd
  3. Sep 4, 2011 #2


    User Avatar
    Science Advisor
    Gold Member

    Last edited by a moderator: Apr 26, 2017
  4. Sep 4, 2011 #3


    User Avatar
    Homework Helper

    In what way are you "good" at programming or logic now, and in what way are you "bad" at them? You've asked a very vague question.
  5. Sep 4, 2011 #4
    If you're going to study discrete maths, I'd suggest Discrete Mathematics and Its Applications by Kenneth Rosen. The book might be a little bit dry (according to others), but I find it very useful and broad for all types of math that relate to computing and things like that. It's one of the most useful math books I have, if not the most useful.

    Anyway, on getting better at these things.... there's really no way other than to practice a lot. Programming is something that you can only get better at with time and experience. You can't learn to ride a bike by reading a book.

    In regards to learning about stacks and stuff (and someone correct me if I"m wrong), it sounds like what you're looking for is something with operating systems and data structures (the latter you had mentioned). I know you said you wanted some diagrams and stuff only, but if you're going to be a computer scientist/engineer, you should have some books on the subject as it will be very handy in the future.

    The computer scientist in me would say get an algorithms book.... but I'm pretty sure you could live without one of those (though it might help to see them as it would surely help with improving your logical thinking). If you, however, decide you want to get one, I'd recommend Algorithm Design by Kleinberg and Tardos.
  6. Sep 4, 2011 #5
    These are all relevant articles.
    http://www.paulgraham.com/avg.html" [Broken]
    http://www.paulgraham.com/gh.html" [Broken]
    http://www.paulgraham.com/head.html" [Broken]

    I would definitely agree that learning a functional language (not necessarily lisp, but just some functional language) helps you think logically, and frame problems in different ways.
    Last edited by a moderator: May 5, 2017
  7. Sep 4, 2011 #6


    User Avatar
    Gold Member

  8. Sep 9, 2011 #7
    Thank you all for your inputs :)

    Also can you tell me some tips or some subjects I should really look into now.

    Are MOSFET's etc. important ?

    Any specific area I should concentrate on, I am looking forward to joining the aviation industry with Computer Science , i.e. Making working with Avionics and Cockpits or something for the Airlines.

    Any suggestions would be lovely.
  9. Sep 9, 2011 #8


    User Avatar
    Science Advisor
    Gold Member

    From the logic end, the type of semiconductors is immaterial. You can build the various logic gates using each type and from a digital design point of view you don't worry about the type of semiconductor.

    e.g. TLL=Transistor-Transistor Logic, CMOS = Complementary Metal Oxide Semiconductor...
    ( MOSFET=Metal Oxide Semiconductor Field Effect Transistor is used for MOS or CMOS logic)
    See e.g. http://en.wikipedia.org/wiki/Logic_family" [Broken]

    At the hardware level the choice of semiconductor type will determine the voltage levels of the 1 vs 0 and the power consumption, also thermal, EMF noise, and radiation resilience of the device, ... the production costs, speed, and degree of miniaturization as well. These engineering concerns may dictate some choices at the design level.
    Last edited by a moderator: May 5, 2017
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook