Meeting the Modern Challenge -Integrating Computing Science Undergraduate Education at the University College of the Cariboo


Richard F. Paweska , Roelof Brouwer , Surinder Dhanjal , Wayne Babinchuk

Computing Science Department

The University College of the Cariboo



With over 50 years since the inception of the field of Computer Science, a great effort has been spent on designing the best curricula for educating Computer Scientists [1], computing professionals, and other users of computers. In spite of this, there has not been in evidence an approach to creating a flexible university environment, which will support synergism between those three basic but different types of computing education.

This paper describes an experiment in integrating undergraduate computing education, which creates an environment that allows for:

different levels of computing knowledge and proficiency,


fast and flexible upgradability of computing skills,


addition of computing knowledge and skills to knowledge already possessed in another discipline.


incorporation of the Prior Learning Professional Experience (PLPE) as a recognized component in computing education.

The computer is a unique invention. Four characteristics of the computer make it different from other inventions that revolutionized the behavior of the human society in the past:

  1. High penetration (computer components are now incorporated in nearly any other device, trade, or a concept).


  2. Fast change in sophistication of the computer hardware and software. Newer in the history of technology a new generation of tool was appearing when the previous tool was not yet mastered by overwhelming percentage of users.


  3. High sophistication of the computing tools combined with self-possession of these tools by the users.


  4. Wide range of universal software packages (tools) designed with the goal to satisfy a wide range of user

Those four elements create an environment in which designing a flexible and universal model of computing education is a very difficult task. A team of faculty in the Computing Science department at the University College of the Cariboo, over the last seven years has been experimenting with different approaches to solving this problem.



Current State of Computing Education

Currently computing education divides all people into five categories:

  1. computer researchers (including cross-disciplinary programs): undergraduate and graduate computer science programs. The curriculas for these programs are based on excellent approach with using knowledge-based units [2].



  2. computer professionals (diploma and undergraduate technical programs). The curriculas for these programs are more designed for current skill demand then on creating a self-developing computer specialist.



  3. intelligent computer users (programs where the computers role is so substantial that students in these programs have to obtain substantial professional computing knowledge and computing skills). The curriculas for these programs are developed in many different ways from combined programs (as Computer Science & Statistics [3]) to creating a special centers (or laboratories) for a specific application (as Environmental Information Engineering Program at Keio University [4])



  4. other computer users. For all other computer users the curricula has been designed till recently by computer scientists and tends to focus on programming with elements of general problem solving. The use of knowledge acquired by students following those curricula was generally irrelevant to the real computing skills needed in their professional areas. Recently it could be observed that the pendulum is swinging to the other side. The members of given profession are preparing computing curriculas for their student (masking them often by including as part of their other courses). Nearly all of these curriculas tend to be designed for giving students currently required computing skills only (I will call it a 91monkey approach 92) instead of giving necessary knowledge that give students ability to master any professional computing tools in a short period of time 96 specially with so fast changing tools and the skills required to use them.


  5. computer illiterates who still outnumber all the groups listed above.

For each of those categories the computing education should be designed separately and, in our opinion, does not allow for any mix between them.

It means that any graduate of a computing related diploma with a vast working experience or a professional with extensive practice but gained through a set of professional courses has to take a full 3 or 4 year academic program to obtain a Bachelor degree. And similarly many graduate of academic computing programs has to attend a special certification courses (or programs) to be allowed access to some professional positions (as LAN Administrators).

It is only recently that some new initiatives are making headway in the computing education model. The current situation could be summarized as follows:

  1. clearly visible separation of goals between all levels of professional and academic programs,


  2. difficulty in transfer between programs or laddering from lower level program to higher level (certificate, diploma, associate degree, baccalaureate),


  3. Difficulty in upgrading of knowledge and skills by existing barriers between programs of different types.

Nearly 8 year long process lead our curricula team to a uniform system of education which allows:

Tailoring the level of computing education and skills as needed by the students and the market:


Introductory level 96 Modular and uniform introductory Information Technology Course


Diploma program 96 Professional program with skills but very limited breadth


Advanced Computing Certificates 96 a set of one year programs designed to complement current knowledge of students by adding limited breadth and employable skills in computing science. Programs are mainly aimed at graduates from other, non-computing academic programs.


Professional Bachelor of Technology 96 two year (3rd and 4th year) professional program with breadth and balanced depth and skills in computing science.


Computing Major Program 96 two year (3rd and 4th year) program with the main emphasis on breadth and depth in Computing Science
Introductory level Information Technology Course which is compulsory for all students (currently only for Science Programs) gives all students exposure to variety of computing tools. The approach is modular which allows fast modification of the course curricula and custom design for a variety of Science programs.


Course Objectives

The main objective is to provide students with an introduction to the "computer world" which will enhance their ability to use computer resources in everyday work. This introduction provides basic computer knowledge that any graduate of a B.Sc. Program should have to be competitive in the modern market place.

