hi all,

here's another rant, its directed at our Educational system, but done
in a less brutal way than the 'last' nuclear exchange between Red and
Rafe ;-) Sabar guys you both got your points, ....

Have a read and pls comment...

Critique of MQA Computing Program Document
---------------------------------------------------------------------

Ah, I make a bold claim, I finally may have figured out a possible
reason why our august Universities produce thousands of graduates that
are 'unemployable' as far as IT is concerned. The blame must solely
rest on the shoulders of the MQA (Malaysia Qualifications Agency)
under the Min. of Edu. Its also known as LAN (Lembaga Accredition
Negara)

http://www.mqa.gov.my/

This 'organ' sets the 'standards'(sic) for all HEPs(Higher Education
Providers) in the country, both local and foreign. Yes, even if MIT or
Harvard were to set up here, their 'standards' will be governed by
them! And it covers not only IT, but also Bitotechnology, Medicine and
Health Sc. etc....

I downlaoded a PDF on the subject area of Computing:
    http://www.mqa.gov.my/garispanduan/ENGLISH%20Computing_6.1.10_doc.pdf

This does not cover all parts of IT, Netwk Engin.(SysAdmin) etc.. is
handled by other docs.
(so this rant may not apply to the Netwk Engineers, SysAdmins etc..)

But it covers all aspects of higher edu for 'Computing':

    - the type of courses and professionals it develops, presumably
for our HR needs...

    - the qualifiactions required to enter and awarded upon completion,

    - the 'programme objectives' what the course try to achive, the
type fo skills
       grads. will have

    - what the syllabus should cover

    - the accredition, way marks/grading are accorded

    - Learning Outcomes, what skills/knowledge the grads. will be
equipped with (!?)

  note:
    Compared to a similar document for BioTech and Engineering, the curriculum
    seeems to be far less detailed when compared to IT. A lot of freedom seems
    to be given to instituitions to determine their own. Why then should our
    industry be so closely scrutinised?

As a quick summary, here are my interpretations, I may be wrong, and
if so soemone please prove me wrong!

It seems 'programming skills' are not required for BSc grads, but are
required for Diploma grads WTF, !? (Learning Outcomes, Diploma, pg
14,i). It seems 'programming' is considered a lowly skill suitable for
Diploma holders, whereas BSc grads are suppose to be System Analysts
and and Proj. Managers!? And BSc grads are suppose to have
'entrepeneurial' skills (pg15 Generic Learning Outcomes, vi) - so they
can be the next Facebook I suppose...

If this is true, it sets a dangerous and unreal expectations for the
students! No wonder most Comp. Sc. grads. don't want to do programming
or can't code! And they want to be SAs and PMs? No Way! Without
knowing or having done extensive programming, they won't have the
depth of knowledge to manage progrmmers, let alone win their respect.
They won't be able to evaluate the complexity and timeline required
without understanding the tools or its methodology. Worst still, they
will end up making the technical decisions, instead of the programmers
that are actually doing the work! (Does a construction site-supervisor
tell his carpenter what tools he should use? NO!) It just means they
make 'dumb' managers which the coders can fool!

Also they (grads) probably think they don't need to do programming,
and they can straightaway be PMs and SAs.... but the market and
employers certainly don't agree!

Holy Dilbert! The fact is that our Unis are producing PHBs (Pointy
Haired Bosses) the clueless yet arrogant boss of Dilbert in the comic
strip!

Haris(OSDC) was trying to form a committee to try and introduce FOSS
into Education. I would think the work should start with the MQA. Also
who are the people that make such major decisions that affect the
future of our nation, are they qualified? Do they have industry
experiance? Are they free of vested interested? Are there HW or SW
vendors among them?

I think most of you who are serious about parctising IT and developing
the SW industry in Malaysia will agree with me that some of these
decisions are seriously flawed.
I certainly hope that such errors in judgement are due to the fact
that they have been misinformed, and HOPEFULLY they will allow us,
members of the FOSS community to provide an alternative POV.


