fachtnaroe.net
— because if it was easy, everyone would do it

  • Credits : John Sheehan and John Cottle

Coding is one of the highest art forms achieved by mankind; an idea - just an electrical impulse - is made real in an alternate electronic universe; the created idea however, does not have physical form, and yet can change the physical world; it cannot be touched, and yet may touch all mankind.

Assessment 2013/2014


Assessment 2012/2013

  • Assignments: (2 @ 30% each = 60%)
  1. Create a backend perl CGI script to validate and process the input received from the reservation form which is part of the Quinlough Hostel Project (web authoring project this year). Required functionality may be determined from the brief above and from this sample form with functioning backend script. Use this sample data to test your script.

    >>Click here to view the reservations database.<<

Assignment-specific examples & tools
Concept demonstrator (accessible from LAN only)
push-pop example
Data received by the check_vacancy API
Hidden input demo 01
Hidden input demo 02
Hidden input demo 03
Business::CreditCard sample usage
Data received by the confirm_booking API
Cookie demo 01
  1. Create a graphical point-of-sale (POS) program. For this assignment you will use barcodes and the APIs provided to implement the logical portion of a cash register. The barcodes will be interpreted by the barcode scanner; the resulting product numbers will be used to query the Quinlough shop database.

    The product details are stored in a MySQL database; you will interact with the database via the APIs provided. These APIs will allow you to get product names, prices etc as well as monitor/control stock levels. The APIs (short form) are here and examples of usage are here. The long form APIs are available in class.

    The program should be written as a text-only program first; when this is working you'll convert the program to a graphical display using SDL.

Assignment-specific examples & tools
Short form APIs
API usage examples
Short dataset for testing (4 items)
Medium dataset for testing (7 items, full details)
Logfile analysis of time logged in
Data received by the POS APIs (last 1000 queries only)
Basic 'game' loop as used by the graphical POS
Displaying different sized images
Formatting text output with ANSI codes
Using the SDL key event loop like <STDIN>

Assessment 2011/2012

  • Assignments: (2 @ 30% each = 60%)
  1. Create a backend perl CGI script to validate and process the input received from the reservation form which is part of the Waterfront Hotel Project (web authoring project this year). Required functionality may be determined from the brief above and from this sample form with functioning backend script. Use this sample data to test your script.

    >>Click here to view the reservations database.<<

  1. Group 1: POS Application
    You can use this sample flat file database to get started. Later, you can explore linking to a MySQL database.

    Tutorial which parallels the barcode assignment.

    *Sample program with push-ing, pop-ing and tabbed output.


    Group 2: Maze Game
    You can use this sample maze text file to get started. Later, you can explore using OpenGL (maybe!).

    For an example of how this program might work, log in to the programming server and change directory to /home/public - within that folder is a pre-compiled binary of a C program that largely does as this years assignment is required to do. The file is called amazing.bin and can be directly executed within that directory using the command ./amazing.bin - your character is the @ symbol. If you have read the brief you'll know the meaning of the other symbols, as well as the purpose of the program.

    Please use the Term::Screen module for this program. Also use strict; and proper indentation! Remember to search and replace the variable names in the samples below.

    Sample Steps:

  1. 0401.pl ("Hello World" using Term::Screen)
  2. 0402.pl (put a map on the screen quickly: uses file maze04.map)
  3. 0403.pl (control the position of a character on screen)
  4. 0403.pl.txt (doing position checking in the maze)
  5. 0404.pl (faulty, but ask yourself "What's wrong?")
  6. 0405a.pl (corrected use of 2D array: uses file maze06.map)
  7. 0406.pl (Run this and see)

Assessment 2010/2011

  1. Create a backend perl script to validate the input received from the enrollment form which is part of the web authoring project this year. Required functionality may be determined from this sample form with functioning backend script.

    >>Click here to view the enrollment database.<<

  1. (Team challenge: 'Hangman' type game. CLI based using the perl Term::Screen module for positioning of elements on-screen.)
    Assignment changed to: Number Guessing Game.
    (Please note modified submission details displayed in class.)

