Is coding hard for you?

toughtrasher

Senior member
Mar 17, 2013
595
1
0
mysteryblock.com
I'm currently taking a computer science course (learning Java at the moment) and I'm failing miserably. I know the basics (how to make classes, basic commands, etc) but I'm struggling to keep up with what's going on.

I do have the Head First Java book that the teacher recommended but until now I have not finished it (read through only the 2nd chapter).

Switching out is not an option since it is my major.

thanks everyone.
 

smackababy

Lifer
Oct 30, 2008
27,024
79
86
Sounds like you're just not studying.

For me, finding the solution to the 'problem' is a two step process. The first is figuring out what the system needs to do to achieve that goal. The second, is how to do that in code. The second part becomes easier with knowledge and experience. The first sometimes is still hard.

And if you haven't read that book yet because you dislike reading, well, computer science just might not be for you. The number of books and API documentation I've read through looking for how to do something as efficiently as possible is stupidly high.

Technologies evolve and if you don't, you aren't making it as a developer. I learn new things all the time.
 

ruhtraeel

Senior member
Jul 16, 2013
228
1
0
I'm currently taking a computer science course (learning Java at the moment) and I'm failing miserably. I know the basics (how to make classes, basic commands, etc) but I'm struggling to keep up with what's going on.

I do have the Head First Java book that the teacher recommended but until now I have not finished it (read through only the 2nd chapter).

Switching out is not an option since it is my major.

thanks everyone.

The guy above me is 150% right.

It... can be hard. I personally did NOT do well in my Java course, but with all the extensions to it such as data structures and Software Engineering in C#, stuff just started to naturally click together (that and I didn't study that hard when I was taking Java).

I also found that once you start going into practical uses of code, if you understand the idea about the structure, everything else becomes trivial, such as looking up a method in the API to do something specific and stuff like that.

I'd say that the most important thing is not to memorize anything. While the very first course (Python for me) was some memorization about how to write a loop and remembering semicolons and stuff, each course after that becomes more and more understanding based.

Understand what something does, and understand why it does it. These are the two most important things on CPSC IMO. If you understand what something does and how it does it, the rest is just using that knowledge in specific scenarios.

The hardest things in Computer Science are the ideas. Something very high level like Haskell or Prolog you can actually get stuck on because you cannot figure the logic as to how to solve something. This is when it can truly get hard. Since CPSC is a pure science, the main focus is on the logic and the idea behind something, rather than the actual syntax/execution of the idea (that would be more Software Engineering). That being said, a good portion of the intro level CPSC courses teach you how to execute properly, and the ideas come later down the line.
 
Last edited:

DaveSimmons

Elite Member
Aug 12, 2001
40,730
670
126
Coding is easy for me but I've been doing it professionally for many years now. My advice:

Practice. Lots and lots of practice.

If you want to get better, write a lot of code. Write code that has nothing to do with your class assignments. Choose some small projects that sound a little interesting and carry them out, never giving up.

Don't try to memorize solutions to problems, practice figuring out how to solve problems.

If you're just starting out, you can set yourself simple problems like adding a list of numbers, counting the words in a sentence, etc. then work up to harder ones like playing a game of solitaire or making a sudoku puzzle.
 

BrightCandle

Diamond Member
Mar 15, 2007
4,762
0
76
I have read well over 200 technical books on programming in 15 years. Further to that I have likely read on average about 10 articles a night for 10 years also on programming. You are going to read a lot, you are going to refer to technical documentation a lot and its almost always going to be pretty dry and a lot less easy to get at than a head first book. You need to start consuming documentation and you need to enjoy it. University courses on programming are not difficult, they are introductions, there is so much more to learn over the coming decades afterwards and it never ends.

If you aren't enjoying learning these things you have the wrong major, otherwise if you do enjoy it your not putting in the time necessary to do it well. Its not just about doing the course its about doing things that are interesting along the way as well, never do the minimum.
 

BoberFett

Lifer
Oct 9, 1999
37,562
9
81
What in particular are you having trouble with?

