Computer Science

Welcome to the class of 2017

This is our class blog site. You should check this site for information about what is happening in class as well as other bits of information and posts to enrich your learning this year.

If any of you find anything that you think might be of interest to the class please let me know about it and I will include it in a post.


End or projects!

Congratulations on completing your projects by the deadline. I will be marking these over the next 2 weeks.

From now through to the end of the year we will be revising and preparing for the exam. Our preparation will centre around previous exam papers.

Little joke for Friday

Miniproject assessment

The miniprojects are due today and most students are doing well. Remember this is a miniproject, so my main objective is to make sure students have learned what we covered in Term 1.

These are the criteria I will be assessing and what I will be looking for.

Criterion 1

Algorithm design


The algorithm provided is a correct solution to the program problem.


The algorithm contains significant detail on specific steps.


A detailed algorithm is provided and structured from a general overview with extra detail provided at key places. Evidence of top down analysis in the algorithm design. A highly complex algorithm required to solve the problem.


Demonstrate knowledge of high level computer language.


The program uses the important elements of syntax correctly.

Loops, branches, methods.


The program uses more advanced language structures which go beyond the basic tools taught in the introductory classes. The program is of significant length and complexity demonstrating a command of structure and syntax.


A highly proficient program with several sections (classes) working together. Effective use of variables passed between subroutines or classes. Uses a wide range of language structures and demonstrates evidence of developed expertise in researching details needed to improve the solution to this particular task.


Use objects


Uses basic objects in the program.


Modifies objects as needed in the program. Evidence that thought is given to modifying objects to suit the task.


Designs objects for the task as well as using and modifying standard objects.


Understands software development cycle


Project demonstrates the development cycle by including planning and research, algorithm, program and testing.


Also indicates some analysis of why choices were made in developing the algorithm. Testing regime indicates thought and planning.


The most appropriate programming constructs are used to complete a complex program. Research and analysis of algorithm provided with reference to algorithms which have been adapted from standard solutions. (e.g sorting). Detailed discussion of testing regime indicating a high level of planning.


Planning and organization


Project completed in the set time frame. Program works although it may not be a complex one. Indications that report may be a little rushed.


Indications of higher level goal setting and organization. Stages in development clearly represented in the report. Resulting program and report more polished indicating an organized approach.


Elegant report including all the required elements to a high standard. Thought given to presentation indicating that time was allowed for all tasks to be fully completed.


Communicate technological information


Report complete and properly written. Correct use of terms. Program includes comments indicating basic function of sections. Sensible use of variable names. Description of GUI.


Report well written including detailed information properly expressed. Program includes good comments. Good variable names.


High quality report explaining the task and the process. Program contains detailed but appropriate comments which would facilitate easy modification. Excellent variable names. Program eay to follow based on the comments.

Starting on Computer Fundamentals

You should have your miniprojects done by the end of this week. Refer back to the previous post for details on your submission, and we have covered this in class. Your miniprojects should be submitted through your Ondrive.

We are now starting on the computer fundamentals and limitations section of the course. This is the red section in the VLE. The first thing we will be looking at is number systems. Number systems are the basis for our ongoing work in this section so it is very important that you become familiar with this work.

Miniprojects coming up!

You will need to start thinking about your term 2 project. Pick something that will take you about 4 weeks to code, so not something too ambitious. A simple game is a good start, or maybe a graphing applet which takes an equation via a text field and draws a graph?
Your project will need to be documented so it demonstrates the software development cycle:

  • Problem definition and planning
    • What is your program going to achieve?
  • Analysis
    • What background theory is there?
  • Design
    • Initially…when documentation
    • GUI
    • UML if you have more than one class
  • Code
  • Testing
    • Testing regime
    • Use ‘Blackbox’ regime for this project
    • Sample output

I have given you a course on Object Oriented Program Development which you should watch in preparation. This will cover software design considerations and gives a short introduction to UML. UML is not part of this course but it is widely used, and worth knowing a bit about. On the wiki page you will also find a link to a UML plugin for Eclipse. This plugin will generate UML documentation directly from your code.

Excellent code sample site

Thanks Cimeon for finding this really good source of short samples. The Applet section in particular has some useful short examples on how to do things like hide buttons, change colours and fonts on buttons, use check boxes etc.

KeepĀ  exploring, we will start our applet projects after the holidays.

Enter your email address to follow this blog and receive notifications of new posts by email.

Join 18 other followers

Follow us Twitter