473,545 Members | 2,032 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Disappointed by "Accelerate d C++"

I did an the Open University course MT262. I got 3/4 the way through
it and only really came unstuck at classes.

Following the advice of many, on this list and elsewhere, and
impressed by their statement that students were writing substantial
programs within a day, I bought "Accelerate d C++" by Koenig and Moo.

I find I just can't get on with it. I have started at the beginning,
and I just can't follow it. The first few chapters do stuff that I
easily did with the Open University, and I just can't follow it.

Why is this?
Maybe it is because they teach their classes using the spoken word,
and their writing style is the problem. Nobody could be writing
substantial programs within a day from this book. Writing and speaking
are different skills. I've seen such things before. I once had a boss
whose writing was AWFUL, just AWFUL, truly the laughing-stock of the
firm.

Or maybe they are TOO well qualified. The senior maths teachers at my
school were genuine mathematicians, who had turned to teaching. They
simply couldn't understand what we boys found difficult. The best
maths teacher as my school was the woodwork master;, he saw what we
boys found hard, he found it hard himself. So he explained it well.

Koenig and Moo are certainly well qualified, I wonder if that has
stopped people from judging what they have actually written?

For myself, it is going to be "C++ for Dummies" by Stephen Randy
Davis. There is no point in beating my head against a brick wall.

Michael Bell

--
Nov 18 '07 #1
16 2613
LR
Michael Bell wrote:
Following the advice of many, on this list and elsewhere, and
impressed by their statement that students were writing substantial
programs within a day, I bought "Accelerate d C++" by Koenig and Moo.

I find I just can't get on with it. I have started at the beginning,
and I just can't follow it. The first few chapters do stuff that I
easily did with the Open University, and I just can't follow it.

Why is this?
Perhaps you'd be willing to share a particular problem that you had
understanding something in the book?

TIA

LR
Nov 18 '07 #2
On 2007-11-18 19:26, Michael Bell wrote:
I did an the Open University course MT262. I got 3/4 the way through
it and only really came unstuck at classes.

Following the advice of many, on this list and elsewhere, and
impressed by their statement that students were writing substantial
programs within a day, I bought "Accelerate d C++" by Koenig and Moo.

I find I just can't get on with it. I have started at the beginning,
and I just can't follow it. The first few chapters do stuff that I
easily did with the Open University, and I just can't follow it.

Why is this?
I do not know, I have not read the book but I have looked in it and it
looked quite OK to me. If you have any specific grievances perhaps
someone here can help you.
Maybe it is because they teach their classes using the spoken word,
and their writing style is the problem. Nobody could be writing
substantial programs within a day from this book.
None that I know of would be able to write substantial programs in
(good) C++ after reading just reading a book. C++ is a very complex
language and after reading a book or two you will have a foundation to
stand on, but it to be a truly good C++ programmer you need a few years
of experience in addition to reading books and articles.

--
Erik Wikström
Nov 18 '07 #3
On Nov 18, 1:26 pm, Michael Bell <mich...@beaver bell.co.ukwrote :
I did an the Open University course MT262. I got 3/4 the way through
it and only really came unstuck at classes.

Following the advice of many, on this list and elsewhere, and
impressed by their statement that students were writing substantial
programs within a day, I bought "Accelerate d C++" by Koenig and Moo.

I find I just can't get on with it. I have started at the beginning,
and I just can't follow it. The first few chapters do stuff that I
easily did with the Open University, and I just can't follow it.

Why is this?
It would be beneficial if you offered more specifics about the
chapters you alluded to. Could you elaborate on what you 'just can't
follow'. The loop invariant property or ...?
Be advised that the text places emphasis on solving problems rather
than exploring language linguistics.
Nov 18 '07 #4
"Michael Bell" <mi*****@beaver bell.co.ukwrote in message
news:b3******** ************@mi chael.beaverbel l.co.uk...
>I did an the Open University course MT262. I got 3/4 the way through
it and only really came unstuck at classes.

Following the advice of many, on this list and elsewhere, and
impressed by their statement that students were writing substantial
programs within a day, I bought "Accelerate d C++" by Koenig and Moo.

I find I just can't get on with it. I have started at the beginning,
and I just can't follow it. The first few chapters do stuff that I
easily did with the Open University, and I just can't follow it.

Why is this?
Different people learn in differnt ways.When I first started C++ I also
picked up a book and read through it, not understanding 3/4 of what I was
reading. But I worked with what I did understand, and kept reading the book
and eventually I understood everything the book was telling me (whether I
remembered it or not the next day).

