Perspectives from the *other side* on Software, Management and Life

Monday, April 17, 2017

HEC Curriculum Revision experience

Education is something I've always had keen interest in, even taught the Advance Programming course at LUMS for a few years as adjunct faculty, which was a very fulfilling experience. What excites me about education is its ability to transform lives, enabling empowerment especially in developing nations. It is the future, with automation expected to kill most blue collar jobs in the near future, yet Pakistan's masses remain uneducated. The Middle East's reversal in importing large unskilled/semi-skilled resources is a big red flag.

If getting a university degree solved these issues, we'd be in a great place. Unfortunately a degree isn't worth the paper its printed on from most of the universities in Pakistan. Thats a broad statement, although I do have a large enough data set to base this on. I've interviewed in excess of 4000 candidates for different positions in the past 10 years. From Software Engineers, Project Managers, Content Writers, Product Managers, Support Managers, Ops Engineers, Digital Marketers, HR, Senior Executives etc.

HEC attempts to solve part of the problem of education quality at the university level by defining a set of minimum requirements for running a degree program. So I was extremely excited when I got invited to be part of the team reviewing the curriculum for BS and MS in Computer Science (actually Computer Science, Software Engineering and Information Technology). The official title being National Curriculum Revision Committee (NCRC).

I arrived at the HEC center in Islamabad to find a big hall filled with about 70 individuals. All but two others were from academics and were referred to using the title Dr. (in lieu of their PhD). This was a three day exercise and soon it was kicked off by three reps of HEC. After a quick round of introductions, two individuals were 'elected' to manage the outcome of the entire group - Mr Ayub Alvi and another, whose name escapes my mind. The election was an informal process with everyone nodding along to suggestions, and many seemed to know the individuals, although I was meeting them for the first time. They then managed the subsequent discussions with HEC representatives taking the back seat.

The first discussion was on recommending the merging of SE, CS and IT degrees into a CS degree with these others as streams/specializations. I was very much for this, but due to significant disagreements, this discussion ended with status quo. We then broke into different subgroups to review the BS curriculum ie Core, CS, IT and SE. The Core's subgroup responsibility being to review all subjects that are requirements for all the three degrees/specializations. I went into the Core subgroup, which had the subjects Programming Fundamentals, Object Oriented Programming, Data Structures and Algorithms, Discrete Structures, Digital Logic, Operating System, Database Systems, Software Engineering, Data Communication and Computer Networking, Human Computer Interaction and Final Project.

ACM has done a great job of providing guidance for universities on this, and our sub group took advantage of their work. We discussed how the world was moving towards interdisciplinary specializations and the focus needs to be on reducing required/core subjects and improving course outlines to cover essential emerging knowledge areas. For this, our subgroup recommended taking out Digital Logic and HCI from core requirements (and moving them to electives), so students can take additional subjects in specializations that interest them. (NOTE: The removal of Digital Logic from core was later reversed based on opposition from the other subgroups....)

For subject outlines, The Data Communication and Computer Networks was updated to be more specific to Networks with less emphasis on signal processing (signal processing being a separate elective as it has little bearing on communication protocols, which should be the focus of a core subject). Software Engineering (the class that I, as a student, vividly remember as the best day-dreaming experience) was significantly reworked. I reviewed UC Berkeley, UIUC, UT Austin and a few others to find that its no longer a 'theory' subject but a very hands on dev centered subject that takes students through the complete life cycle using theory with actual implementation. Unfortunately there are still universities that still teach it as a theory subject and we had significant discussion (Dr Imran, Dr Zahid and myself along with Dr Junaid and Dr Nayyer) around this. Due to significant variance in opinion, we toned it down from where I had originally proposed it to be inline with UC Berkeley's course, but still a much better improvement over what exists today. It was also recommended that graded assignments be required for giving students exposure to actual agile delivery methodologies using stories and code. There was also a number of revisions done in other subjects, bringing them inline with ACM recommendations on at least their Core1 requirements. 