Programming is ultimately about breaking down a problem into discrete steps. Figuring out how to instruct the computer to do each step is often the easy part. You want to write a program to do something. Start by breaking it down in logical steps. Continue breaking each of those steps into smaller logical steps. At some point you'll find that things can't be broken down any further, and you'll be ready to write code. The particular language you use will often not matter, it's all about logic.
 

Net

Golden Member
Aug 30, 2003
1,592
2
81
only read through the 2nd chapter? that's not surprising then that your performance is bad unless you've been reading somewhere else.

to improve your performance, take a deep breath and realize there are no shortcuts in the world. then read from your heads first book and focus on understanding. don't go to far into reading without writing some code. you can decide how often to write code but going a day of reading without writing any code is a bad idea unless you're experienced.

don't move on in your reading if you don't understand what you read. reread it or google for other resources to help your understanding.
 

mkrohn

Senior member
Apr 13, 2013
219
0
0
I learned by doing... there's a reason everything starts with hello world

You always want to start learning how to display outputs then build upon it with things like basic math or hell even complex math. After that I generally figure out loops in that language.

Things like that may seem absolutely stupid but they are building blocks. You can't build a pyramid without a solid base. Last semester I had a programming logic class. I've been a PHP programmer for a long time but always done self taught and solo stuff for me so I honestly didn't know much about vocabulary and learning what is "proper" to do different things.

I can get into pretty much any programming language and quickly figure out what is going on when I look through source. Once you nail one language picking up another isn't really hard.
 

AyashiKaibutsu

Diamond Member
Jan 24, 2004
9,306
4
81
It was easy for me, but I was one of those rare people that could "piano code" as they said in college. Now that I'm plagued with migraines and constant joint pain not so much as I can't keep enough of what I'm working on in my head to be useful : (
 

owensdj

Golden Member
Jul 14, 2000
1,711
6
81
I think the best way to learn programming is just to sit down and try to do it. It's a painful process of getting stuck on something and then looking at documentation and/or examples to figure out how it's done. Reading and understanding well-written code helps as well.

As someone else said, breaking down the program into a few simpler steps and then breaking down those steps into sub-steps helps keep you from feeling overwhelmed. In Java and other object-oriented languages that means classes and methods. Remember that the algorithms and data structures you use are what's really important. The programming language is just the way you're implementing them. You won't always be using Java.
 

toughtrasher

Senior member
Mar 17, 2013
595
1
0
mysteryblock.com
Well, my main problem was the pace of the course. I, of course, am on summer break but the course I took was so fast-paced. I was doing well for the first half of the year until everything just fell apart and I fell behind. The teacher never looked back (asshole teacher, excuse my language) or helped me so I was just lost.

As for only reading to the 2nd chapter of the book, this goes to show how quickly everything was set in the class for me. I intended to read the book while the course was going on (so two different assignments at one time) and I failed to catch up with both.

It does help to mention I'm in highschool still and I just took an AP course, one that's not right for me at all. I'm moving into Computer Science III next year, not the AP, just honors. I believe they will head into more java stuff (advanced java I guess) for the year and not actually another language, which will probably save or kill me.

The question I have now is, how long does it usually take to finish a Head First Java book? I haven't coded in maybe 3 months properly (hate me for it), and school is resuming in about a month, give or take. I do have the advantage of a few weeks of the "starting up" process, which is pretty much the teachers getting to know us and setting up their stuff, aka not actually diving in the course.

I feel like I really screwed up the past school year and I'm seeking help from you smart folks here. Thanks again, guys!
 

Ken g6

Programming Moderator, Elite Member
Moderator
Dec 11, 1999
16,603
4,521
75
Not hard for me, but I've been doing it since I was 10 or so.

I will say this, though: When I try to do something hard, I frequently fail to grasp it the first time. I get a cursory overview of it, but the rest just flies over my head. Then I come back awhile later, and then everything clicks. This might be the case with you and Java. If so, consider doing a cursory overview of things you're going to study in the future.
 

Jaydip