Below are the rest of my rant.... based on sections of the document,
you may have to read it to get the full details, I have included some
quotes taken from the docuemnt, they are like this "....", the rest is
my inputs. Also those sections 'notes:'

I would welcome all comments, especially from the authority concerned,
lets have a healthy discussion on this. And no F words ;-)


Intro:
------
    No date as to when the docuemnt was drafted. The file name carries
a probable date, but
    the document itself does not have a date, change-history or list
of authors, strange!  The BioTech
    document has all these!
    It acknoledges that Computing moves at a amazing pace, yet if rate
of change is so critical,
    this document should have a date and be revised at regular
intervals by 'authorised experts'.

    It defines the "Programme Standards for Computing" for the following
    certification levels:
        Certificate         (Malaysian Qualifications Framework MQF Level 3),
        Diploma             (MQF Level 4),
        Bachelor’s Degree   (MQF Level 6),
        Master’s Degree     (MQF Level 7) and Doctoral Degree (MQF Level 8)

  Objectives  (Pg 6)
  ----------
    "These standards are designed to encourage diversity of approach
within a framework
    that is compatible with the national and global human resource
requirements and the
    socio-economic needs. They cannot be seen as a syllabus and no
form of prescription
    is intended in the amount of time devoted to each component or the
order in which
    the material is presented. Higher Education Providers are expected
to combine,
    teach and assess the subject matter creatively
    "

    "The development and implementation of this Programme Standards is
to ensure that the
graduates meet the professional requirements and expectations in their
respective fields. Higher Education Providers must take cognisance of
the rapidly evolving subject matter and introduce effective and
sustainable programme improvement. In doing so, the providers should
also ensure that the graduates obtain the necessary skills to function
effectively
    "

    comment:
        from what I have been told, the HEPs (Higher Edu Providers)
have to stick
        to this pretty closely. Either that or I have been misled, and
academia were
        too lazy to create their own syllabus and just accepted what was pushed
        upon them.

Coverage:  (pg 10)
---------
    I am just looking at the BSc degree programs.... but theres all the rest,
    from Certificate to PHd!

    It defines curricular and standards for 4 professional fields:
    and with its definition...

        Computer Sc
        ------------
            Produce Computer Scientists who can work in a wide range
of fields from
            theorectical research, SW development and drive
innovation. It offers a
            wide foundation to allow studens to adapt to new
technologies and ideas.
            Includes web technologies, Robotics, Computer Vision,
Intelligent Systems(?),
            Bioinformatics.

            note:
                to 'innovate, research' is a tall order, it means
going beyond what
                others has done and hence means you must already have
a very strong
                foundation. Standing on the shoulders of giants requre
that you are
                familiar with the giant!

        Information System
        -------------------
            Integrate IT with business processes to provide solutions
for entreprises.
            View technology as a means of generating(?), processing nd
distribution of
            information for (entrprises, gov...?). Practioneers are to
be familiar with
            specific applications, database apps., spreadsheet Off the Shelf SW.

            Then goes and talks about Payroll Accountg, Invrntory
Systems, etc...

            Note:
                no mention of ERP systems (hey Red1, comment!),
                Business Intelligence (Raja?),
                how about mobile-computing and the role it an play for
entreprise,
                NO FOSS!

        Information Technology
        -----------------------
            Graduates are trained to focus on application, deployment,
and configuration
            needs (of IT) for organisations and people over a wide
spectrum. They are
            responsible for planning, infrastructure, selecting HW and
SW, and integrating
            configuring and customizing these systems to meet business needs.

            note:
                Personel here play a major role in selecting HW & SW
and hence impacts the
                success of FOSS.

        SW Engineering
        ---------------
            Discipline of designing, developing and maintaining SW
that is reliable and
            efficient. It must be affordable to develop and maintain
and take into account
            issues like scalability and reliablity in safety
(mission-critical?)
            applications.

            "Software Engineering programmes produce graduates who can
understand user
            requirements and develop software systems. Software
Engineers are expected
            to develop systematic models and reliable techniques for producing
            high-quality software on time and within a budget."

            note:
                reliable, efficient, affordable, scalable, relaible,
