Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
NIS_CPT2013_CompScience_Grade12_CourseworkGuide...doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
3.99 Mб
Скачать
  1. Choosing a Suitable Project

Students may choose to solve their problems by either the use of a software applications package and/or by writing their own program(s). The exact method of solution will be the choice of each student but the teacher will need to ensure that all options have been covered during the course so as to allow the student maximum flexibility in their choice of solutions. The use of a specific programming language is the responsibility of the school and will be determined by the available resources within the school. However if students choose to write their own program then the choice of language must allow them to construct their program in a structured modular approach. Previous experience of students' work indicates that the choice of certain projects, for example games, quizzes, word processing and websites that just provide information, make unsuitable projects and are not capable of achieving high marks unless they are both very well designed and clearly documented.

The following list is offered as a suggestion of some suitable projects but it is in no way complete and students should be actively encouraged to investigate.

  • Booking systems e.g. Doctor’s/Dentist’s/Hospital appointments, Leisure centre facilities, beauty salons etc.

  • Seat reservation systems for theatres, cinemas, concerts etc.

  • Control systems e.g. greenhouses, air conditioning, lifts, traffic lights etc.

  • Management of events e.g. School sports day and timetabling,

  • School revision programs e.g. a mathematics revision system based around the ‘Pacman’ game

  • Simulations of the physical world e.g. projectile motion and population modelling

  • Utilities e.g. encrypting and decrypting messages using a range of cryptographic techniques

Centres should be reminded that the project should be the student’s own work and so joint projects should not be allowed.

Projects can be executed in a variety of different ways including websites, phone applications and desktop applications. Where possible students should be allowed to choose and justify the most suitable solution for the problem that they are tackling. It is understandable that in some situations teachers may not feel comfortable supporting certain types of project.

Projects should not involve the use of a database management system (DBMS) on its own, as such systems offer a wide range of software wizards to create tables, forms, queries and code, making assessment of student understanding difficult. It is perfectly acceptable to use DBMSs to build databases that feed into other student programming solutions such as websites and applications.

  1. Complexity

With such a variety of projects and matching solutions, it is important to give students a project that will stretch and demonstrate their skills. Judging the complexity of a project is not a straight forward task and if you are in doubt you should consult CIE for guidance. The following is a set of rough guidelines:

  • Options and Big O Notation - If a problem has only one set solution then this is normally not considered to be a complex problem. Ideally students should be trying to write efficient algorithms to help solve their client's problems. If a task allows for a variety of algorithms each of differing efficiency then this suggests that they are tackling a complex problem. They can then be judged on the efficiency of their solution, amongst other things.

  • Data volumes - If a solution can handle large amounts of data at once this suggests a complex solution. This might be the difference between a single user revision game and a revision game collecting and comparing the results from dozens of users. Or, this might be the difference between a scientific analysis tool collecting and processing information from multiple sensors as opposed to one.

  • Additional languages - Some languages may be considered more complex to use than others. For example if a student creates the same project in Lisp or C++, then the final project may be considered of a higher complexity to one created in VB.NET.

  • A project may cover several areas, matching different complexity levels in each area. Projects aren't expected to be judged complex in each category and some complex projects may only cover one area. A holistic judgement should be applied to each project.

Complexity can be judged 1 to 4, with 4 being the most complex project. The following table illustrates different levels of complexity.

Project Areas

Databases

Data Structures

Files

Websites

Algorithms

1

Single table

SELECT

Queries

Correct datatypes

Flat File, simple structures

Static Webpages with CSS

Non-modular code

limited amount of code

2

Multi-table

INSERT,

UDATE and DELETE

Structures and custom made records

Complex flat file structures

Server and or client side scripting

Use of functions and procedures

3

Complex queries involving joins

OOP

Reading from XML, JSON

Server side databases

Modular code. Simple AI. Reused algorithms from course such as bubble sort or binary search

4

DDL to CREATE, ALTER and DROP

Polymorphism Multiple level inheritance

Writing and updating XML, JSON

AJAX

Recursion, Tree traversal, Tree balancing, Dijkstra’s algorithm

Big O notation complexity considered. Physics and chemistry simulations