Assessment 2009/10:

  1. Standard Cover Sheet
  2. Program Listing (print out)
  3. Flow Chart (should be completed first)
  4. Screen shots of sample program runs etc
  5. Any other appropriate items in support of your assignment
  1. 0401.pl ("Hello World" using Term::Screen)
  2. 0402.pl (put a map on the screen quickly: uses file maze04.map)
  3. 0403.pl (control the position of a character on screen)
  4. 0403.pl.txt (doing position checking in the maze)
  5. 0404.pl (faulty!)
  6. 0405a.pl (corrected use of 2D array: uses file maze06.map)

Assessment 2008/9:

  1. Standard Cover Sheet
  2. Program Listing (print out)
  3. Flow Chart (should be completed first)
  4. Screen shots of sample program runs etc
  5. Any other appropriate items in support of your assignment
  6. Submit your script by email.
  1. No booking for more than 12 people may be made
  2. Bookings may only be made for the following month.
  3. Bookings of children only are not acceptable.
  4. Only VISA credit cards are accepted.
  5. The card holders name should have two or more parts.
  6. The credit card number should be potentially viable.
  7. The card expiry date should be potentially viable.
  8. The completed booking should be stored in the file "/home/public/hosteldatabase2009.dat"
  9. Open the database file in append data (">>") mode.
  10. Save each valid booking record as a series of fields using colons (:) as the delimiter.
  11. Separate each record in the database by an EOL. Therefore each line is a record.
  12. Concatenate all the data fields with the '.' operator
  13. The first field in the booking record should be your username.
  1. Duplication for further processing of the previously stored database ("/home/public/hosteldatabase2009.dat") under a new name for processing
  2. Where possible remove records from the copied database that are obviously incorrect eg: Remove records with empty fields,remove records with more than 12 people booked, remove records with invalid dates
  3. Retrieve a booking by name for printing or deleting
  4. Retrieve a booking by email for printing or deleting
  5. Retrieve all of 'todays' bookings
  6. Perform a series of statistical/data processing calculations

Assessment 2007/8:

  1. Standard Cover Sheet
  2. Program Listing
  3. Flow Chart (should be completed first)
  4. Screen shots of sample program runs etc
  5. Any other appropriate items in support of your assignment
  1. No booking for in excess of the guide figure from the form may be made.
  2. No booking for less than 10 people may be made
  3. Bookings may only be made for the following month.
  4. Bookings of children only are not acceptable.
  5. The completed booking should be stored in the file ">> /home/public/fitzgerald2008.dat"
  6. Write the record of the booking as a series of fields (even if empty) separated by colons (:) as the delimiter
  7. Concatenate all the data with the '.' operator
  8. The first item in the record should be your username.
  1. it.susanc
  1. 0401.pl ("Hello World" using Term::Screen)
  2. 0402.pl (put a map on the screen quickly: uses file maze04.map)
  3. 0403.pl (control the position of a character on screen)
  4. 0403.pl.txt (doing position checking in the maze)
  5. 0404.pl (faulty!)
  6. 0405a.pl (corrected use of 2D array: uses file maze06.map)

Assessment 2006/7:

This years assessment structure will not vary from that of previous years. However, the language taught is to change again. Once we programmed in a beautiful language called Pascal. Then we changed to C. Now we change again to a 'new' language: Perl (see above). Use the link above to view the Perl tutorial pages explaining the skills required for the assignments.
  1. Perl SAMPLE Programming Paper #1
    with Sample 1 Solution (617K)
  2. Perl SAMPLE Programming Paper #2
    with Sample 2 Solution (4.7MB)
  1. Standard Cover Sheet
  2. Program Listing
  3. Flow Chart
  4. Screen shots of sample program runs etc
  5. Any other appropriate items in support of your assignment
  1. No booking for in excess of 60 people may be made.
  2. No booking for less than 15 people may be made, with exceptions:
  3. A booking of 5 of more Special Needs Visitors, with one adult per 5 SNVs is acceptable.
  4. Bookings may only be made for the following month.
  5. Bookings of children only are not acceptable.
  6. The completed booking should be stored in the file ">> /home/public/greenstock.dat"
  7. Write the record of the booking as a series of fields (even if empty) separated by colons (:)
  8. The first item in the record should be your username.
  9. Concatenate all the data with the '.' operator

Assessment 2005/6:

  1. Standard Cover Sheet
  2. Program Listing
  3. Flow Chart
  4. Screen shot of sample program run
  5. Any other appropriate items in support of your assignment
Last updated: 20150421-14:24