Complexity

Information for the Subject Specialist

The following checklist is to be used as a guide when deciding if the project information submitted by the student will provide the opportunity to gain the maximum marks possible.

 

Examine each category and indicate “No” where the student has not provided the right information or the project is deemed not to be complex enough. This can then be used to feedback specific information back to the student.

 

At the end of this document there is a template that could be used as a checklist for a class of students.

Guidance Checklist

 

Checklist Item Yes / No
Has the student identified a client to work with?  
Is the client able to be involved in all stages of the development cycle?  
Has the student provided a brief description of the activity of the client and the client organisation?  
Has the student provided a brief description of the area of the organisation that has a problem?  
Has the student provided a brief description of the computerised solution to the problem?  
Is the client unique to the student?  
Is the overall complexity of the project sufficient to enable the student to gain the maximum marks possible?  

 

In estimating the complexities of the project, please refer to section taken from the G12 Coursework Guidelines below:

Complexity

 

With such a variety of projects and matching solutions, it is important to give learners 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 NIS 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, learners 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 learner 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.

 

If complexity was judged on a scale of 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
Single table SELECT Queries Correct data types Flat File, simple structures Static Webpages with CSS Non-modular code limited amount of code
Multi-table INSERT, UPDATE and DELETE Structures and custom made records Complex flat file structures Server and or client side scripting Use of functions and procedures
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
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

Complexity examples: