Time to complete
Allow 20 hours continuous
Test Data Files

CAOapps.dat
(The CAO applications file)

LC-Results.dat
(The Leaving Certificate results file. This file is not available for download. You will have to make up your own test data file.)


Introduction

The Central Applications Office (CAO) provides a centralised applications mechanism to many of the third level institutions in Ireland.  Students wishing to take courses in any of the participating institutions indicate their course preferences in order of preference on the CAO form.  Places are offered on the basis of points calculated on the Leaving Certificate results.  

Although the Central Applications Office makes offers or places to applicants it does not calculate the points.  The points awarded for Leaving Certificate results are calculated by the participating institutions.   This allows these institutions to build into the CAO system any special requirements which they might have.

The CAO and the University of Limerick (UL)

After the Leaving Certificate results become available the CAO sends a copy of the CAO Applications File and the Exam Results File to the UL.   The UL must then use these files and internal points allocation algorithms to generate the points awarded for each course application.  The results are returned to the CAO in the form of a Course Points File. 

The Files

The CAO sends two files to the UL (the CAO Applications file and the Exam Results File) and sends one file back to the CAO (the Course Points File)..

CAO Applications File

The CAO Applications File is a sequential file ordered on ascending CAO-Number.  It contains applicant details.  The courses that the applicant applies for are held in a 10 element table.  Note that the first two characters of the Course-Code represent the institution. For instance, LM represents the University of Limerick.

Field Type Length Occurrence Value
CAO-Number X 8 1 -
Applicant-Name X 60 1 -
Applicant-Address X 100 1 -
Course-Code X 5 10 e.g LM051

Note
Elements of the Applicant-Address are separated from one another by commas. You are guaranteed that the last item in the address is the county name. The county name will be preceded by the letters Co. and a space. The address may be upper case, lower case or a mixture.
E.g. 13 Winchester Drive,Castletroy,Ennis,Co. Clare
Wilderness Co. ,LittleVillage, co. Waterford

The Exam Results File

The Exam Results File is a sequential file ordered on ascending CAO-Number.   It contains the Leaving Certificate exam results for CAO applicants.  The applicants Leaving Certificate results are held in a 14 element table.  Each element consists of the Subject-Code and the Subject-Result.

Field Type Length Occurrence Value
CAO-Number X 8 1 -
LC-Result Group Group 14 -
Subject-Code X 3   -
Subject-Result X 3   -

The Course Points File

The Course Points File is a sequential file ordered on ascending CAO-Number.  It contains the points awarded for each course application.

Field Type Length Value
CAO-Number X 8 -
Course-Code X 5 -
Points N 3 0-999
Random-Number N 3 0-999

The Program

Write a program that creates the Course Points File and generates a report showing;

  1. The number of applicants from each county.
  2. The number of first choices for each UL course.
  3. The number of first choices for the UL.

The format of the report is left to the programmers discretion. 

The program should apply to the 26 counties only.

General Requirements

All applicants must hold a Leaving Certificate with at least a grade C3 in two higher level subjects (HC3) and at least a  D3 in four ordinary subjects (OD3).  Applicants must have at least a OD3 in Mathematics; Irish or another language; and English.  Applicants who do not satisfy these requirements must be awarded zero points.

The following are valid languages;
IRS = Irish, ENG = English, FRH = French, SPH = Spanish, GER = German,
ITA = Italian, DUT = Dutch, DAN = Danish, GRM = Greek (modern),
POR = Portuguese, RUS = Russian

Special Requirements

In addition to the General Requirement outlined above applicants to some courses must satisfy additional requirements.  Applicants who do not satisfy these requirements must be awarded zero points.  The additional requirements are as follows;

LM020
OC3 Maths
LM021
HB3 French/German/Spanish/Irish & OB3 Maths
LM050
OC3 Maths
LM051
OB3/HD3 Maths

Leaving Certificate Points System

Standard points are calculated as follows;