Diamond Member
Mar 29, 2010
3,691
21
81
Coding piece of cake debugging that's a different story entirely read a good book on programming like TAOCP, Vol 1 will suffice.
 

beginner99

Diamond Member
Jun 2, 2009
5,315
1,757
136
I haven't coded in maybe 3 months properly.

I'm gonna be harsh. This basically tells me you are not interested in it. Period. Look elsewhere or pull yourself together now.

It's ok if a professional programmer / software developer has a hobby project and no intention to work at a computer once he comes home from work. However in your case you had summer break and did jack shit. If you were interested you would have at least picked one of the exercises you had in class and made a "perfect" implementation of it or even go further and extend it. Or you might have actually started your own project.

IMHO reading books is one thing but much, much more important is to actually program. it's a language and languages can't be learned from books but only by "speaking" them. The only thing you can learn from books are general principles but then without an actual example they tend to be very, very abstract (this is were the exercises should help).

Besides this math and programming somehow require the same "skill" or "talent". While most of programming uses very basic math, it still seems to require the same brain areas (eg. "skill"). And last the same is true for music! And no this doesn't mean you need to be a good singer or good at playing instruments (that also has a "mechanical" aspect). If you suck in math (and did not care about the problems) and suck in music it's safe to say you chose the wrong major.
 

smakme7757

Golden Member
Nov 20, 2010
1,487
1
81
Programming does require a special way of thinking. Just writing a single class is easy enough, but once you start adding different objects and classes things can get difficult if you don't grasp the theory and understand how things fit together.

Not everyone can think that way. I'm definitely on the knifes edge when it comes to programming. I'm good enough, however I know it's not my strong point within IT.

In the beginning I was like you. Thinking I was falling down bottomless pit of code. However i promise, if you stick at it your understanding will grow.

We had an assignment in Java to create a program to solve fractions. I spent 6 nights from 17:00 to 01:00 each night trying to get it to work - It was driving me crazy. I eventually came across some material written by a lecturer in Canada which was freely available on the net and his stuff was so good everything just clicked into place (I ended up sending him an email thanking this stranger for giving me priceless help). After that my knowledge skyrocketed until i plateaued out at a later stage.

I guess what I'm trying to say is that learning programming is like learning a new language. You just have to bash away at it until it clicks.

Just keep at it and you will slowly increase hyour understanding, but remember not everyone can be a superstar programmer, so keep it simple and work you way through the course.
 

owensdj

Golden Member
Jul 14, 2000
1,711
6
81
Some of you guys are pretty harsh on a High School student. lol. It's not like he has all day at a job to get experience at Java programming.

toughtrasher, you should take the few weeks you have to go back over the material covered by that first course. Spend all day every day on it if you can. The more you immerse yourself into your programming the faster you will learn, just like with a foreign language. Ask specific questions as you run into problems. Go into a Java or general programming channel on Internet Relay Chat so you can get some quick help. I know Freenode IRC has both of those channels.

To be honest, I wouldn't recommend you put time into some other Java book. Just try to learn/relearn what last year's course covered. Know it backwards and forwards before the new school year starts.
 

Fox5

Diamond Member
Jan 31, 2005
5,957
7
81
toughtrasher, I thought you said this was your major, yet you say you're a high school student. In that case, it's not too late to switch...

That said, coding is easy, if you have the established knowledge base. It's not just about knowing a "language," you need to understand the concepts behind it and you need to learn general patterns.
It's like learning a real language. If you were from the 1800s, you'd have no concept of a "television", and no ability to talk or write about it. Likewise, nothing in the English language says you have to use paragraphs, but it's a commonly used organizational structure that helps people know how to read your thoughts.

Programming is the same. You need to learn the theory and background concepts in addition to learning a language, and you need to learn the general ways people like code to look and how to read that.

I can honestly say I haven't done much programming (compared to some people) in my life. But I've also done a lot more programming than the typical CS student I encountered. I've done very little programming outside of course work and job work. But I do and have already read a lot about the subject area, theory, apis, design patterns, and concepts so I have a pretty good idea of how things should look and work once I sit down to write code. And when they don't work as I expect them to, well that's what good knowledge of how to use a debugger and familiarity with your development environment tools comes into play.