mission critical,
                all this means FOSS right? ;-)
                MQA needs to be enlightened about this!

Programme Objectives (Bachelor, pg 10)
--------------------------------------
    Generic Programme Aims for a Bachelor’s Degree are to prepare graduates who
        i. possess skills for lifelong learning, research and career
development,
        ii. have communication, team, leadership and interpersonal skills, and
            aware of the social, ethical and legal responsibilities, and
        iii. have entrepreneurial skill and a broad business and real
world perspective.

    note:
        to produce entrepreneurs, it would be helpful to equip them
with fianancial
        and business skills. I don't see this being done anywhere.
Comp Sc guys are
        bad at writing Biz Plans and filling out MDEC forms ;-)

Subject to the specialisation/major/minor in a particular Bachelor’s
Degree and its
nomenclature, the Specific Programme Aims for the four (4) disciplines
identified in this
Programme Standards are:
    A. Computer Science
        The Programme should prepare graduates who
        i. possess fundamental knowledge, principles and skills in
Computer Science,
        ii. have strong analytical and critical thinking skills to
solve problems
            by applying knowledge, principles and skills in Computer
Science, and
        iii. possess theoretical computing knowledge in analysing,
modelling, designing,
             developing and evaluating computing solutions.

    B. Information Systems
        The Programme should prepare graduates who
        i. possess fundamental knowledge, principles and skills in
Information Systems,
        ii. have strong analytical and critical thinking skills to
solve problems by
            applying knowledge, principles and skills in Information
Systems, and
             Programme Standards for Computing
        iii. understand business requirements and have the ability to
plan, design
             and manage business Information Systems, with the
relevant technology and
             knowledge to enhance organisational performance.

        note:
            What? No mention of BI, Decision Support, Statitical Analysis tools
            and skills here?

    C. Information Technology
        The Programme should prepare graduates who
        i. possess fundamental knowledge, principles and skills in I
        ii. have strong analytical and critical thinking skills to
solve problems
            by applying knowledge, principles and skills in
Information Technology,
        iii. possess the ability to design, implement and manage Information
             Technology solutions and resources, and recognise the impact of
             technology on individuals, organisations and society, and
        iv. possess skills to integrate various technology solutions.

    D. Software Engineering
        The Programme should prepare graduates who
        i. possess fundamental knowledge, principles and skills in
            Software Engineering,
        ii. have strong analytical and critical thinking skills to solve
             problems by applying knowledge, principles and skills in
             Software Engineering, and
        iii. are competent in applying appropriate methodologies, models and
            techniques that provide a basis for analysis, design, development,
            testing and implementation, evaluation, maintenance and
documentation
            of a large scale Software system.


Learning Outcomes:
-------------------
    Diploma
        Comp. Sc.
            "i. write computer programmes using at least one Industry
relevant to software
                development environment (? grammatical error?)"

    Bachelors
        Comp Sc.
            "...
            iii. demonstrate theoretical computing knowledge in
analysing, modelling, designing, developing and evaluating computing
solution

      note:
        There is no mention about developing SW??
        Does that mean BS holders get to become Analysts and Project Managers,
        and the lowly task of programming is left to the diploma holders? !!