We then all regrouped to go over findings of different subgroups. Some groups seemed to have had good discussions and even if no changes were recommended, they were able to highlight why and speak about the tradeoffs. Not all subgroups were alike, with one having done little, but perhaps they had better reasons and just didn't explain them. 
There was also a discussion on improving course outlines of Pakistan Studies and Islamic Studies by adding content to enable discussion and thinking on historical events and contrasting view points, but it was decided to seek academics from these specializations in the future to assist. The discussion on these subjects, while small, was very open although it was understood that any change recommendation will need to be very well thought out, even though they currently are not much of an undergrad subject with the same content being repeated in junior classes. 

I also got to learn about the active involvement of the Pakistan Engineering Council (PEC) in degree accreditation. Apparently anything with 'Engineering' in the degree must have approval from PEC, and yep, you guessed it, Software Engineering kind of falls into their preview. Although they're nice enough to recommend that if the accreditation happens from National Computing Education Accreditation Council (associated to HEC) they will not contest it. The PEC, being engineering specific, was pushing for the Washington Accord

HEC was also pushing for PLO (Program Learning Objectives) and CLO (Course Learning Objectives) to be part of the curriculum document. For the PLO, the discussion was significant and it was concluded that they should be left for the university and not enforced by the HEC. We also had some individuals who raised the point that universities should be free to define their courses (and CLOs), with HEC being minimalist in terms of requirements. This view has its merits as it enables creativity as well as specializations to take place at the university level ie a certain university focusing on Network/Computer Security as an example. However the counter to this point was that most universities operating in Pakistan need a bigger stick and not a smaller one. How unfortunate, the bottom ones get to be a drag on the top ones. 

We then ventured into discussing the admission criteria for the three undergrad degrees. Apparently someone can graduate from FSc (High School equivalent) with a minimum of 33% marks. However just-passing is frowned upon to such an extent that regulatory bodies enforce restriction on admissions for the undergrad. Medical and Engineering programs are mandated to keep the merit above 60%. With the CS program, the minimum requirement is 50%, while for Software Engineering its 60%. So while the discussion started off with trying to increase the minimum requirement of CS to 60%, I had issue with a regulatory body enforcing a minimum requirement, which I feel should be the university's job. We had an intense discussion on this, and I voiced concerns that unless the decision is data driven, its best not to add any more restrictions. It was joked by a few that even candidates with 90% marks have extremely poor fundamentals and so perhaps a good FSc grade means little. 

On the last day, we had subgroups made for the MS program, I went into the Computer Science subgroup. The first discussion was to make the research project a requirement, this was a fairly intense discussion with strong opinions on both side. I was of the opinion to keep this optional. Alas, a vote was put and making it mandatory were in the majority. I objected that a normal majority cannot be taken as the subgroups recommendation, and for that a near absolute majority is needed. Turns out that government jobs give significant incentives for research based MS and making it mandatory would help those candidates. Then someone made a great point that in the industry, no one cares about research project. While for academics it might be important but with most candidates going into the industry after their MS, a restriction doesn't make sense. It was finally decided to recommend that MPhil degrees be issued instead of MS for project based Post Grad degrees.

The other subgroups worked on proposing additional streams in the MS program, eg Data Sciences etc.

The final steps are for the consolidation of the curriculum revision, they will then be sent to universities for feedback. We will then meet again in a few months to review the feedback and at that point, I was told, this would become the new curriculum. 

In summary, I am extremely impressed with HEC. They managed to get a good number of individuals from across the country, for only the cost of airfare (no one was paid for being here for three full days). And most of the individuals played a very active role, provided great feedback and had healthy discussions. It also enabled everyone to understand diverse issues, from challenges faced by students of remote universities to matters of survivals for tier 3 private universities. 

Some of the academics were extremely talented, and seeing that they worked in remote universities was even more encouraging. The revised curriculum is also a good step forward, but there is no substitute for dedicated teachers and good university administration (which isn't the preview of HEC). The Massive Online Open Courses from the likes of EdX, Coursera and Udacity are also a game changer, and hopefully we'll see some students taking advantage of these, especially those in low ranked universities. Seeing HEC work, makes me think that it would be great to have something similar for primary and secondary education, as a lot of students come unprepared to universities because of extremely poor basics.