An extended essay (EE) in computer science provides students with an opportunity to investigate a particular aspect of computing and its implications for society and the world.

Within this context, they can research the latest developments and future possibilities in a rapidly changing subject that is continually breaking new barriers. There are many possible areas to be explored, each with a wealth of topics: advances in hardware and software development, comparison of the efficiency of algorithms designed to speed up data transmission or to encrypt data, network systems, computer control systems and so on.

Choice of topic
It is important that the chosen topic and its treatment reflect a firm emphasis on computing science and explores beneath the surface of this subject.

It is also important that the work goes beyond a summary of journalistic views on a particular topic. It is not sufficient for the student simply to describe new advances and developments in computing. Students are expected to analyse their findings and consider the implications.

Often, the ethical and social effects of the topic chosen will be important and may well have a part within the essay, for example in the conclusion. However, an essay that makes these considerations a major focus is not appropriate and would be better submitted as an information technology in a global society (ITGS) essay.

An in-depth analysis of trends and advances in computing should include aspects of the theory of computer science, which would necessarily demonstrate a high degree of technical knowledge and understanding.

Data for analysis may be generated from a program written by the student. This is often an appropriate method of investigation, but the code itself, and its development, will not be rewarded under the assessment criteria unless the specific techniques employed are of particular relevance to the research question.

The EE is not in any way to be confused with the computer science project that is completed as the internal assessment component for the computer science course. If the data analysed is not directly related to computer science, the EE should be registered in another, more relevant, subject.

The chosen topic may be inspired by a magazine article, an internet site, one of the case studies published in connection with computer science HL paper 3 examinations, a conversation or simply an idea that could fall into one of the following areas of interest:
  • aspects of the current computer science syllabus that are taken to a far greater depth than that provided in the course
  • current aspects of computing that are set to change or be challenged in the near future
  • future developments that are currently experimental but beginning to look possible
  • solutions to limitations that are evident in current hardware or software
  • comparisons between different computer systems that are actually in place.
The topic chosen should allow the student to make a full appropriate analysis, putting forward his or her own point of view.

Historical aspects of computing do not lend themselves to this treatment.

However, there may sometimes be a place for summarizing developments that have occurred until now, to put the topic in perspective or to use as a basis for predicting the future.

Availability of resources should be a consideration when deciding on a topic. The student should not choose to investigate a complex computing topic for which they have little or no access to appropriate background material or resources.

Examples of topics
These examples are just for guidance. Students must ensure their choice of topic is focused (left-hand column) rather than broad (right-hand column).

Focus Topic Broad Topic
A comparison of overclocking and pipelining in terms of efficiency in enhancing the performance of CMOS processors Factors that affect processor speeds
Advances in processing power that question the need for complicated sorting algorithms The future of sorting algorithms
Assessing the level of data compression in music files that is acceptable to the human ear Data compression techniques
An evaluation of secure sockets layer (SSL) protocol Internet security

It may help for the student to start with a broad topic or area of interest, then undertake some initial secondary research before refining their topic into a more focused area and developing a preliminary research question. Additionally, adding a statement of intent that indicates which broad process is going to be used in answering the question will help to ensure students remain focused on their research question.

Treatment of the topic

An EE in computer science is not intended as a vehicle to demonstrate programming skills. These are demonstrated in the computer science project (the internal assessment requirement of the computer science course).

The EE is an opportunity for students to be creative in a different sphere—that of independent, personal research. While an EE may refer to a programming exercise, such as a compiler for a new language designed by the student, the emphasis in such a case should be on the design, development and analysis of the compiler and on language design. Some evaluation of the compiler in relation to those already existing is also expected.

Although program fragments may be included in the body of the EE to support the design and the discussion, the full program code (including internal documentation) should appear in an appendix as evidence.

Futuristic topics in computer science should be based on sound theory and projections of well-known computer science authorities.

Students are expected to support personal conclusions with the theories presented. This is an area where students need to be particularly careful that the analysis they apply to information gathered is their own independent analysis and that the information they use is from reliable sources.

Students are likely to turn to the internet for sources of information. When doing so, they need to verify the reliability of sources and also ensure that they are not relying too heavily on these sources to collate, rather than analyse, information.

Students are expected to both critically evaluate the resources consulted during the process of writing the essay and to expand on the material gathered from these sources in order to make any technical information understandable to a reader who might not be a specialist in the subject.

Frequent reference to the assessment criteria by both the supervisor and the student will help keep a sharper focus on the project.

Examples of topics, research questions and suggested approaches

Once students have identified their topic and written their research question, they can decide how to research their answer. They may find it helpful to write a statement outlining their broad approach. These examples are for guidance only.

Topic Advances in machine learning: the effectiveness of reinforcement learning in turn-based strategy games
Reasearch Question How effective is reinforcement learning for improving performance in turn-based strategy games?
Approach A practical investigation involving the comparison of the success of different algorithms in the playing of the Connect-4 game.
&Topic The feasibility of wireless networking in a city-wide context
Reasearch Question To what extent is wireless networking a feasible alternative to cabled networking within a whole-city context?
Approach A feasibility study of the hardware and communications needed to set up a city-wide network in wireless and cabled systems.
Topic Advances in computer processing
Reasearch Question How likely is it that fuzzy logic will replace binary logic in the next five years?
Approach An investigation into the current state of implementation of multi-state logic and the differences between this and binary state logic.