Programming assignment length

<p>What would you say is a reasonable amount of time to spend on a programming assignment, if you receive one every 2 weeks or so? </p>

<p>I spend almost 24hours on mine to get a working program but that seems alot considering theres textbook reading which shortens the amount of time to complete to a week or less. ( First time programming, occassionally i attend the lectures but usually i sleep in or skip them since prof literally reads the book word for word)</p>

<p>I would also appreciate tips / resources for help (java) if possible</p>

<p>That’s a difficult question to answer. Some courses are just tougher than others and require a larger time commitment. Also, programming skill varies from person to person – one person might complete in 24 hours what another person can do in 8. You’ll soon find out (if you’re a CS major) that there is a lot of the truth to the saying that some people have a natural aptitude for programming and others, no matter how long they’ve been doing it, never seem to “get” it. So I guess the answer is, the reasonable amount of time to spend is exactly the amount of time it requires for you to finish the assignment.</p>

<p>I don’t think skipping class is a good idea, even if the lecturer isn’t very good. Studies have shown that students who attend lectures do about 10% better than student’s who often miss class. Also, I think that students start to feel disengaged and disinterested in school if they stop showing up.</p>

<p>Java is one of the most widely used languages in the industry so there are literally hundreds of Java books and tutorials out there. I’ve had an O’Reilly online books account for many years – you can pay around 10 dollars month and they let you “check out” 5 books at a time. There are lots of Java books on there, although I can’t really recommend any since I haven’t read many Java books. You might try getting an account and reading some Java programming books online.</p>

<p>I’ve spent ~50 hours on some assignments. Usually if you are spending more than an hour on each page of code, it indicates a lack of understanding. My advice would be to watch how much time you’re spending as you’re writing code and stop yourself if you’re moving too slowly. It probably means that you don’t truly understand what you’re writing and you need to step back and do extra reading and sketching out your ideas at a higher level. If you don’t knowing what you are coding, it’s easy to lose dozens of hours repeating the same mistakes.</p>

<p>Quality time, not quantity. Work it all out on paper first.</p>

<p>TomServo writes “Work it all out on paper first.”</p>

<p>Good advice if he had asked this question back during the punch card era! :)</p>

<p>^ Still good advice today.</p>

<p>With the high level languages out there today like Python and Ruby, you can do a lot of rapid prototyping without having to sit and write UML diagrams and what not. But I’m not sure if that’s an option for the OP.</p>

<p>Working your algorithm out on paper first (using pseudocode, plain text, snippets of real code, your own personal shorthand, boxes with arrows going all over the page, etc.) saves you a ton of debugging time.</p>

<p>Thank you for the input. Before coding I think of how I go about the problem and what I’ll do, that doesn’t take me much time. The majority of the time its me debugging and finding that one small mistake in syntax that I overlooked. Is there any other resources besides open coursewares utorials that explain concepts differently? Such as a a tool to help debug?</p>

<p>What are you currently using to debug your Java code? When I was a student, I did all of my assignments on vi and just used command line debuggers, but I realize now that I could have saved myself a lot of time and trouble if I had used an integrated development environment (IDE) to develop and debug my code graphically. Eclipse is probably the most popular IDE out there for Java developers, but there are bunch of others out there. I’m not a Java programmer, but I used Netbeans recently when I had to write a quick web service client in Java and I thought it was a pretty nice IDE too. </p>

<p>Of course, there is a bit of a learning curve for IDEs as well, so it may be a little bit confusing at first.</p>