Skip to main content

Module

CSC8023 : Programming and Data Structures

  • Offered for Year: 2024/25
  • Module Leader(s): Dr Dan Nesbitt
  • Lecturer: Dr Konrad Dabrowski
  • Teaching Assistant: Mrs Menna Khedr
  • Owning School: Computing
  • Teaching Location: Newcastle City Campus
Semesters

Your programme is made up of credits, the total differs on programme to programme.

Semester 1 Credit Value: 20
ECTS Credits: 10.0
European Credit Transfer System

Aims

To provide an introduction to object-oriented design and implementation, software development environments, introduce the concepts of inheritance, exception handling and a selection of algorithms for the Java programming language.

Outline Of Syllabus

• Programs, programming, programming environments.
• Introduction to tooling for version control.
• The Java Programming Language Architecture: JVM, JRE, and JDK.
• Java Programming language fundamentals: types, variables, arithmetic expression, Boolean conditions,
• Objects and methods.
• Data Structures: Arrays, Array Lists, Maps, and Sets
• Control-flow abstractions: 'if', 'while', 'do', 'switch' and 'for' statements; input and output.
• Advanced object-oriented programming concepts: inheritance and polymorphism.
• Exceptions and exception handling in Java.
• Generic classes and methods.
• Simple algorithms: searching, sorting.
• Data structures: stacks and queues and their applications

Teaching Methods

Teaching Activities
Category Activity Number Length Student Hours Comment
Scheduled Learning And Teaching ActivitiesLecture381:0038:00Lectures
Structured Guided LearningLecture materials161:0016:00Tutorial (online or in person)
Guided Independent StudyAssessment preparation and completion171:0017:00Revision for end of semester exam and exam duration
Guided Independent StudyAssessment preparation and completion140:0040:00Background reading
Scheduled Learning And Teaching ActivitiesPractical351:0035:00Practical
Guided Independent StudyProject work140:0040:00For Practical/lab report 1 and. Summative Assessment (Quiz).
Scheduled Learning And Teaching ActivitiesScheduled on-line contact time141:0014:00Online tutorials
Total200:00
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 distinction 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

Exams
Description Length Semester When Set Percentage Comment
Digital Examination1201A50Digital based examination with short coding questions
Other Assessment
Description Semester When Set Percentage Comment
Practical/lab report1M50Programming coursework (20 hrs)
Formative Assessments

Formative Assessment is an assessment which develops your skills in being assessed, allows for you to receive feedback, and prepares you for being assessed. However, it does not count to your final mark.

Description Semester When Set Comment
Prob solv exercises1MProgramming quiz
Assessment Rationale And Relationship

Practice in writing programs and using development tools is the most effective way for students to learn software development. The coursework provides further practice in writing programs and using development.

Reading Lists

Timetable