I had not come from an OOP background, however, and so classes and objects
were totally new to me. Perhaps that's where you are? Have you done any
programming before with classesses and instances? If not, it will just take
a bit longer for you to understand their concepts, as it took for me.

Don't give up though.
Nov 19 '07 #5
In message <_I************ ***@newsb.telia .net>
Erik Wikström <Er***********@ telia.comwrote:
On 2007-11-18 19:26, Michael Bell wrote:
>I did an the Open University course MT262. I got 3/4 the way through
it and only really came unstuck at classes.

Following the advice of many, on this list and elsewhere, and
impressed by their statement that students were writing substantial
programs within a day, I bought "Accelerate d C++" by Koenig and Moo.

I find I just can't get on with it. I have started at the beginning,
and I just can't follow it. The first few chapters do stuff that I
easily did with the Open University, and I just can't follow it.

Why is this?
I do not know, I have not read the book but I have looked in it and it
looked quite OK to me. If you have any specific grievances perhaps
someone here can help you.
>Maybe it is because they teach their classes using the spoken word,
and their writing style is the problem. Nobody could be writing
substantial programs within a day from this book.
None that I know of would be able to write substantial programs in
(good) C++ after reading just reading a book. C++ is a very complex
language and after reading a book or two you will have a foundation to
stand on, but it to be a truly good C++ programmer you need a few years
of experience in addition to reading books and articles.
It says on the cover "The authors proved this approach in their
professional-education course in Stanford University, where students
learned how to write substantial programs on the first day in the
classroom".

If you think this is absurd exaggeration, then write to the
publishers, in America unfortunately, from you in Sweden and me in
Britain.

As I point out, they achieve this in a CLASSROOM, and this is very
different environment to a book.

They say "profession al-education". Were these students completely
fresh or did they already know something?

Anyway, it seems to be an obviously false claim, and therefore to be
condemned.

Michael Bell

--
Nov 19 '07 #6
In message <47************ ***********@new s.uslec.net>
LR <lr***@superlin k.netwrote:
Michael Bell wrote:
>Following the advice of many, on this list and elsewhere, and
impressed by their statement that students were writing substantial
programs within a day, I bought "Accelerate d C++" by Koenig and Moo.

I find I just can't get on with it. I have started at the beginning,
and I just can't follow it. The first few chapters do stuff that I
easily did with the Open University, and I just can't follow it.

Why is this?
Perhaps you'd be willing to share a particular problem that you had
understanding something in the book?
TIA
LR
There is no PARTICULAR PROBLEM to be sorted out. I came to a stop at
Chapter 2 of Koenig and Moo. This chapter is called "Looping and
counting" and it deals with if, do-while, for and suchlike. This is
something that I learned without too much difficulty from the Open
University ("OU") course MT262, but I was going over it again to make
sure I understood it and their way of doing things. And even though I
understood what I was trying to learn, I couldn't follow their
teaching.

Only when I look back on it do I realise that there was something in
common with the point where I lost the track of the OU course. In both
cases the teaching went through a pile of stuff saying "you'll see how
it all fits together at the end" and I just couldn't handle it. Maybe
that is a teaching format that suits some, but it loses me.

Michael Bell
--
Nov 19 '07 #7
"Michael Bell" <mi*****@beaver bell.co.ukwrote in message
news:60******** ************@mi chael.beaverbel l.co.uk...
There is no PARTICULAR PROBLEM to be sorted out. I came to a stop at
Chapter 2 of Koenig and Moo. This chapter is called "Looping and
counting" and it deals with if, do-while, for and suchlike. This is
something that I learned without too much difficulty from the Open
University ("OU") course MT262, but I was going over it again to make
sure I understood it and their way of doing things. And even though I
understood what I was trying to learn, I couldn't follow their
teaching.
Did you try running the programs that we give as examples in the book? If
not, I'd like to suggest that you do so.

