CSC8023 : Programming and Data Structures
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 | |
Pre-requisite
Modules you must have done previously to study this module
Pre Requisite Comment
N/A
Co-Requisite
Modules you need to take at the same time
Co Requisite Comment
N/A
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
Learning Outcomes
Intended Knowledge Outcomes
To be able to read and explain simple examples of software code written in an object-oriented programming language.
To be able to describe and discuss some common data structures and their use.
To be able to discuss selected searching and sorting algorithms and their performance.
Intended Skill Outcomes
The ability to use a modern software development environment.
The ability to design, implement, test and debug object-oriented programs.
The ability to improve the structure of Java applications using inheritance and polymorphism.
The ability to reason about algorithms’ performance.
Teaching Methods
Teaching Activities
Category | Activity | Number | Length | Student Hours | Comment |
---|---|---|---|---|---|
Guided Independent Study | Assessment preparation and completion | 1 | 40:00 | 40:00 | Background reading |
Scheduled Learning And Teaching Activities | Lecture | 38 | 1:00 | 38:00 | Lectures |
Structured Guided Learning | Lecture materials | 16 | 1:00 | 16:00 | Tutorial (online or in person) |
Guided Independent Study | Assessment preparation and completion | 17 | 1:00 | 17:00 | Revision for end of semester exam and exam duration |
Scheduled Learning And Teaching Activities | Practical | 35 | 1:00 | 35:00 | Practical |
Guided Independent Study | Project work | 1 | 40:00 | 40:00 | For Practical/lab report 1 and. Summative Assessment (Quiz). |
Scheduled Learning And Teaching Activities | Scheduled on-line contact time | 14 | 1:00 | 14:00 | Online tutorials |
Total | 200: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.
Reading Lists
Assessment Methods
The format of resits will be determined by the Board of Examiners
Exams
Description | Length | Semester | When Set | Percentage | Comment |
---|---|---|---|---|---|
Digital Examination | 120 | 1 | M | 50 | Digital based examination with short coding questions |
Other Assessment
Description | Semester | When Set | Percentage | Comment |
---|---|---|---|---|
Practical/lab report | 1 | M | 50 | Programming 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 exercises | 1 | M | Programming 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.
Timetable
- Timetable Website: www.ncl.ac.uk/timetable/
- CSC8023's Timetable
Past Exam Papers
- Exam Papers Online : www.ncl.ac.uk/exam.papers/
- CSC8023's past Exam Papers
General Notes
N/A
Welcome to Newcastle University Module Catalogue
This is where you will be able to find all key information about modules on your programme of study. It will help you make an informed decision on the options available to you within your programme.
You may have some queries about the modules available to you. Your school office will be able to signpost you to someone who will support you with any queries.
Disclaimer
The information contained within the Module Catalogue relates to the 2024 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 2025/26 entry will be published here in early-April 2025. Queries about information in the Module Catalogue should in the first instance be addressed to your School Office.