During the course students should:

  1. acquire an understanding of the computer as a collection of resources (local and distributed) and its relevance and usefulness to student work.
  2. acquire the understanding and practical ability to search for the resources needed globally on networks and locally on his/her computer system.
  3. be introduced to the computer as a system that facilitates sharing of resources, which allows multi-person projects to be efficiently scheduled and coordinated.
  4. be exposed to basic methods and tools provided by computer systems and incorporate those methods and tools at work.
  5. obtain the computer knowledge and confidence allowing them to keep pace with the changes in information technology


Course Vectoring: (3, 0, 2)


Course Outline

Module 1. Computer Resources
The Computer System as a Collection of Resources
Access to Resources
Module 2. Searching for and Sharing the Resources
Computer Networks: Linking with other computers and sharing of the data.
Search for resources (information and tools) on the Global Networks (Internet).
Designing and implementing a www page.
Module 3. Working in an Integrated Environment
Basic Components of an Integrated Office. Sharing and Exchange of Data between Components. Integrating Data.
Projects: Organizing, Scheduling, and Supervision of multi-person projects.
Module 4. Multimedia
Presentations: Creating a presentation using a Multimedia Tools.
Translating technical information into "audience friendly" Language.
Module 5. Analytical Tools
Mathematical Analysis Package
Models, Modeling and Simulation
Module 6. Advanced
Objects, Properties, Events and Functions
Visual Programming


Diploma Program

Diploma program in Computer Systems: Operations and Management (CSOM) is designed to produce low and middle level of computing professionals. Students in this program are exposed to hands-on experience by means of the courses and the co-operative program. The CSOM Program is a two year diploma program and is designed to produce graduates who will immediately become productive employees. The main emphasis of the program is to highlight the importance of sound problem solving methodology, supported by hands on instructions in the most utilized computing software and hardware.

The program is supplemented by a co-operative education option, which allows the majority of the CSOM students to integrate theory and practical experience during their study.

Graduation Requirements: 20 courses 96 60 credits consisting of:

3 courses in Business, Accounting and Management

2 courses in English

2 courses in Mathematics and Statistics

13 courses in Computing.



Advanced Computing Certificates

Currently two types of Advanced Computing Certificates are offered:


  2. Specialized (networks, databases, Software Engineering) - for anybody with academic breadth including computing professionals who are wishing to extend or upgrade their knowledge and skills. Those certificate programs are spread over two semesters with 4 courses in each semester.


  3. General 96 for graduates from any non-computing academic programs who wish to obtain up-to-date and marketable knowledge and skills in computing science. This program is one year long and spans three semesters (including Summer).



Bachelor of Technology in Applied Computing Science (BTACS)

It is a two year program (3rd and 4th year level) which is designed to produce computing professionals with a breadth similar to the academic computing graduates but with clear emphasis on obtaining practical skills with the newest hardware and software available on the market. This emphasis is achieved by dividing some key courses, such as Operating Systems or Computer Networks into two interdependent (sub) courses: one addressing fundamental principles (usually two credits) and the second addressing current implementation (usually one credit). A review of the implementation course is scheduled annually while a principles course will be reviewed each 3 to 5 years. This approach supports currency of the material presented. Each graduate of BT/ACS can return for a short period of time to upgrade his/her knowledge only in this implementation courses where changes were substantial or which are needed for his/or her current career change or advancement.

Admission to BTACS Program occurs at the 3rd year level (or equivalent). Three categories of admission to the BTACS Program are possible:

  1. Entry from CSOM Program at UCC (or equivalent computing diploma program) with minimum 2.33 GPA in computing courses.
  2. Entry from Arts, Business, Education, Engineering, and Science with minimum 2.33 GPA.
  3. Professional entry with a suitable combination of relevant work experience in the information
    technology field and post-secondary study, as determined by BTACS Coordinator (Program Advisor).


Admission requirements

To be considered for admission to the BTACS Degree Program, students must have completed 60 UCC credits (or equivalent) as follows:

