www.fachtnaroe.ie



Web This site

(Test: HTML5)

Computer Programming

The computer programmer is a creator of universes for which he alone is the lawgiver. No playwright, no stage director, no emperor, however powerful, has ever exercised such absolute authority to arrange a stage or a field of battle and to command such unswervingly dutiful actors or troops. Joseph Weizenbaum

Getting started with Perl

  1. Accessing the Perl Programming Environment.
  2. Editing the Perl source code.
  3. IT PLC: this tutorial parallels the barcode assignment.
  4. Using Perl online.
  5. The Comprehensive Perl Archive Network (CPAN)

Perl Nuggets:

  1. Formatting numeric output
  2. Killing your program quickly
  3. Indentation
  4. Formatting a receipt
  5. Creating a web input form
  6. Using Term::Screen to control your CLI screen output and keyboard input
  7. The official Term::Screen test file - from which you can learn how to use the module components
  8. Drawing with CP437 characters

Perl Tutorials:

  1. http://perldoc.perl.org/index-functions.html
  2. http://www.yourhtmlsource.com/cgi/basicperl.html
  3. http://perldoc.perl.org/index-faq.html
  4. http://computer.howstuffworks.com/perl2.htm

Perl Books (All from O'Reilly Books):

  1. Learning Perl
  2. Perl in a Nutshell (the 'official' book)
  3. Programming Perl
  4. Advanced Perl Programming
  5. Perl Cookbook
  6. Learning Perl on Win32
  7. Perl for System Administration"

Flowchart Tutorials (verrrry important):

  1. Basic rules.
  2. Tutorial
  3. Tutorial

Other Tutorials:

  1. OpenGL (Graphics) Programming
  2. 3D Graphics Programming In Perl
  3. Bash Scripting - from Basics to Advanced
  4. Inactive content: (C Programming):
  1. Linux Assembley HOWTO
  2. Free Pascal
  3. Programming comparisons

General items:

Current Year

Assessment 2011/2012

  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.
    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)

Previous Years

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

Related:

Last updated: 20120220-16:36
back to top
Fachtna Roe, Senior College, Central Technical Institute, Clonmel, Ireland.