That said, if you're reading your Java book, there's a good chance you're just practicing rote memorization without understanding the concepts. Unfortunately, it's the way the curriculums are developed, and you just have to struggle it out until you get to the later courses that actually teach you what's' going on.


You may be better served by going through some other course work:
http://ocw.mit.edu/courses/electric...science-and-programming-spring-2011/index.htm

http://www.bfoit.org/itp/itp.html
 

nickf77

Junior Member
Jul 28, 2013
16
0
0
I honestly hated reading programming books - I just thought it was the wrong way to learn... here's my 2 suggestions worth 2 cents.

  1. Don't memorize. It's already been said here plenty of times, but I'll reiterate it for what it's worth. Memorizing Java classes is just a waste of time. Honestly, without an internet connection I struggle to remember what the code is to accept keyboard inputs. It's just easier to look it up online - so many code samples out there that it's better to use that brain space to think about higher-level theories rather than low-level code nuances. Google is your friend.
  2. Write useless programs. I can't even tell you how many programs I wrote that serve absolutely no purpose at all while I was learning. Any stupid idea you think of, turn it into a simple program - it's the best way to learn. Anything. A program that takes a word or sentence as input and outputs it shuffled up, or a program that outputs an ASCII picture of a bunny every time the system clock shows a multiple of 17 seconds... honestly anything that takes under 200 lines of code will do wonders for a learning programmer.

Stick with it - I almost quit when I was learning, but now it's my college major and I'm using the skills I taught myself in internships and jobs. Programming is honestly one of the most valuable marketable skills on the job market today.
 

Jaydip

Diamond Member
Mar 29, 2010
3,691
21
81
I honestly hated reading programming books - I just thought it was the wrong way to learn... here's my 2 suggestions worth 2 cents.

  1. Don't memorize. It's already been said here plenty of times, but I'll reiterate it for what it's worth. Memorizing Java classes is just a waste of time. Honestly, without an internet connection I struggle to remember what the code is to accept keyboard inputs. It's just easier to look it up online - so many code samples out there that it's better to use that brain space to think about higher-level theories rather than low-level code nuances. Google is your friend.
  2. Write useless programs. I can't even tell you how many programs I wrote that serve absolutely no purpose at all while I was learning. Any stupid idea you think of, turn it into a simple program - it's the best way to learn. Anything. A program that takes a word or sentence as input and outputs it shuffled up, or a program that outputs an ASCII picture of a bunny every time the system clock shows a multiple of 17 seconds... honestly anything that takes under 200 lines of code will do wonders for a learning programmer.

Stick with it - I almost quit when I was learning, but now it's my college major and I'm using the skills I taught myself in internships and jobs. Programming is honestly one of the most valuable marketable skills on the job market today.

It seems you were reading wrong books
 

nickf77

Junior Member
Jul 28, 2013
16
0
0
It seems you were reading wrong books

How about an analogy to justify it

programming books IS TO high school language textbooks AS jumping into coding and looking up things as you need them IS TO being thrown in a foreign country to learn the language

Maybe I was reading the wrong books, but I still doubt any book's ability to teach something that's learned so well from experience. If anyone can recommend a good book, maybe I'll give it a try in my free time to see if it can prove me wrong .
 

esun

Platinum Member
Nov 12, 2001
2,214
0
0
Your question is too vague. Are you having trouble understanding the algorithms or data structures that you're writing? Or do you understand the algorithms and data structures, but do you not understand how to translate them into code? If it's the former, then that's hard. If it's the latter, then that's (relatively) easy.

For example, if you could describe verbally how to write a binary search, I would expect you to be able to write it up in about 10 minutes if you are comfortable with any programming language.

But knowing Java (or C/C++/Python/Ruby/name a language) does not mean you will understand what a binary search is or how to write it.
 

Jaydip

Diamond Member
Mar 29, 2010
3,691
21
81
How about an analogy to justify it

