Module Catalogue 2021/22

CSC1022 : Programming II (Inactive)

  • Inactive for Year: 2021/22
  • Module Leader(s): Dr Dan Nesbitt
  • Owning School: Computing
  • Teaching Location: Newcastle City Campus
Semester 2 Credit Value: 20
ECTS Credits: 10.0
Pre Requisites
Code Title
CSC1021Programming I
Pre Requisite Comment


Co Requisites
Co Requisite Comment



To give students a deeper understanding of OO design issues and data structure implementation and use.
To illustrate these ideas using examples taken from standard Java libraries.
To provide a deeper insight into fundamental programming concepts.

This module will cover a variety of abstractions and representations (e.g. lists, stacks, queues, trees) making use of the Java Collections framework (a sophisticated Java library). It will introduce event-driven programming, event handling in Java, GUI programming with AWT/Swing, case studies taken from Java libraries (e.g. java.util, javax.swing).

Outline Of Syllabus

Programming Fundamentals – problem solving
•       Debugging strategies
•       The concept and properties of algorithms
Programming Fundamentals – data structures
•       Runtime storage management
•       Linked structures
•       Implementation strategies for stacks, queues, and hash tables
•       Implementation strategies for trees
•       Strategies for choosing the right data structure
Programming fundamentals – recursion
•       The concept of recursion
•       Recursive mathematical functions
•       Simple recursive functions
•       Divide-and-conquer strategies
Programming fundamentals – event driven programming
•       Exception handling
Programming fundamentals – object oriented programming
•       Object-oriented design
•       Encapsulation and information-hiding
•       Separation of behaviour and implementation
•       Classes and subclasses
•       Inheritance (overriding, dynamic dispatch)
•       Polymorphism (subtype polymorphism vs. inheritance)
Programming Languages – declarations and types
•       The conception of types as a set of values with together with a set of operations
•       Declaration models (binding, visibility, scope, and lifetime)
•       Garbage collection
Programming Languages – abstraction mechanisms
•       Procedures, functions, and iterators as abstraction mechanisms
•       Type parameters and parameterized types
Programming Languages – object oriented programming
•       Object-oriented design
•       Encapsulation and information-hiding
•       Separation of behaviour and implementation
•       Classes and subclasses
•       Inheritance (overriding, dynamic dispatch)
•       Polymorphism (subtype polymorphism vs. inheritance)
•       Class hierarchies
•       Collection classes and iteration protocols

Learning Outcomes

Intended Knowledge Outcomes

To be able to describe & discuss:
- object-oriented design issues and data structures implementation and use, at an advanced level
- concurrent programming and event-driven programming
- fundamental programming concepts.

Intended Skill Outcomes

To be able to:
- analyse a problem specification,
- formulate a practical solution to a problem, making effective use of time and resources available and to evaluate that solution as being fit for purpose
- analyse problems and solutions and make judgements

Teaching Methods

Teaching Activities
Category Activity Number Length Student Hours Comment
Scheduled Learning And Teaching ActivitiesLecture441:0044:00Lectures
Guided Independent StudyAssessment preparation and completion441:0044:00Lecture follow-up
Guided Independent StudyAssessment preparation and completion440:3022:00Revision for end of semester exam
Scheduled Learning And Teaching ActivitiesPractical221:0022:00Practicals
Guided Independent StudyProject work221:0022:00Coursework
Guided Independent StudyIndependent study232:0046: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.

Reading Lists

Assessment Methods

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

Description Length Semester When Set Percentage Comment
PC Examination902A60Blackboard OLA - open book
Other Assessment
Description Semester When Set Percentage Comment
Prob solv exercises2M12About 10 weekly exercises (1 hour each)
Practical/lab report2M28Programming project (up to 30 hours)
Assessment Rationale And Relationship

The examination will consist of a number of "short-answer" questions to test the students' broad knowledge of programming and a section requiring the students to show greater depth of understanding of a number of key concepts introduced. The heavy weighting of coursework (40%) in this module reflects the importance of practical aspects of this module.

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


Past Exam Papers

General Notes


Disclaimer: The information contained within the Module Catalogue relates to the 2021/22 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 2022/23 entry will be published here in early-April 2022. Queries about information in the Module Catalogue should in the first instance be addressed to your School Office.