Tips on gaining proficiency in C

P

pete

AB said:
To answer your question, yes, I do know what C is,
what its syntax is, how pointers work - all on the high level.
However, not having applied it too much to test my knowledge,
and now, being out of touch for 4 years, it is
mandatory that I re-learn it with practical experience.
(Which is why I asked for pointers to projects).

Sometimes I do other peoples' homework on c.l.c,
if the homework is interesting and not too hard.
This runs counter to the pedagogical philosophy of most
of the regulars of the c.l.c newsgroup, but I'm OK with it.
Unless this is done, I will not be able to
confidently present my case for a job switch :)

switch (job) {
case 1:
 
G

Gregory Pietsch

pete said:
Sometimes I do other peoples' homework on c.l.c,
if the homework is interesting and not too hard.
This runs counter to the pedagogical philosophy of most
of the regulars of the c.l.c newsgroup, but I'm OK with it.

I do that as well. Then, I obfuscate it with a lot of #defines and
ternary operators so that if the teacher sees it, the teacher will
know that the OP didn't write it. Recursion also helps. ;-)

int x(int r, int c){return !r||r==c?1:x(r-1,c)+x(r-1,c-1);}

Gregory Pietsch
 
W

Willem

Gregory wrote:
) I do that as well. Then, I obfuscate it with a lot of #defines and
) ternary operators so that if the teacher sees it, the teacher will
) know that the OP didn't write it. Recursion also helps. ;-)
)
) int x(int r, int c){return !r||r==c?1:x(r-1,c)+x(r-1,c-1);}

Tisk, tisk. That's a B- grade solution at best.
(Depending on what level the course is, especially on if they're
looking for efficiency or just for a working solution.)

NB: I know squat about 'murikan grading systems, so take that B-
with a few grainlets of salt.


SaSW, Willem
--
Disclaimer: I am in no way responsible for any of the statements
made in the above text. For all I know I might be
drugged or something..
No I'm not paranoid. You all think I'm paranoid, don't you !
#EOT
 
P

pete

Gregory said:
I do that as well. Then, I obfuscate it with a lot of #defines and
ternary operators so that if the teacher sees it, the teacher will
know that the OP didn't write it. Recursion also helps. ;-)

I don't obfuscate. I learn from code examples.
If somebody else can learn from my code example, that's good.

If somebody turns in a correct code example for homework
without understanding it, then their homework grade will be
higher than if they didn't turn in a correct solution, but,
class grades usually include other components besides homework,
which tend to be more heavily weighted, such as exams.
Copying homework will cause exam scores to go down and that's good too.
 
W

Willem

pete wrote:
) If somebody turns in a correct code example for homework
) without understanding it, then their homework grade will be
) higher than if they didn't turn in a correct solution, but,
) class grades usually include other components besides homework,
) which tend to be more heavily weighted, such as exams.
) Copying homework will cause exam scores to go down and that's good too.

You seem to have a very high esteem of current-day education institutes.


P.S. According to someone-we-all-know, this is probably the main reason for
80% failures in enterprise systems. I think I figured out this code,
though; E. probably worked for Gene Roddenberry a few decades back. :)


SaSW, Willem
--
Disclaimer: I am in no way responsible for any of the statements
made in the above text. For all I know I might be
drugged or something..
No I'm not paranoid. You all think I'm paranoid, don't you !
#EOT
 
B

B. v Ingen Schenau

pete said:
Sometimes I do other peoples' homework on c.l.c,
if the homework is interesting and not too hard.
This runs counter to the pedagogical philosophy of most
of the regulars of the c.l.c newsgroup, but I'm OK with it.

There is nothing wrong with trying to solve homework problem that are posted
on c.l.c or a.c.l.l.c-c++.
What most regulars in those groups do have a problem with is answering a
homework question with a complete solution, if the OP clearly has not put
any effort into solving the assignment themselves.
And if you tried such a homework question, and you have some questions about
your code, or you want to know if something could have been done better,
then you can always start a new thread.

Bart v Ingen Schenau
 
T

Tom Gerhard

Systems programming is not something you start with.


K&R. Don't read it now and then; begin at the beginning, and continue
until you get to the end. Then, and only then, stop.


Practice. Practice, practice, practice.


For a complete beginner? Write Wumpus. Write a text adventure. Write a
Turing machine. Don't start on industrial-scale projects until you know
the language quite well.

Richard


I agree with Richard. Grab any book you can (all the previously
listed ones are great), copy the examples, play with them, break them
and fix them, do some of the exercises. Take a program from a code
bank and run it -- a lot of times there will be bugs. Debugging is
educational and fun in and of itself. Write something that _you_
think is useful and gives you enjoyment.

As for sourceforge, even projects where the required skill level is
novice often are a lot more complex than a beginner needs to get
involved with.

Write code, write code, write code. The more you do this, the more
you will learn, the more proficient you will become.

Tom
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,579
Members
45,053
Latest member
BrodieSola

Latest Threads

Top