<p>I'm taking C next quarter as part of my tech support major. Is it supposed to be hard?</p>
<p>Do you have any prior programming experience?</p>
<p>Not really</p>
<p>The hardest part could pointer manipulation. That seems to be the most confusing for most people. Once you think you understand it, you might start wondering if you don’t understand it. It would be a good idea to practice C (especially and definitely the pointer manipulation) before you start the class. Doing this would make it much easier for you. But since you have no programming experience, this could be a bit difficult. Work hard, and you can pull through.</p>
<p>As far as pointers go the videos here [Binky</a> Pointer Fun Video](<a href=“http://cslibrary.stanford.edu/104/]Binky”>Binky Pointer Fun Video) are great for helping you figure it out. Other than that C is a joke IMHO. If you want to get a leg up may I recomend you learn Python first as it is much more forgiving and much easier to learn. On top of that going from Python to C is much smoother than just learning C outright.</p>
<p>Java is also another good language to learn as a beginner.</p>
<p>He is going to take C next quarter… maybe you could talk to people who have taken the class? They can give you a heads up on what to expect, so you can know what to practice more on in order to pass or succeed.</p>
<p>I had no prior programming experience when I took Intro to C (had to take it as part of my Statistics major). It was a very difficult class. Of course, my professor made it very difficult. The tests were a pain in the butt. 25 multiple choice questions where you had to determine where the code was written wrong, or what the output of a particular loop would be. And these weren’t easy. Crazy nested loops with mathematical functions.</p>
<p>In addition to the 25 multiple choice questions you had to write 3 or 4 “short” programs for each test. Yikes.</p>
<p>The projects/programs you had to write started off fairly easy, then got super hard as the semester went along. By the 2nd month you had to design a fully operational game of “Mastermind”. Complete pain in the butt if you had no prior programming experience.</p>
<p>The grade distribution was all over the place in that class. The people with prior programming knowledge did fairly well. Many folks that had to take the class or were just starting out in Computer Science didn’t fair as well. I worked my butt off just to get a B.</p>
<p>Made me appreciate what CS majors go through. Also made me realize I had no desire to pursue a job where I write code all day.</p>
<p>The class did help me tremendously in other programming classes I’ve taken since, though.</p>
<p>I’m thinking of taking visual basic in the summer instead. I want to take the easy road rather than the hard road, and according to you guys C seems challenging.</p>
<p>Honestly C is not that difficult. It is not the best language to learn on but it can be done. The tests and projects OminousRun describes are pretty much the standard for programing courses. That said just work hard and you can do it.</p>
<p>Or…</p>
<p>or you could get someone who has good experience with it to explain it out for you… that would make it much, much less frustrating. That way you don’t have to go through any confusions and stuff like that…</p>
<p>but, of course, that leaves out the learning experience you can get from doing it yourself…</p>
<p>I say, work your A off at practicing it before the quarter starts…maybe with guidance from someone who knows better… that way you can figure out if it is what you feel like doing…</p>
<p>In my class, Intro to C was a weeder course. At least 25% failed and are retaking it this quarter. I had no prior programming knowledge and managed to get an A. I think the key is practice, practice and more practice. Do the assignments given to you and also try to follow along with the book and do the practice problems that follow the material. Although my class didn’t necessarily follow the book, it did give me a deeper understanding and helped develop my problem recognition.</p>