Course Title: Big Data Processing
Part A: Course Overview
Course Title: Big Data Processing
Credit Points: 12.00
Terms
Course Code |
Campus |
Career |
School |
Learning Mode |
Teaching Period(s) |
COSC2637 |
City Campus |
Postgraduate |
140H Computer Science & Information Technology |
Face-to-Face |
Sem 2 2015, Sem 2 2016 |
COSC2637 |
City Campus |
Postgraduate |
171H School of Science |
Face-to-Face |
Sem 2 2018, Sem 2 2019, Sem 2 2020, Sem 2 2021 |
COSC2637 |
City Campus |
Postgraduate |
175H Computing Technologies |
Face-to-Face |
Sem 2 2022 |
Course Coordinator: Dr Ke Deng
Course Coordinator Phone: +61 3 9925 3202
Course Coordinator Email: ke.deng@rmit.edu.au
Course Coordinator Location: 14.9.12
Course Coordinator Availability: By appointment, by email
Pre-requisite Courses and Assumed Knowledge and Capabilities
Enforced Prerequisites:
COSC1295 Advanced Programming
AND
ISYS1055 Database Concepts
Note: it is a condition of enrolment at RMIT that you accept responsibility for ensuring that you have completed the prerequisite/s and agree to concurrently enrol in co-requisite courses before enrolling in a course.
For your information go to RMIT Course Requisites webpage.
Course Description
This course builds on your database and programming skills. It aims to give you an in-depth understanding of a wide range of fundamental algorithms and processing platforms used in big data management.
The course covers Big Data Fundamentals, including the characteristics of Big Data, the sources Big Data (such as social media, sensor data, and geospatial data), as well as the challenges imposed around information management, data analytics, as well as platforms and architectures. Emphasis will be given to non-relational databases by examining techniques for storing and processing large volumes of structured and unstructured data, streaming data as well as complex analytics on them. Cloud computing and data centres will also be presented as a solution to handling big data and business intelligence applications.
The course aims to keep a balance between algorithmic and systematic issues. The algorithms discussed in this course involve methods of organising big data for efficient complex computation. In addition, we consider Big Data platforms (such as Hadoop) to present practical applications of the algorithms covered in the course.
Objectives/Learning Outcomes/Capability Development
Program Learning Outcomes
This course is a specialisation course that contributes to the following Program Learning Outcomes (PLOs) for MC267 Master of Data Science and MC208 Master of Information Technology:
Critical Analysis:
You will learn to accurately and objectively examine, and critically investigate computer science and information technology (IT) concepts, evidence, theories or situations, in particular to:
-- analyse and model complex requirements and constraints for the purpose of designing and implementing software artefacts and IT systems
-- evaluate and compare designs of software artefacts and IT systems on the basis of organisational and user requirements.
Problem Solving:
Your capability to analyse complex problems and synthesise suitable solutions will be extended as you learn to: design and implement software solutions that accommodate specified requirements and constraints, based on analysis or modelling or requirements specification.
Communication:
You will learn to communicate effectively with a variety of audiences through a range of modes and media to: interpret abstract theoretical propositions, choose methodologies, justify conclusions and defend professional decisions to both IT and non-IT personnel via technical reports of professional standard and technical presentations.
Course Learning Outcomes
Upon successful completion of this course, you should have gained an understanding of Big Data concepts, including cloud and big data architectures, an overview of Big Data analytics, implementation of Big Data platforms, and be able to apply these concepts using an industry standard non-relational database environment.
The key course learning outcomes are:
- Model and implement efficient big data solutions for various application areas using appropriately selected algorithms and data structures.
- Analyse methods and algorithms, to compare and evaluate them with respect to time and space requirements and make appropriate design choices when solving real-world problems.
- Motivate and explain trade-offs in big data processing technique design and analysis in written and oral form.
- Explain the Big Data Fundamentals, including the evolution of Big Data, the characteristics of Big Data and the challenges introduced.
- Apply non-relational databases, the techniques for storing and processing large volumes of structured and unstructured data, as well as streaming data.
- Apply the novel architectures and platforms introduced for Big data, i.e., Hadoop, MapReduce, and Spark.
Overview of Learning Activities
The learning activities included in this course are:
- Key concepts will be explained in pre-recorded lecture videos and lectorials, face-to-face or online, where syllabus material will be presented, and the subject matter will be illustrated with demonstrations and examples;
- Lectorial and practical classes with group discussions (including online forums) focused on projects and problem solving will provide practice in the application of theory and procedures, allow exploration of concepts with teaching staff and other students, and give feedback on your progress and understanding;
- Assignments, as described in Overview of Assessment (below), requiring an integrated understanding of the subject matter;
- Private study, working through the course as presented in classes and learning materials, and gaining practice at solving conceptual and technical problems.
Overview of Learning Resources
The course is supported by the Canvas learning management system which provides specific learning resources. See also the RMIT Library Guide at http://rmit.libguides.com/compsci
You will make use of computer laboratories and relevant software provided by the School. You will be able to access course information and learning materials through myRMIT and may be provided with copies of additional materials in class or via email. Lists of relevant reference texts, resources in the library and freely accessible Internet sites will be provided.
Overview of Assessment
Overview of Assessment
The assessment for this course comprises four assignments.
Note: This course has no hurdle requirements.
Assessment Tasks
Assessment Task 1: MapReduce Preliminary Program
This assignment helps students to build up the understanding on fundamental MapReduce program principles.
Weighting 25%
This assessment task supports CLOs 1-4 and 6.
Assessment Task 2: MapReduce Advanced Program
This assignment is featured by (i) MapReduce program development which involves complex processing skills and (ii) the performance analysis where different computing resources are given.
Weighting 25%
This assessment task supports CLOs 1-4 and 6.
Assessment Task 3: MapReduce Problem Solving
This assignment develops the ability of students to apply the MapReduce program skills learned in this course to solve a complex big data processing problem.
Weighting 25%
This assessment task supports CLOs 1-4 and 6.
Assessment Task 4: Spark Program
This assignment gives students the chance to understand the Spark program principles and to develop program skills to achieve efficient big data processing.
Weighting 25%
This assessment task supports CLOs 1, 2, 4, 5, 6