by Ray Auxillou
I took the Intro to C++ course at a local South Florida Community College. My wife had taken it previously from a local University. Both courses were judged by us, to be improperly taught, planned and had excessively high drop out rates in the USA.
There is a world wide shortage of Software Programmers. This is a vocational technical trade or skill, that the average Grade 10, or second year high school student could take and learn, if taught properly. It would be no more difficult to learn than Algebra, or Trigonometry, both subjects taught at High School level.
At the University level, the programming courses are taught as part and parcel of a slew of courses to qualify for academic credits toward either an Associate Degree, or Bachelors in Science Computer Degree. Little regard is given to this being a separate skill, or trade on it's own. The subject is just something to be taught as part of a complement of knowledge toward something else. At the local Community College level, the programming course was also being taught as part of an accredition process toward a higher computer science degree. At neither of the institutions, did the teaching methodology teach the course as an end, in and of itself, toward a certification, for an isolated trade, or skill in which to make money, by itself for a student.
Considering there is a reputed 3 million vacant software programmer jobs worldwide and even neophyte programmers are starting at $40,000 USA a year in the USA ( a very decent salary ) and experienced software programmers are earning over $100,000, one wonders why this is so?
We both found that the course in C++ was being taught, only for previous programmers in South Dade, Florida by both different types of institutions. It was being assumed, you were a student going for a degree of some sort in Computer Science. The subject was only covered peripherally and skimmed in such fast and light detail, as to be almost useless to any student who wanted to learn Software Programming as a trade and skill, for and by itself. In starting classes of 45 students or so, only about 20% finished and invariably these were Computer Science majors who had already taken other software programming courses, such as Pascal, Basic, Fortran and C programming. They understood the way the programming worked and were mainly interested in simply learning a new type of programming syntax. For absolutely new people with no background in software programming, the course lacked fundamental feedback and skipped whole chunks of learning, which created a huge loss of the class student body. As much as 80% to 85% of the class is considered normal losses. I would fire a teacher that had that kind of failure rate in Belize. Or re-arrange the committee that organized such a demanding syllabus.
There may be some validity at University level to this approach, but there is absolutely no validity to this approach at Community College level, which is supposedly offering education to prepare people in the community for commercial jobs.
There are a number of problems. Chief of which, seems to be that C++ programming and the other programming classes you require to work at, as a software programmer; are being designed to be taught to people who have already taken C programming, or other programming courses. It presumes prior knowledge, when more than half the class have none. Nor should they require any!
Software programming courses are being mixed up by Community College Phd academics, in the educational institution committees with Computer Science degree training. This is such a fundamental mistake, one can only wonder if they have done the requisite commercial application surveys in the outside community for job skills, before offering these courses?
What seems to be required commercially, is C++ programming, Java programming and Database SQL as a basic Vocational Technical Certificate for software programming. It should have no connection to, or with any other Computer Science degree academic work.
Commercially, there is a school in Montego Bay, Jamaica, run and organized by an Atlanta based Software Programming Corporation, to supply itself with the shortage of programmers necessary in the commercial business field. They take students with absolutely no knowledge, or previous experience of a computer and teach them to be programmers in 10 months. They guarantee all graduates a job as source code writers, immediately on graduation. Their pass rate is 95%. Just the comparison of pass rates of the student body, shows the inadequacies of the approach to teaching 'software programming' in South Florida. There seems to be a difficulty also in finding teachers and any professors to teach C++ for instance, apparently those that have been teaching C programming and C++, have been doing so for 15 to 20 years. It is obvious that boredom is also taking it's toll with the instruction. The teachers are routinely skimming over and missing material, because being bored with the repeated subject, it is all so old hat. Having been a teacher myself, I can understand this failing. Considering any software programmer can today earn over a $100,000 a year, one wonders at the quality of a teacher willing to teach the subject for $35,000 to $40,000 a year anyway, as a full time job? Academia puts restrictions on teachers. They must have degrees, but at Community College level, you often wish to teach trades and skills that do not require a degree. You need real life experience. This requirement of teachers having a degree is retarding commercial orientated work education. It is job security and Union protectionism and to heck with the needs of the student. The major failing at Community College level, is not breaking this software programming down into more complete and thorough classes with more hours, more practise and more repetition as a trade of itself. Many students of the local Community College complain, in many different types of courses, that they are not being taught effectively. That they take all these courses and pay big dollars for them and the requirements and after two years have learned hardly anything useful and basically wasted their money. The students charge that they are being ripped off and simply being forced to take courses as part of useless academic requirements in order to raise money for the local college. That they are failed and being forced to fail, in order to be forced to repeat courses, to make more money. These complaints are not only valid in C++ programming courses, but also valid in Learning English as a Second Language for instance. I've heard many of the same arguments from different students on different skills that they wished to acquire. Let us compare C++ programming at four different institutions. There is Broward County Community College, that offers an Associate Degree in Software Programming. This Associate Degree takes two years and requires one year of humanities. It was designed after appropriate surveys with commercial people and academics jointly. Obviously from a commercial trade viewpoint, the year spent on humanities is wasted time, but a great money maker for useless courses. Anyone who has gone to high school has all the necessary humanities already. Producing a well rounded student is not the intention, or should not be the intention of a Community College. A quick cash valid working trade should be the goal.
The program at Montego Bay, Jamaica offers no humanities and does not give a degree, it gives a Software Programmers Masters Certificate and teaches students to write source code for commercial jobs in 10 months. This is obviously the right approach. They teach them thoroughly C++, Java and Database SQL and put them to work with high paid jobs immediately. A 95% student pass rate and immediate employment speaks for itself.
At Florida International University, C++ programming is being taught as part of the accreditation course work toward a degree in Computer Science. Most of the graduates of this degree elect to work not in software programming, but easier jobs like Software Analysts. They forget their programming courses almost immediately. The subjects are simply a requirement to be got through for credits, but not for work employment.
At Miami Dade Community College, one would think the approach would be different. Considering the goal of trying to train people for jobs. This is not so. The C++ course I took, was considered simply part of the accreditation process toward a higher degree in Computer Science. It presumed you had already taken programming courses as part of your degree requirements and would understand and know much of the basic background work, before you started. No effort has been offered to give a Certificate in Software Programming as a trade by itself.
From my own experience, I learned simply because I organized a network of students, among which were three with previous programming experience. They were simply going for the Bachelors and eventually a Masters Degree in Computer Science. By picking their brains and back engineering much of the homework, I was able to keep up. Since I was not interested in credits, or teacher evaluations, but simply in learning the trade, this for me was the only way I could have continued to class end. As it was, I ended up somewhere mid-class, or a little above the average. My homework took me on average 45 hours a week. Any Community College course that takes 45 hours a week homework is deficient in my opinion. A student going to learn, should be able to take three classes at a time with an average 20 hours of homework per week each, or less. The students in my class with previous C programming classes, were spending about 8 hours homework on the same course work that needed 45 hours of homework from me, a complete neophyte to the subject. First time students would be forced to drop out from homework overloading if they were carrying other subjects. Something is seriously wrong here in the approach to teaching these subjects. Without the good students help, I could not of learned what I needed to learn. The time given for teacher feedback could be measured in seconds, or a few minutes, as the pressure to cover the syllabus course material had to be got through in 12 classes of 2 ‡ hours each. The pace was too fast. The depth of instruction too minimal and much of the needed instruction was skipped and supplied the following class. I could not figure out if the Professor was deliberately leaving out necessary nuances in each class as a teaching method, or whether he was just so familiar and bored with the subject after 15 to 20 years, he no longer knew the difference between things he thought he had taught and actually taught. Without the feedback from other students and back engineering, there is no way I could have kept up. Yet at Florida International University and to some extent at the Dade County Community College, it was frowned upon if one student helped another. The logic teaching was presumed something you had to suffer through. From my working knowledge practical application viewpoint, this approach was false and useless. As a working student seeking a trade skill, my requirement was to know the stuff for practical working application. Following these teaching approach restrictions, I would never have finished halfway through the class and been one of those many dropouts and failures.
For Belizean Educators, this analysis of software programming courses points out the shortcomings in USA education at the Community College level. The Community Colleges at least in South Florida are padding their certifications with extra credit courses in which to make money. They are not concentrating on giving students working skills for a trade, that have immediate job applicability. Nor are they breaking down these courses in sufficient detail and with enough time, to thoroughly prepare a student off the street with a working trade. The vocational night school courses being taught at local High Schools are doing a better job than the Community College is my experience. I one time took a three month course for Health Department Pool Operator and operated Dade Municipal Swimming Pools with this certification. It was taught thoroughly by a Pool Manager instructor from Milander Pool in Hialeah. This vocational High School night time course Pool Operators course was superior by many magnitudes to my Intro to C++ course taken at Miami Dade Community College.
In Belize, like the Commercially operated software programming school
in Jamaica, Belizeans need a no frills approach to trades and skills in
education. Belize is a frontier pioneer country and a person can expect
to have to learn 7 different trades in a lifetime due to unforseeable
circumstances. Belizeans need to be generalists. The approach to
education in Belize should be more practical and pragmatic. The country