1. Core requirements (30 credits):
4 computing courses: computer programming, computer organization and data structures
2 academic English courses
4 from Math and Statistics (Calculus, Discrete Mathematics, Probability and Statistics

2. Breadth Coverage (12 credits)
2 Science courses other than Computing or Mathematics.
2 courses in 2 different disciplines outside of Science, other than English.

3. Unspecified Lower level (18 credits)
6 courses at the first year level or higher.

It is anticipated that students of varying background will not meet all of the BTACS Degree Program requirements. Course deficiencies must be completed prior to formal admittance to the BTACS Degree program, although conditional admittance will be allowed for students who have completed most of the admission requirements.

To support the professional side of the degree a co-operative work terms are available to students.


Program Requirements

All BTACS Degree students must complete 20 courses (60 UCC credits) as listed below:

1. Core courses (9 UCC courses):
Algorithm Design and analysis, Computer Networks (A & B)Operating Systems (A & B), Software Engineering, Microcomputer System Development, Database Systems (A & B), Information Systems in Organizations, Project I, Project II

2. Computing Elective courses (6 UCC courses from the list of BTACS electives)

3. Business Elective courses (2 - 3 courses to be selected from the area of marketing,
organizational behavior and accounting)

4. Breadth Electives (2 - 3 courses to be selected from a non-computing Science area and
approved by the Program Coordinator)



Computing Major option in Bachelor of Science Program at UCC

The CS Major in B.Sc. Program is a typical computing science program with one exception: it allows laddering from any other program.

The Computing Science Program will follow the requirements for the new Bachelor of Science Program with specific computing requirements. Students will need 6 credits in Computing Science and 9 credits in Mathematics to enter the major. They will need 36 credits in computing courses at the 300 and 400 level as follow: 15 credits in core courses and 21 credits in computing electives selected from the list of 20 elective courses.

A Computing Science Major will enable students to pursue careers in all R & D areas related to design and implementation of programming languages, system design and system organization. The Major will provide the necessary qualifications for entering professional or graduate programs associated with computing science.

With the current impact of computers on all disciplines the Major will enable students to combine another discipline with computing science in the form of double majors.



Putting It All Together

The integrated model implemented at UCC allows:

  1. Standardization of all students basic computer skills by modular introductory course.


  2. Wide area of entry into professional programs.


  3. Three level of professional education: Diploma, Advanced Certificate, and Baccalaureate with flexible entry.


  4. Standard academic computing program (Major and Minor) with laddering options from professional programs.


  5. Easy transfer between programs with custom designed bridging courses.


  6. Keeping up with technological changes due to incorporating two types of (sub) courses: 1.Principles, 2. Implementation.


  7. Easy upgrade of skills with Implementation (sub) courses.


Going Further

The 2+2 model implemented for BTACS Program is currently explored as a cornerstone for double degrees. Currently one leading to Bachelor in Business and Bachelor of Technology in Computing Science is prepared for implementation.




The proposed model has been fully implemented in September 1997 (with Major in CS in September 1998) and already the interest in the proposed model 92s options is overwhelming.

  1. On 18 students admitted to the BT/ACS pilot program over half are recent or former CSOM or similar diploma programs graduates, one quarter are students who completed two years of Science program, and the reminder are professionals with limited academic background or graduates from undergraduate or graduate programs in other disciplines (including one with BT/ACS student with Ph.D.).


  2. While Science Introductory Course has been included as a compulsory course for all students in Bachelor of Science Program (all options) in the first offering of the course (Winter 1998) over 10% of the registered students come from Arts and Education.


  3. CSOM Program has obtained a considerable boost by providing a laddering to obtaining Computing Degree.


  4. Computing Major Option in Bachelor of Science program is a means of obtaining credentials for R&D type of work and graduate studies.


  5. Currently the first articulation agreement is signed with IUBAT in Pakistan and 4 are currently in evaluation:

two Colleges in Ontario


one College in Alberta


one College in Malaysia.






  1. A. B. Tucker, B. H. Barnes, Flexible Design: A Summary of Computing Curricula 1991, IEEE Computer, November 1991.


  2. ACM/IEEE-CS Joint Curriculum Task Force, Computing Curricula 1991, ACM, 1991.


  3. University of Toronto, Faculty of Arts and Science Calendar, Toronto, 1997.


  4. D. Notkin, R. D. Schlichting, Computer Science in Japanese Universities, IEEE Computer, May 1993.


  5. R. Paweska, A New Approach in Integrating Computing Science Undergraduate Education, Proc. of FIE 9298 (Frontiers in Education), Tempe, Arizona (IEEE Catalog: 98CH36214).





1. Example of Admission from CSOM Diploma program (Summary)

Graduates of UCC 92s CSOM Diploma program have 60 UCC credits. Following exemptions and admission requirements apply:

General Admission Requirements



Admission Requirements 60 credits

36 credits

24 credits

Graduation Requirements 60 credits

18 credits

42 credits

Total Length of the BT/ACS study

2 years plus



Block Transfer & Bridging Semester

The model relies heavily on acceptance of knowledge already possessed by candidates, be it in the form of formal education, professional training or self-training. One of the major challenges in implementation of the model was (and still is) designing a generic and common approach to all of these different types of knowledge. One of the possibilities, which we have implemented for evaluation of knowledge, is based on ACM defined units of learning [2]. Each of the courses in a given program has been broken down into ACM units and for each of the units a given percentage of knowledge has been assigned to theory and practice (which includes design and implementation). In our approach we have built a matrix of transferability in which columns represent ACM units of learning which are required and rows represent units which are possessed by a candidate. The total transferability for each knowledge unit is derived from all non-empty cells in the column. This allows incorporating all types of knowledge (formal and professional) into a one matrix, which determines a block transfer of knowledge, rather then a course by course transfer. The difference between transferred courses and those required as prerequisites and/or included into a given program determines a set of courses to be taken by student during the bridging period.


Richard F. Paweska , Roelof Brouwer,  Surinder Dhanjal , Wayne Babinchuk

Computing Science Department

The University College of the Cariboo

Box 3010,

Kamloops, British Columbia, Canada, V2C 5N3

Fax: (250) 371-5582