Grade    Points Grade   Points
 HA1  =  100   OA1  =  60  
 HA2  =  90   OA2  =  50
 HB1  =  85  OB1  =  45
 HB2  =  80  OB2  =  40
 HB3  =  75   OB3  =  35
 HC1  =  70   OC1  =  30
 HC2  =  65   OC2  =  25
 HC3  =  60  OC3  =  20
 HD1  =  55  OD1  = 15
 HD2  =  50   OD2  = 10
 HD3  =  45   OD3  =  5

Bonus Points

Candidates may be awarded the following bonus points for all courses;

Maths HA1=40, HA2=35, HB1=30, HB2=25, HB3=20, HC1=15, HC2=10, HC3=5

Processing

The overall points awarded to a candidate for a course is based on the candidate's six best Leaving Certificate subject points scores taking the bonus points into account. 

To discriminate as fairly as possible between students who have the same score, the CAO requires that a random number be produced in addition to the points score.  The random number can be produced using the COBOL Intrinsic Function RANDOM.

The code for processing the General and Special Requirements as well as the code for calculating the Bonus points must be written as contained sub-programs.  The code for calculating the General points must be written as a separately complied sub-program.

The COBOL Report Writer must be used to produce the report.

Notes

The list of Leaving Certificate Subject Codes is supplied in the form of a copy file called caosubj.cpy. Use the COPY verb to import the codes into your program.

The list of UL courses and their Course Codes is given in the table below.

UL Courses and Course Codes
Course Code Course Name
LM020 B.A. Law and Accounting
LM043 B.A. Insurance and European Studies
LM063 B.Tech. Production Management
LM051 B.Sc Computer Systems
LM059 B.Sc. Computer Systems with French
LM060 B.Sc Mathematical Sciences and Computing
LM069 B.Eng.Computer Engineering
LM070 B.Eng.Electronic Engineering
LM080 B.Tech.Electronic Systems
LM083 B.Tech.Information Technology and Telecommunications
LM062 B.Sc. Biomedical & Advanced Materials
LM067 B.Tech. Wood Science and Technology
LM071 B.Eng. Biomedical Engineering
LM072 B.Des. Industrial Design (Jointly with NCAD)
LM073 B.Eng. Mechanical Engineering
LM074 B.Eng. Computer Integrated Design
LM077 B.Eng. Aeronautical Engineering
LM078 B.Eng. Mechanical Engineering with a Language (German)
LM079 B.Eng.Manufacturing Engineering
LM081 B.Tech.Manufacturing Technology
LM050 B.B.S. Business Studies
LM052 B.B.S. Business Studies with French
LM053 B.B.S. Business Studies with German
LM054 B.B.S. Business Studies with Spanish
LM055 B.B.S. Business Studies with Japanese
LM090 B.Sc. Physical Education
LM092 B.Sc.(Education)
LM094 B.Tech.(Education)- Materials and Construction
LM095 B.Tech. (Education) – Materials and Engineering
LM096 B.Sc. (Education) Physics & Chemistry
LM021 B.A. Languages with Computing
LM030 B.A. Irish Traditional Music and Dance
LM040 B.A. European Studies
LM041 B.A. Public Administration
LM042 LL.B. Law and European Studies
LM044 B.A. Applied Languages
LM045 B.A. Language and Cultural Studies
LM046 B.A. History
LM047 B.A. Arts (Offered at Mary Immaculate College)
LM048 B.A. Irish Studies
LM061 B.Sc. Industrial Chemistry
LM064 B.Sc. Industrial Biochemistry
LM065 B.Sc. Applied Physics
LM066 B.Sc. Environmental Science
LM068 B.Sc. Food Technology
LM089 B.Sc. Sports and Exercise Science
LM093 B.Sc. Equine Science
LM150 B.Sc. Nursing (General)
LM152 B.Sc. Nursing (Mental Health)
LM154 B.Sc. Nursing (Intellectual Disability)
LM180 Certificate/Diploma Equine Science