techniques you need to know to begin writing C programs. /*. ** This program reads input continue ȱ. Download at phunctibalmyimie.tk Author: Kenneth Reek. 84 downloads Views 14MB Size Report. DOWNLOAD DJVU Pointers in C: A Hands on Approach. Read more. Pointers on C by Kenneth A. Reek, , Addison-Wesley Longman edition, in English.
|Language:||English, Spanish, Portuguese|
|Distribution:||Free* [*Sign up for free]|
Pearson, p. Designed for professionals and advanced students, Pointers on C provides a comprehensive resource for those needing. Pointers on C—Instructor´s Guide. Programming Exercises. 2. This solution exploits the fact that two is the only even number that is prime. Other than that. This is the Pointers on C's 1st edition (in fact, also its final edition) published in It is another very classic work with waves of worldwide.
To see an example of Computational Monochromatic Art try unplugging your monitor. Two: Good candidates are careful to explain things well, at whatever level. Three: If the project was a team project, look for signs that they took a leadership role. It was an impossible situation.
In fact, you can even ask them directly to give you an example from their recent past when they took a leadership role and got something done—overcoming some institutional inertia, for example. Most of the time in the interview, though, should be spent letting the candidate prove that they can write code.
Some examples: Write a function that determines if a string starts with an upper-case letter A-Z Write a function that determines the area of a circle given the radius Add up all the values in an array These softball questions seem too easy, so when I first started asking them, I had to admit that I really expected everyone to sail right through them.
What I discovered was that everybody solved the problem, but there was a lot of variation in how long it took them to solve. Jared is a bond trader. He is always telling me about interesting deals that he did. And the same thing happens in programming. The speed with which they solved a simple algebra problem was as good a predictor of the final grade in Calculus as a whole semester of homework, tests, midterms, and a final. But like I said, the good programmers stand up, write the answer on the board, sometimes adding a clever fillip Ooh!
Unicode compliant! In programming, that means specifically that they have no problem with recursion which involves holding in your head multiple levels of the call stack at the same time or complex pointer-based algorithms where the address of an object is sort of like an abstract representation of the object itself. In first year computer science classes, there are always about kids at the beginning of the semester, all of whom wrote complex adventure games in BASIC for their PCs when they were 4 years old.
For some reason most people seem to be born without the part of the brain that understands pointers.
I want my ER doctor to understand anatomy, even if all she has to do is put the computerized defibrillator nodes on my chest and push the big red button, and I want programmers to know programming down to the CPU level, even if Ruby on Rails does read your mind and build a complete Web 2.
Even though the format of the interview is, superficially, just a candidate writing some code on the whiteboard, my real goal here is to have a conversation about it. Inevitably, you will see a bug in their function. With string functions in C, most college kids forget to null-terminate the new string.
With almost any function, they are likely to have off-by-one errors. They will forget semicolons sometimes. In this case, this question is even more fun. As the last step in an interview, ask the candidate if they have any questions. I always leave about five minutes at the end of the interview to sell the candidate on the company and the job. This is actually important even if you are not going to hire them. Even if they are a bad candidate, you want them to like your company and go away with a positive impression.
Ah, I just remembered that I should give you some more examples of really bad questions.
First of all, avoid the illegal questions. Anything related to race, religion, gender, national origin, age, military service eligibility, veteran status, sexual orientation, or physical handicap is illegal here in the United States. The best example of this I can think of is asking someone if they have kids or if they are married.
Basically, stick to questions which are completely relevant to the job for which they are interviewing. Finally, avoid brain teaser questions like the one where you have to arrange 6 equal length sticks to make exactly 4 identical perfect triangles.
Or anything involving pirates, marbles, and secret codes. With these questions knowing the answer just means you heard that brain teaser before. And a piano needs to be tuned every couple of years? And it takes 35 minutes to tune one? The only reason to ask a question like this is that it lets you have a conversation with the candidate.
If the piano tuner could take reservations well in advance they could probably set up their schedule to minimize travel time.
You know, do all the pianos in Redmond on Monday rather than going back and forth across three times a day. The optimal time to make a decision about the candidate is about three minutes after the end of the interview. Far too many companies allow interviewers to wait days or weeks before turning in their feedback.
Reading through the author's description there was no mention of ending the program. So I didn't have to CTRL C the terminal every time, I added a "scanf " function to check for a zero then to break out of the loop if detected.
Now the program works well. I actually learned a bit by having to fix the two issues described above. Sometimes learning is not all direct from the book but a byproduct of understanding and getting the book example to work. I like this! These students would never survive 6. I used to be able to tell the smart kids because they could rip through a recursive algorithm in seconds, or implement linked-list manipulation functions using pointers as fast as they could write on the whiteboard.
Paul Graham calls them Blub Programmers. Industry, or, at least, the recruiters-who-use-grep, are surely clamoring for Java to be taught. You need training to think of things at multiple levels of abstraction simultaneously, and that kind of thinking is exactly what you need to design great software architecture.
You may be wondering if teaching object oriented programming OOP is a good weed-out substitute for pointers and recursion.
The quick answer: no. Without debating OOP on the merits, it is just not hard enough to weed out mediocre programmers. Not much harder than memorizing famous dates and names in a history class, OOP poses inadequate mental challenges to scare away first-year students.
The recruiters-who-use-grep, by the way, are ridiculed here, and for good reason. But what about the CS mission of CS departments? Oh wait. Never mind. Maybe I do understand. Why not spoon feed everything to the students? How is anyone supposed to learn anything if the curriculum has been carefully designed to make everything easier than it already is?
You had ones? Lucky bastard!
All we got were zeros. Are you a Junior in college who can rip through a recursive algorithm in seconds, or implement linked-list manipulation functions using pointers as fast as you can write on the whiteboard?