Journal Articles

CVu Journal Vol 15, #3 - Jun 2003
Browse in : All > Journals > CVu > 153 (14)

Note: when you create a new publication type, the articles module will automatically use the templates user-display-[publicationtype].xt and user-summary-[publicationtype].xt. If those templates do not exist when you try to preview or display a new article, you'll get this warning :-) Please place your own templates in themes/yourtheme/modules/articles . The templates will get the extension .xt there.

Title: Begin C++ Discussions at ACCU Spring Conference 2003

Author: Administrator

Date: 03 June 2003 13:15:57 +01:00 or Tue, 03 June 2003 13:15:57 +01:00

Summary: 

Body: 

The Begin C++ project [BeginCpp] is by far the most popular of the ACCU Mentored Developers [ACCU-MD] projects. Unfortunately it has a very high rate of attrition. The project was created to provide support for ACCU members seeking to learn C++ through a mentored team based process. It is aimed at both novice to intermediate developers (students) and more experienced developers (mentors). The Begin C++ project is based around the book Accelerated C++ [Accelerated-Cpp] by Andrew Koenig and Barbara Moo. As well as being a book of outstanding quality, the chapters and exercises also provide a clear structure for the project. The students read through the book at more or less their own pace and are able to post any questions they have to the project list [begin-cpp] or direct to their mentors. As they complete each chapter the students are encouraged to submit answers to the end of chapter exercises to their mentors.

Many of the mentors have commented that most of their students start off well with regular communication and submission of exercises, but then disappear around chapter 3 or chapter 4. During the 2003 ACCU Spring Conference a number of 'panels' were held, which discussed Mentored Developers related subjects such as distance learning and mentoring. There were also two 'bird of a feather' (BoF) meetings held where the Begin C++ project specifically was discussed.

There were a number of specific ideas and suggestions for the Begin C++ project which came out of the discussions at the BoF's. They mostly originated from Alan Lenton and Mark Easterbrook.

  • More upfront

    It was generally felt that mentors do not have a good enough idea of the goals of their students or their reasons for taking part in the project. To address this it was suggested that before accepting students into the project they should be asked to explain their background and interest in learning C++. Establishing the goal of the student could help the mentor to provide direction and help the student to attain the goal. Also, if the goal is achieved before the book is completed, the student would not appear to disappear as both student and mentor would be aware.

  • Prerequisites

    Currently there are no prerequisites for joining the Begin C++ project other than being an ACCU member and owning a copy of Accelerated C++. It was suggested that some relatively simple prerequisites could be introduced. These would be along the lines of installing and learning to use a compiler (simple set-up instructions for major platforms and major compilers would of course be made available) and completing the first couple of Accelerated C++ exercises. This would make sure that the student had the ability to get to grips with a real compiler and would be able to test their exercise answers (the inaccuracies in some exercise submissions have suggested that students haven't tried to compile their solutions). The initial exercise solutions would allow the mentor to gauge the student's natural ability. Some students may need to start at a lower level than that presented by Accelerated C++. Other students may need to be encouraged to work through it quickly and then move on to more advanced topics.

  • Regular IRC Meetings

    It was suggested that groups of students and mentors should get involved in regular (weekly or monthly was suggested) interactive meetings via the internet using something like IRC (Internet Relay Chat [IRC]). The meetings could concentrate on a predetermined C++ topic or give students the opportunity to raise problems they are having and get real-time answers. Mentors would share the responsibility of chairing meetings in rotation reducing the individual commitment. All students and mentors would be free and encouraged to attend as many meetings as they wished.

  • Anonymous Posting & Mentor Reposting

    Many students are afraid to post questions they have to the Begin C++ list in case they are ridiculed by other members of the list. No amount of explaining that this will not happen, as everyone is there to learn, seems to change their mind or increase the overall volume of posting. The posting of questions to the list is very important as this helps other students learn. A couple of suggestions have been made to try and tackle this. One is the ability for anyone to post anonymously. Alternatively a student could first post to their mentor and then the mentor could post the question to the list on the student's behalf.

  • Monthly Begin C++ Newsletter

    It was suggested that a monthly Begin C++ newsletter would help to increase communication within the project. The newsletter would probably be in email form and consist of descriptions of student's experiences and progress as well as some worked exercise examples. New members of the project could also be introduced.

I attended the panel discussion on Distance Learning. The panel itself consisted of Francis Glassborrow and Alan Lenton. The purpose of the panel in such a session is to encourage the audience to get involved. The was a lot of very interesting debate and a great deal of audience participation. Although the subject of discussion was not specifically about the Begin C++ project or even about the Mentored Developers there was a lot of specific discussion about both. The following points were identified as needing improvement:

  • Feedback

    It has been suggested that a 'Contract' should be drawn up between students and mentors so that they both know what is expected of them. This contract would include the minimum required communication between the mentor and the student. For example the student might be asked to send an email once a week to their mentor just to let them know they are still alive and still interested in the project. If the email is not received for a few weeks the mentor should contact the student. If no reply is received the student should be assumed to have stopped participating in the project and the mentor seek a new student. This should increase feedback.

  • Motivation & Reward

    It is often difficult to motivate someone, especially from a distance. Hopefully the goals identified during the student and mentor's initial discussions can go a significant way towards providing motivation. However, this is certainly an area that needs more looking into.

    It has been suggested that a reward system should be introduced to the Begin C++ project. This has ranged from providing a certificate of completion to the ACCU refunding the cost of Accelerated C++. I think these are both good suggestions, but the refund of the cost of the book hould carry the proviso that the ex-student become a mentor for the next batch of students.

  • A Sense of Community

    Hopefully a sense of community will develop as communication increases on the Begin C++ list. Regular IRC meetings, as mentioned above, should help people learn who each other is.

  • Structure

    I always thought that Accelerated C++ gave the Begin C++ project all the structure it should need. However, this appears not to be the case. This is an area that needs further investigation and discussion.

I believe we now have a better idea of what is wrong with the Begin C++ project and why people are dropping out. I also believe that using the methods suggested above we can improve the Begin C++ group. Luckily all the suggestions can be implemented concurrently, retained if they work and easily dropped and replaced by others if they fail. However, there is still a long way to go...

I have made this article available on my website [this] and I will be encouraging the Mentored Developers and specifically the members of the Begin C++ project to read it and discuss the way forward on list. I would be interested in hearing anybody's comments and volunteers willing to get involved will be greatly appreciated.

References

[BeginCpp] Begin C++ project: http://www.accu.org/begincpp/public/

[ACCU-MD] ACCU Mentored Developers: http://www.pjgrenyer.fsnet.co.uk/accu/mdevelopers/

[Accelerated-Cpp] Accelerated C++: http://www.acceleratedcpp.com/

[begin-cpp] begin-cpp list: http://www.accu.org/mail/public/lists.htm

[ACCU-Conf] ACCU Spring Conference: http://www.accuconference.co.uk

[IRC] Internet Relay Chat (IRC): http://www.irc.org/

Notes: 

More fields may be available via dynamicdata ..