Indicative Content
This module will cover the following topics:
Introduction to Object based and Event Driven Programming
Introduction to Integrated Development Environments for supporting application development
Fundamentals of Object based programming techniques including classes, attributes, methods and introducing implementing class relationships such as inheritance, and association and aggregation
Introduction to designing OO applications using key elements of the Unified Modelling Language such as class diagrams, object diagrams and sequence diagrams
Additional Assessment Details
Practical Assessment - A Portfolio based coursework assessed by an in-class test will be used. Students will complete practical exercises and receive formative feedback throughout the module. Summative assessment will be through a class-test where they answer questions on their portfolio related to theory learned and its practical application (Learning Outcomes 1 to 3).
Learning Strategies
Lectures will present new concepts and theory to students. The tutorial sessions will provide opportunity for practical application of these concepts with support by the tutor. The tutorial sessions are key as they will provide an exploration of the theory and apply this in a practical way. Students will gain from these sessions as they will also be specifically used to provide formative feedback on the development of the assessment.
Learning Outcomes
1. Develop a problem-based strategy for creating and applying programmed solutions using an object oriented paradigm
Problem Solving
2. Use an object oriented development environment in the development, testing and debugging of an object oriented application – Java or C#
Application
3. Understand object and event driven approaches to software development
Enquiry, Learning
Resources
Microsoft Visio, or other UML diagramming software that can save diagrams as PDF
Java SE Developer Kit, or a suitable environment for C#
A Java IDE, such as NetBeans or similar for C#
Texts
These are indicative only. Texts are updated on an annual basis and when you start to study this module, you will be referred to an online reading list, currently provided through Keylinks. You are advised not to buy any textbooks for this module without checking the online reading list.
Sharp, J. (2022) Microsoft Visual C# Step by Step (Developer Reference), Microsoft Press; 10th edition
Price, M, J. (2022) C# 11 and .NET 7 – Modern Cross-Platform Development Fundamentals: Start building websites and services with ASP.NET Core 7, Blazor, and EF Core 7, 7th Edition, Packt Publishing; 7th edition
Albahari, J. (2022) C# 10 in a Nutshell: The Definitive Reference, O’Reilly Publications
Sierra, K. (2022) Head First Java, 3rd Edition: A Brain-Friendly Guide, O'Reilly Media; 3rd edition
Chan, J. (2022) Java: Learn Java in One Day and Learn It Well. Java for Beginners with Hands-on Project. (Learn Coding Fast with Hands-On Project), Independently published
Taher, R. (2019) Hands-on object-oriented programming with C#¿: build maintainable software with reusable code using C#. 1st edition. Birmingham¿;: Packt Publishing Ltd.
Horstmann, C. (2019) Core Java Volume 1 Fundamentals. 11th edition. Pearson.
Sarcar, V. (2019) Interactive Object-Oriented Programming in Java: Learn and Test Your Programming Skills. Berkeley, CA: Apress L. P.
Web Descriptor
In this module, students will be able to learn about Object Oriented techniques using Java or C#. The lectures are used to present key topics and concepts with tutor assisted practical based learning via the practical sessions. Formative, self-directed exercises will be used to support the transfer of knowledge and understanding. Students will develop a portfolio of their practical work and be assessed via a class-test based on this. Students will also be encouraged to develop their intellectual, communicative and problem-solving skills throughout the module.