CSC8001 : Programming and Data Structures

Semester 1 Credit Value: 20
ECTS Credits: 10.0


To provide a grounding in object-oriented design and implementation, programming environments, and the Java programming language.

Outline Of Syllabus

Programs, programming, programming environments (BlueJ).
Java Programming language: comments; types; variable declarations; arithmetic and boolean expressions; assignment.
Control-flow abstractions: 'if', 'while', 'do', 'switch' and 'for' statements; input and output.
Data structures: arrays, array lists; stacks and queues, dynamic memory allocation.
Simple algorithms: searching, sorting.
Objects; inheritance; applications.

Teaching Methods

Teaching Activities
Category Activity Number Length Student Hours Comment
Guided Independent StudyAssessment preparation and completion500:3025:00Revision for end of Semester exam & exam duration
Guided Independent StudyAssessment preparation and completion222:0044:00Lecture follow-up
Scheduled Learning And Teaching ActivitiesLecture222:0044:00Lectures
Scheduled Learning And Teaching ActivitiesPractical112:0022:00Practicals
Guided Independent StudyProject work112:0022:00Coursework
Guided Independent StudyIndependent study431:0043:00Background reading
Teaching Rationale And Relationship

Lectures will be used to introduce the learning material and for demonstrating the key concepts by example. Students are expected to follow-up lectures within a few days by re-reading and annotating lecture notes to aid deep learning.

This is a very practical subject, and it is important that the learning materials are supported by hands-on opportunities provided by practical classes. Students are expected to spend time on coursework outside timetabled practical classes.

Students aiming for 1st class marks are expected to widen their knowledge beyond the content of lecture notes through background reading.

Students should set aside sufficient time to revise for the end of semester exam.

Assessment Methods

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

Description Length Semester When Set Percentage Comment
PC Examination1801A70N/A
Other Assessment
Description Semester When Set Percentage Comment
Practical/lab report1M30Programming coursework (44 hours)
Assessment Rationale And Relationship

Exam: Part A tests knowledge and understanding of language primitives; Part B requires the students to demonstrate their programming skills in the context of simple applications.
Coursework: Practice in writing programs is the most effective way for students to learn to program. For that reason, the coursework component of the module contributes 30% of the total assessment.

Study abroad students may request to take their exam before the semester 1 exam period, in which case the length of the exam may differ from that shown in the MOF.

N.B. This module has both “Exam Assessment” and “Other Assessment” (e.g. coursework). If the total mark for either assessment falls below 40%, the maximum mark returned for the module will normally be 40%.

Reading Lists