If you did try running the programs and got stuck anyway, would you mind
posting the first program that you couldn't understand, and explaining what
your problems were with it?
Nov 19 '07 #8
<pa**********@a tt.netwrote in message
news:8e******** *************** ***********@s36 g2000prg.google groups.com...
Perhaps the disagreement between the OP and the author is largely
based on the vague word -- "substantia l". If a "substantia l" program
is an elegantly designed user-friendly program to present all
solutions when a user inputs a quartic equation, then I'm sure Andrew
Koenig would agree that under _that_ definition of "substantia l", his
book would not magically enable someone to write a "substantia l"
program on their first day. However, if "substantia l" means to solve
a problem that would be practically unsolvable using an average hand
calculator, then I'm sure the OP would agree that's not an
unreasonable claim.
How about a program to produce a concordance of a text file? In other
words: Read a file and produce a table of every distinct word in the file,
along with how many times it appears. That's a program that would be far
too hard to write after one day in a C course, or even a C++ course that
wasn't based on the library; but it becomes well within an average student's
grasp after one classroom day using Accelerated C++'s approach.
Nov 20 '07 #9
"Kai-Uwe Bux" <jk********@gmx .netwrote in message
news:fh******** **@murdoch.acc. Virginia.EDU...
The claim that is hard to believe is that the students learned "how to
write
substantial programs on the first day in the classroom". That claim also
is
very hard to evaluate unless the students actually did write substantial
programs (e.g., as an exercise) before the second day of class (which in a
one-week course would presumably be the next day). As "substantia l" is a
little vague, I would be very interested to learn what program(s) you had
the students write before the second day of class that you consider
substantial. That would help to put the publishers blurb in perspective.
Here is the first day's homework assignment for the Stanford course. Note
that we did not expect every student to answer every question, but we were
always pleased with how far they got.

-----------------------------------------------------------------------------------------------

1. Write a program to count the number of words in an input file.

2. Extend that program to count the number of occurrences of each word.

3. Ensure that the output to problem #2 is sorted by the number of
occurrences. That is, print all words that occur once, followed by those
that occur twice etc.

4. Write a program to read a collection of numbers from the standard input
and the compute and print their median.

5. Given a file of student names and exam scores (formatted as described
below), compute the student's final grade. The input will be records such
as:

Smith 87 92 93 60 0 98 75 90
Carpenter 47 90 92 73 100 87 93 91
...

(Name, grades on six homework assignments, midterm, final)

The program should calculate the final grade as a weighted sum: The median
homework grade counts 40%, the final 40% and the midterm 20%.

So, for the input above, the output would be

Smith 86.8
Carpenter 90.4
...

NOTE: the decimal points should all line up.

6. Extend the previous assignment to print a histogram of grades by ranges:

A 90- 100
B 80- 89.99...
C 70- 79.99...
F <70

The output should list how many students fall into each category.

7. Design and implement a program to produce a permuted index. A permuted
index is one in which each phrase is indexed by every word in the phrase:
So, given the following input

The quick brown fox
jumped over the fence

the output would be

The quick brown fox
jumped over the fence
The quick brown fox
jumped over the fence
jumped over the fence
The quick brown fox
jumped over the fence
The quick brown fox

(Note to Usenet readers: You need to use a constant-width font to read the
table above properly.)

A good algorithm is suggested in The AWK Programming Language by Aho,
Kernighan and Weinberger. That solution divides the problem into three
steps:

1. Read each line of the input and generate a set of rotations of that line.
Each rotation puts the next word of the input in the first position and
rotates the previous first word to the end of the phrase. So the output of
this phase for the first line of our input above would be:

The quick brown fox
quick brown fox The
brown fox The quick
fox The quick brown

Of course, it will be important to know where the original phrase ends and
where the rotated beginning begins.

2. Sort the rotations.

3. Unrotate and print the permuted index, which involves finding the
separator, putting the phrase back together and printing it properly
formatted.
Nov 20 '07 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
1317
by: Joe Laughlin | last post by:
On 6.2.3/115 of "Accelerated C++", there's this function: double average(const vector<double>& v) { return accumulate(v.begin(), v.end(), 0.0) / v.size(); } The author notes that it's important to use 0.0 in the function, as accumulate uses the third argument's type as its return type.
39
2365
by: TonyJeffs | last post by:
Great book - I like the way that unlike other books, AC++ explains as much as possible about every piece of code discussed, so I'm not left thinking, "well...OK... I get line 12, but I wonder what the rest of it means...". Still, I have some questions, that are frustrating me:- Grateful for any comments. 1. What is the difference...
1
1311
by: blangela | last post by:
I am currently teaching 2 part-time (one evening per week) C++ courses using the Deitel & Deitel "C++ How To Program" text. Each course is 13 weeks in length, including time for labs and exams. In earlier posts to this usenet site, people have recommended that I switch texts to "Accelerated C++" by Koenig and Moo. I have just recently...
0
7475
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main...
0
7921
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that...
0
5982
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then...
1
5343
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes...
0
4958
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert...
0
3465
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in...
0
3446
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
1023
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
0
720
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.