Curriculum Design
-----------------
for Bachelors (pg 20)

                                                                         %
    Compulsory Modules:   (Bahasa Kebangsaan, Pengajian Malaysia,       8-25
                           Pengajian Islam/Pendidikan Moral, ??
    Core Modules & Paper                                                46-73
    Common
       18-29
    Speciliasation
        17-55
    Elective
            9-24
    Ind. Trng.
            5-10

    note:
        Firstly the ranges and percantages dont add up!

        What does the "Compulsory Modules have to do with Computing!
        Perhaps these could be better spent on the socio-poilitical issues
        related to IT, like Privacy, piracy laws. Privacy & confidentiality
        ethics...

        At a rough estimate only 75-80% of the course is dedicated to
IT, and that
        include Industrial Trng. If that is not relevant (as it usually is) that
        leaves only 70-75% of the course being relevant!

        In the similar document for Engineering by MQA, the Compulsory
Module takes
        up 9-15% (the upper range) is less by 10% compared to
Computing! Is Computing
        considered a lesser subject that needs to be 'filled-up' by
useless subjects?


Body of Knowledge (Bachelors, pg 42) (rest is more rant...)
------------------------------------
This refers to the subject matter to be covered by the various types
of courses in
the various disciplines. Looking at the tables, there are glaring ommissions!
And they are somewhat simplistic.... I am sure many can poke holes into this!

What is MISSING!:

    1. No mention of FOSS and the impact it has of the IT as a whole
and espcially on
       the Internet, and Web apps.
       Also to delve further into what FOSS can offer in the various areas:
         - Cost Savings and Total Cost of Ownership
         - SW relaibility and security
         - Performance and efficiancy (hence requiring 'less' hardware)
         - Support and speed of response to issues and problems

    2. Cloud Computing, Virtualisation, Software as a Service all
these concepts
       are left out. They obviously havn't heard of Google!

    3. Programming paradigms and languages

        - why such a narrow focus?
           expose students to a wider range of languages, because
           they encourage different ways of thinking and solving problems.
           Best tools for the job etc... why be a monoglot?

           Heard of Lisp, Forth, SmallTalk, PiLog...?
           Or even the wildly 'common' ones like PHP, Ruby, Python, Perl

        - why no mention/comparative study between compiled/static
            and dynamic /interpreted languages?
            What about JIT (Just in Time compilation), or Tracing Compilers
            being implemented in Javascript engines by Google and Apple/Webkit?

        - why talk only of OOP, what about Functional programming?
          and when talking of OOP why no mention of SmallTalk,
          the OOP language that started it all?
          What about Declarative vs Imperative syntax/language?

        - Functional languages becomes more relevant in Web apps,
          heard of Javascript? Its functional! So are many 'scripting'
languages.

        - no mention of CVS (Code Versioning System) or code repositories?
            One of the most important 'Best Practices' in SW Engineering,
            how to do SW Engineering lor?

    4. Operating Systems concepts
        - Why no mention of UNIX? It pioneered all the current
concepts (well almost)
          of Operating Systems or has implementations of it...
          or Linux where you can actually look at and 'tweak; the source code?
          Too tough? How to do 'Research' or Innovation otherwise?

        - Concurrency, a big thing in todays multicore CPUs just gets
a mere mention..
           What about the different concurrency models:
              Threading vs Processes,
              Asynchronous (event based...)
              preemptive vs cooperative,
              coroutines and generators..
            (yes these are esoteric subject, but hey BSc guys are suppose to be
            equipped to do research, leaving porgramming to the lowly
diploma holders....)

     5. Design (& methodology, and related to Proj Management)

            The curriculum still seems to be orientated towards
classical top-down
            SSADM (Struct SW Analysis and Design) from Cobol days,
that build large
            monolithic SW, that take very long cycles and are obsolete
when they
            are released!

            What? no mention of Agile methods for SW development?,
Xtreme Programming
            etc. that have had huge success on the FOSS and internet world

            What? no mention of UML for modelling and as a design
tool? Ever heard of
            the term Use Cases, Class Diagrans..? How to do OODesign
without UML??

            What about Design Patterns?

            Concepts like shared, dynamic linked libraries. Frameworks
and why they
            are different from libraries....

            And using CVS and Code Repositories as an integral part of
projec management?
            What about bug & issue tracking?

            And Unit Tests? Test Driven Design concepts?

            ...and the list goes on...

            no wonder we produce obsoleted manpower...



-- 
#-------
regds,

Boh Heong, Yap

-- 
To unsubscribe from and detail about this group 
http://portal.mosc.my/osdc-my-mailing-list-information

MOSC2011 http://fb.me/mosc2011

MOSC Survey 2011 Awareness Of OSS Certification
http://survey.mosc.my/mosc-survey-2011-awareness-oss-cert

Kirim email ke