I took a sixteen week c++ programming class and the professor is super slack. And he has allowed us to turn in all of our homework/assignments on the last day of the semester, which is today. Now I have the homework knocked out only because I read up to chapter five out of the eight we had to do for this class. Now I honestly barely know how to program in C++, but I understand the content. Now today is the last day of the semester and we have a final today that basically is just to do a program that will convert an input into a different outcome due to the formula conversion written in the code. I honestly I'm not ready to do this final exam. The class has been super slack, so I'm not sure to eveN show up and try this. The final is worth 25 percent of the total grade of the course. Should I even brother? I feel like I can write out some code, but will get stuck. Should I bite the bullet and take the 25 percent grade deduction and get a very low C for the course??
If You Are Going To "Crash & Burn" Do It In The Examination Room, Don't Just Not Turn Up...... Cheers Glen.
Your teacher is so "slack" because this is the sort of thing you teach yourself. More so then many other subjects it's just him explaining the idea and you making it work. He is ok with this format because ultimately it is you who must pay for and pass certification tests that have nothing to do with your class. You never stop getting stuck on code. People who have been doing for years still make mistakes. But to be honest if you are having trouble maybe it's not for you. It's not easy and only a certain type of person can do it. The people I know of were the types to build their own computers at 10 they were very tech savvy.
You will not be spoon fed this information, most of the studying will be in your own time, with direction provided by the course material and lectures. The best advice I can give you is to always RTFM (read the fuckin manual). No one expects you to be able to pick up a new environment in 5 minutes and code strictly from memory. Coding is time consuming, and most of the time you spend on a project is spent thinking and speculating about a problem and a suitable implementation, reading documentation and writing pseudocode, and/or flow charts and memory maps for the trickier bits that involve multiple levels of pointers. It's also worth mentioning that the majority of this total amount of time spent will be spent on a relatively small part of the total problem. There will be difficult bits that only comprise a few lines maybe that you spend most of your time on, after knocking that out things will go smoothly and you may be able to write a whole screens worth of code without much effort until you get to the next tough part or run into another 'gotcha'. You don't "have" to understand everything, there's a certain level of detail in which you should understand in order to be able to write the program. Think about what the exact requirements are, and then come up with a design that meets those requirements and start writing the code that implements that design. Take baby steps, write a small amount of code that implements some small part of it, just enough that there's something there that works. Then once that part works well enough, start implementing the other features one peice at a time. If something you are doing feels like it's way too hard, or way too complicated ... it might just be and there may be a much better way to do something. Above anything else, make sure that your code meets the requirements as specified by the specification. After that, make sure your code is correct to the best of your ability, correctness is important. After that, go for elegance and simplicity, be creative. Style is important too, develop a certain style and be consistent. Make sure your code is readable and understandable, and that you will be able to easily understand it later after a week, a month, or a year. Make sure it's clear what your code does, and the reason for doing it. Any bits that aren't clear, or you feel like won't be clear later be sure to comment well. It's always easier after you already have some familiar code to work with that you've written. The beginning of a project is hard, or even the beginning of implementing certain features. The key is to stay as calm as possible and really think about it and try not to freak out, if you get stuck then google it. Don't plagiarize code, or use someone elses code verbatim because you don't learn anything that way, and if you do use a small snippet of code, you better damn well understand how it works. The idea is more important than the code itself. Once you have the idea, the code is relatively easy to write. New code, especially someone else's code that you have never seen before can be dauting at first. After studying it, and actually working with that code, and adding your own code it will become much clearer. The learning curve is fairly steep when it comes to computer programming, and it really takes a type of person that is very consientious and careful. If you keep doing it though, just keep writing code you'll be surprised how quickly that what seemed difficult before will seem trivial. I agree with the previous poster tho, it is only for probably a small subset of the population. Those that REALLY love working with computers and solving problems that would frustrate the hell out of regular folk. I also feel like it's almost expected that you have some sort of prior experience, I feel like I would really struggle to the point of failure if I can into such a thing completely clueless. If that was the case i'm not sure i'd be able to hack it in in computer science (pun intended). It takes someone who is TRULY interested in computer science, and absolutely loves it. A programmer doesn't see it as work, he sees it as fun, almost a recreational activity, and usually do code in their free time recreationally working on their own small projects and little programs. This person generally has been fascinated with computers and electronics since the age they first knew what one was. Ask yourself some questions. Do you enjoy doing it, is it absolutely fascinating to you? Do you think about it all the time? If so, you can probably "hack it' .. just keep doing what you're doing and don't worry about how much you feel like you don't know cuz you will probably feel like that for a long time. You will hit points where you feel like you've made a lot of progress and think you know a lot, then you'll learn a few more things and realize how much you really didn't know before, and how much you really don't know now and this will repeat many times. Just don't give up. It can feel daunting when you are completely new to programming, because it feels like you will never be able to actually write a useful program. But once you write your first non-trivial program (several hundred lines of code or more) that actually does something useful or interesting to you, especially if it's NOT for school it is an AMAZING feeling, it's an incredible rush almost like a drug and will give you the motivation to learn more because now you have seen progress. You will aspire to become the best hacker in the world (which is definitely grandiose and unrealistic) but this will motivate you to study, and write more code. You will be proud of code that you have written, especially certain pieces you have poured your own creativity into. I do believe that this is how a person knows if they were meant to be a hacker (that is, a computer programmer) ... if you don't feel this way then it's probably not for you. Also, sometimes the way a book, or some other material is presented just doesn't make sense to you at first, try finding other sources that explain the same thing, or ask questions about it. Sometimes the way it was explained just didn't make sense and once you see it explained a certain way it will click. It takes lots of practice.