Module aim:
Students taking this module will acquire the computer programming skills necessary to analyse and manipulate big data. Big data in this context refers to datasets that are too large to be handled by the software tools commonly used to analyse and manipulate data within a tolerable elapsed time. The algorithms and challenges for processing large datasets form a core part of this course, such that the student will be able to select the appropriate algorithms, tools or methods for big data problems in addition to being able to implement and evaluate solutions using a variety of programming techniques and tools. Students are not expected to have advanced programming skills in order to take the module, but will need to have fundamental knowledge and skills in computer programming.
Module learning outcomes:
Having sucessfully completed this module the student will be able to- Clearly describe the characteristics of big data, and contrast the requirements for processing big data with conventionaldata.
- Identify and illustrate the challenges of programming for big data, and evaluate contrasting methods for addressing these challenges.
- Demonstrate a detailed understanding of the state of the art in Big Data algorithms and techniques.
- Select and evaluate the appropriate development tools for various big data programming problems.
- Demonstrate a detailed understanding of state of the art distributed programming paradigms for both data storage anddata analysis, and select the appropriate method for a given context.
- Implement solutions to various big data programming problems using a range of state of the art tools and techniques, andevaluate the effectiveness of these solutions.
- Present an informed view of the changing big data landscape and how programming for big data may change in thefuture, based on current literature and standards.
Indicative module assessment:
- Weekly exercises in Big Data Programming.
- A major project based assignment where students implement a Big Data solution and execute it on an appropriate platform (e.g. a cloud service, virtual cluster etc.).
- A technical review(s) in the state of the art of Big Data Analytics.