programming books IS TO high school language textbooks AS jumping into coding and looking up things as you need them IS TO being thrown in a foreign country to learn the language

Maybe I was reading the wrong books, but I still doubt any book's ability to teach something that's learned so well from experience. If anyone can recommend a good book, maybe I'll give it a try in my free time to see if it can prove me wrong .

Ha ha you sure have a point but I always keep a book handy, sometimes it is much easier to browse through a book.I actually prefer books about algorithm and programming practices than the programming language itself.As I told earlier "The Art of Computer Programming" vol 1 is a great place to start for both beginners and experts.
 

toughtrasher

Senior member
Mar 17, 2013
595
1
0
mysteryblock.com
I'm gonna be harsh. This basically tells me you are not interested in it. Period. Look elsewhere or pull yourself together now.

It's ok if a professional programmer / software developer has a hobby project and no intention to work at a computer once he comes home from work. However in your case you had summer break and did jack shit. If you were interested you would have at least picked one of the exercises you had in class and made a "perfect" implementation of it or even go further and extend it. Or you might have actually started your own project.

IMHO reading books is one thing but much, much more important is to actually program. it's a language and languages can't be learned from books but only by "speaking" them. The only thing you can learn from books are general principles but then without an actual example they tend to be very, very abstract (this is were the exercises should help).

Besides this math and programming somehow require the same "skill" or "talent". While most of programming uses very basic math, it still seems to require the same brain areas (eg. "skill"). And last the same is true for music! And no this doesn't mean you need to be a good singer or good at playing instruments (that also has a "mechanical" aspect). If you suck in math (and did not care about the problems) and suck in music it's safe to say you chose the wrong major.

You should be harsh. I did nothing related to coding this summer. But I do have some reasons (call them excuses if you want). 1) The school year has burnt me out. My school is the top school in our state and everybody expects me to be everything. It's frustrating. 2) My birthday was this summer. Meaning I went on a family vacation with guess who, my family. The important people in my life. Good times and stressless days with them is what I need to cool off. I did that but now I'm frustrated again because I failed so hard last year. 3) I've been working on making money online. I probably don't need it right now but it's been something I've been doing since 2 years ago. And I always believe in not stopping something once you've started. I guess this can also be applied to coding. The thing is I'm so overwhelmed with everything in the world. There's too much to do, too much to be expected of, too little time, too much stress, and all this plus the CS course that I'll be taking will be rapidly flowing leaving me behind.

Some of you guys are pretty harsh on a High School student. lol. It's not like he has all day at a job to get experience at Java programming.

toughtrasher, you should take the few weeks you have to go back over the material covered by that first course. Spend all day every day on it if you can. The more you immerse yourself into your programming the faster you will learn, just like with a foreign language. Ask specific questions as you run into problems. Go into a Java or general programming channel on Internet Relay Chat so you can get some quick help. I know Freenode IRC has both of those channels.

To be honest, I wouldn't recommend you put time into some other Java book. Just try to learn/relearn what last year's course covered. Know it backwards and forwards before the new school year starts.

This book will take me hours upon hours every single day for the rest of the month learning code. I'm blowing up

Your question is too vague. Are you having trouble understanding the algorithms or data structures that you're writing? Or do you understand the algorithms and data structures, but do you not understand how to translate them into code? If it's the former, then that's hard. If it's the latter, then that's (relatively) easy.

For example, if you could describe verbally how to write a binary search, I would expect you to be able to write it up in about 10 minutes if you are comfortable with any programming language.

But knowing Java (or C/C++/Python/Ruby/name a language) does not mean you will understand what a binary search is or how to write it.

My problem is the overwhelming of programming. It seems like there's just way too much information and I always feel like I don't have the ability to absorb it all. I feel like each and every one of my classmates are way advanced and they've been taught by a private teacher or something.

I know I'm getting flamed by everyone here but it's alright. I can take that because frankly, I deserve it. However, I'd still much rather get help on how to take this bull by the horns and not be left behind. Thanks again to everyone that's contributed.
 

BrightCandle

