I think new coders should concentrate at first on understanding program flow, variable usage and such and not worry so much on structure as this will come with experience and each will develop his own style, its true the first 20 or so projects will go in the bin anyway as they learn more, once they get to grips with the whole concept they will find there own style, trying to adopt another programmers coding style while not understanding what that programmer is actually doing will ultimately lead to bad code.
but that being said the one thing I would recommend to anyone coding in any language is "know and understand finite state machines (FSM)" as these are vital IMO to a well-structured code framework and use constants for your state declarations, event loops can become very messy and impossible to maintain very quickly, using a FSM will take most of the pain out of the process and using constants makes it clear what each state is actually doing.
Also, this is a personal preference, but I like to write event-driven code, my FSM will call event functions which in turn call the logic code so the only code in the event loop is the FSM, no logic, no mess, just a state switch and a bunch of single function calls to event functions for each state, this segregation really helps to isolate issues and adding states is easy.
But above all I think the single most important bit of advice to give a new or old coders alike, is comment, comment and comment again, its clear to you what the code is doing while you are writing it but return to that code a week, month, year later and you soon get lost in trying to remember or understand your train of thought at the time of writing, I give this advice but I am not so good at taking it and I wish commenting code was a habbit I got into years ago but its only as I revisit old projects I feel the pain of my lack of comments
I have been a hobbyist programmer for over 15 years and I would like to think I am fairly capable but I still find ways to improve as I write more and more, I don't think any definitive guide on how to structure code could apply to all programmers but a definitive guide on what NOT to do could really help out new coders.