Module Catalogue 2019/20

CSC8622 : Programming for Big Data (Inactive)

  • Inactive for Year: 2019/20
  • Module Leader(s): Dr Matthew Forshaw
  • Other Staff: Dr Stephen Johnson
  • Owning School: Computing
  • Teaching Location: Newcastle City Campus
Semesters
Semester 1 Credit Value: 15
ECTS Credits: 8.0
Pre Requisites
Pre Requisite Comment

N/A

Co Requisites
Code Title
MAS8382Time Series Data
Co Requisite Comment

N/A

Aims

To gain an appreciation of the use of computational and algorithmic methods for the analysis of big data.

To gain experience in use of the Java and R programming languages.

To provide a grounding in object-oriented design and implementation.

To gain experience in the use of programming environments, shell scripting, version control systems, and build tools.

To gain experience in the design, implementation and use of database systems.

Outline Of Syllabus

Best practices for software development
-       Programming environments
-       Version Control systems
-       Build tools
-       Shell scripting
-       Regular expressions
-       Test-driven development

Java Programming:
-       :types; variable declarations; expressions; assignment.
-       control-flow abstractions; input and output; Data structures; dynamic memory allocation.
-       simple algorithms: searching, sorting.
-       object-oriented programming: methods, inheritance; applications.

R Programming:
-       the basic constructs of R programming
-       data analysis in R
-       R libraries
-       data visualisation in R


Databases:
-       introduction to databases,
-       relational database querying and interfacing.
-       schema design
-       introduction to non-relational databases

Learning Outcomes

Intended Knowledge Outcomes

N/A

Intended Skill Outcomes

Students will be able to understand the process of designing and implementing computer programs for data analysis, with specific knowledge of the R and Java languages.

They will understand the principles of object-orientation.

They will be able to understand some common data structures and their use for data analysis.

They will be able to understand the principles of database systems, including the design of databases, and how to query them.

The ability to use modern IDEs for programming.

The ability to design, implement, test and debug R and Java programs

The ability to design relational databases, and to query them.

Teaching Methods

Teaching Activities
Category Activity Number Length Student Hours Comment
Guided Independent StudyAssessment preparation and completion331:0033:00Lecture follow-up
Scheduled Learning And Teaching ActivitiesLecture331:0033:00N/A
Guided Independent StudyAssessment preparation and completion601:0060:00Practical/lab report exercises
Scheduled Learning And Teaching ActivitiesPractical241:0024:00N/A
Total150:00
Teaching Rationale And Relationship

Techniques and theory are presented in lectures. Supervised hands-on practical sessions provide experience of writing programs and using PCs with help available. Further practical work takes place during the private study hours

Reading Lists

Assessment Methods

The format of resits will be determined by the Board of Examiners

Other Assessment
Description Semester When Set Percentage Comment
Practical/lab report1A404 practical reports, equal weighting (max 300 words each). 2 practical reports emphasise use of programming language R & 2 for Java.
Practical/lab report1A30Programmatic code assignment using R (max 1,000 words)
Practical/lab report1A30Programmatic code assignment using Java (max 1,000 words)
Assessment Rationale And Relationship

Written assignments (approximately 4 pieces of work of approximately equal weight) followed by 2 larger pieces of project work allow the students to develop their problem solving techniques, to practise the methods learnt in the module, to assess their progress and to receive feedback; the smaller pieces of work are thus formative as well as summative assessment.

Timetable

Past Exam Papers

General Notes

N/A

Disclaimer: The information contained within the Module Catalogue relates to the 2019/20 academic year. In accordance with University Terms and Conditions, the University makes all reasonable efforts to deliver the modules as described. Modules may be amended on an annual basis to take account of changing staff expertise, developments in the discipline, the requirements of external bodies and partners, and student feedback. Module information for the 2020/21 entry will be published here in early-April 2019. Queries about information in the Module Catalogue should in the first instance be addressed to your School Office.