Diamond Member
Mar 15, 2007
4,762
0
76
Your fellow students got to the level they did by studying the exact same materials. There is no magic answer that they are just better at CS than you, its that they have put the hours in to learn the concepts, quite likely before they even got to the course. There is no silver bullet, learning is time spent doing worthwhile things. Reading books, watching instructional videos, coding every more complex things, reading the documentation and designing that all just takes time and effort to learn. I have probably spent about 50,000 hours programming and reading about programming computer hardware and software, I didn't magically wake up one day and could code in Haskell, I spent months of my free time investing in it, solving ever bigger problems until it all sunk in.
 

esun

Platinum Member
Nov 12, 2001
2,214
0
0
My problem is the overwhelming of programming. It seems like there's just way too much information and I always feel like I don't have the ability to absorb it all. I feel like each and every one of my classmates are way advanced and they've been taught by a private teacher or something.

Again this is so vague. If you're completely lost then you need to start from square one. Do you know what a variable is? Do you understand data types? Flow control? Functions? You really need to be conversant in the syntax of a language before you can go anywhere (e.g., understanding a binary search conceptually is not particularly useful without having a way to implement it).

These things are like understanding basic English grammar. You need to develop a basic vocabulary and an understanding of grammatic rules in English before an understanding of essay structure or poetic rhythm is useful.

Luckily understanding basic syntax is not hard. The best way to learn English is to read/write a lot it. Similarly, the best way to learn Java syntax is to read/write a lot of it. Go through your textbook and do _every_ example (as in, read it, type it in and run it to see that it does work) and _every_ problem (not just look at it and say "yeah I know how to do that", but actually open up your development environment, write the code out, run it and make sure it works).

It will take time and effort, but if you want to get better that's the way. There are no shortcuts.
 
sale-70-410-exam    | Exam-200-125-pdf    | we-sale-70-410-exam    | hot-sale-70-410-exam    | Latest-exam-700-603-Dumps    | Dumps-98-363-exams-date    | Certs-200-125-date    | Dumps-300-075-exams-date    | hot-sale-book-C8010-726-book    | Hot-Sale-200-310-Exam    | Exam-Description-200-310-dumps?    | hot-sale-book-200-125-book    | Latest-Updated-300-209-Exam    | Dumps-210-260-exams-date    | Download-200-125-Exam-PDF    | Exam-Description-300-101-dumps    | Certs-300-101-date    | Hot-Sale-300-075-Exam    | Latest-exam-200-125-Dumps    | Exam-Description-200-125-dumps    | Latest-Updated-300-075-Exam    | hot-sale-book-210-260-book    | Dumps-200-901-exams-date    | Certs-200-901-date    | Latest-exam-1Z0-062-Dumps    | Hot-Sale-1Z0-062-Exam    | Certs-CSSLP-date    | 100%-Pass-70-383-Exams    | Latest-JN0-360-real-exam-questions    | 100%-Pass-4A0-100-Real-Exam-Questions    | Dumps-300-135-exams-date    | Passed-200-105-Tech-Exams    | Latest-Updated-200-310-Exam    | Download-300-070-Exam-PDF    | Hot-Sale-JN0-360-Exam    | 100%-Pass-JN0-360-Exams    | 100%-Pass-JN0-360-Real-Exam-Questions    | Dumps-JN0-360-exams-date    | Exam-Description-1Z0-876-dumps    | Latest-exam-1Z0-876-Dumps    | Dumps-HPE0-Y53-exams-date    | 2017-Latest-HPE0-Y53-Exam    | 100%-Pass-HPE0-Y53-Real-Exam-Questions    | Pass-4A0-100-Exam    | Latest-4A0-100-Questions    | Dumps-98-365-exams-date    | 2017-Latest-98-365-Exam    | 100%-Pass-VCS-254-Exams    | 2017-Latest-VCS-273-Exam    | Dumps-200-355-exams-date    | 2017-Latest-300-320-Exam    | Pass-300-101-Exam    | 100%-Pass-300-115-Exams    |
http://www.portvapes.co.uk/    | http://www.portvapes.co.uk/    |