DCU Home | Our Courses | Loop | Registry | Library | Search DCU

Registry

Module Specifications

Archived Version 2022 - 2023

Module Title Object Oriented Programming I
Module Code EE219
School School of Electronic Engineering

Online Module Resources

Module Co-ordinatorDr Derek MolloyOffice NumberS356
NFQ level 8 Credit Rating 5
Pre-requisite None
Co-requisite None
Compatibles None
Incompatibles None
Description

This module will equip students with a good working knowledge of object-oriented programming in both the C++ and Java programming languages. The module builds on the C programming language skills from first year. By using two different languages students will achieve a good theoretical grounding in general object-oriented programming languages. Students apply their skills through challenging practical assignments.

Learning Outcomes

1. analyse real-world software systems challenges and develop structured solutions, involving the design of object-oriented classes and class hierarchies
2. implement such solutions in the C++ and Java programming languages with attention to future design needs
3. explain the differences and advantages/disadvantages of both the C++ and Java programming languages
4. use the Java API documentation to develop basic applications using functionality that was not formally taught
5. implement Java event-driven windowing user-interfaces using the standard component sets



Workload Full-time hours per semester
Type Hours Description
Lecture24OOP Lectures
Tutorial12OOP Tutorial
Independent Study65Revision of learning materials
Assignment Completion24Weekly homeworks
Total Workload: 125

All module information is indicative and subject to change. For further information,students are advised to refer to the University's Marks and Standards and Programme Specific Regulations at: http://www.dcu.ie/registry/examinations/index.shtml

Indicative Content and Learning Activities

Introduction to object-oriented programming
Discuss the concept of objects and classes in object-oriented programming languages. Discuss other concepts such as encapsulation, inheritance, polymorphism.

Analysis and Design
Briefly discuss methodologies for applying object-oriented concepts to develop solutions for real-world software implementation challenges.

The 'C' of 'C++'
Quickly summarise the 'C' of 'C++' including a discussion on pointers, typecasting, scope and namespaces.

'C' with Classes
Discuss the OOP extension to the 'C' programming language, including a discussion on constructors, destructors, abstract classes and static states. Develop command line C++ applications.

Introduction to Java
Use the knowledge of the C++ language to quickly introduce the Java programming language. Discuss new concepts, the Java life-cycle and the API documentation.

C++ Versus Java
Discuss the differences and similarities between the two languages, including a discussion on memory management, access specifiers, virtual methods, exceptions, multiple inheritance etc.

Java Applications
Introduce event driven software applications through the use of Java GUI applications.

Java User Interfaces
Introduce Java Graphical User Interfaces demonstrating the different components of the AWT library.

Assessment Breakdown
Continuous Assessment25% Examination Weight75%
Course Work Breakdown
TypeDescription% of totalAssessment Date
Reassessment Requirement
Resit arrangements are explained by the following categories;
1 = A resit is available for all components of the module
2 = No resit is available for 100% continuous assessment module
3 = No resit is available for the continuous assessment component
Unavailable
Indicative Reading List

  • Conor McArdle: 2022, EE219 Course Notes and Code Examples, DCU, DCU,
  • Deitel and Deitel: 2011, Java How to Program (International Ed.), 9, Pearson Education, 0273759760
  • Paul Deitel, Harvey Deitel.: 2011, C++ how to program, 6, Pearson Education, 0273752766
  • Barnes & Kolling: 2009, Objects First with Java, 4, Pearson International, 0137005628
Other Resources

None
Programme or List of Programmes
ECEBEng Electronic & Computer Engineering
ECSAStudy Abroad (Engineering & Computing)
ECSAOStudy Abroad (Engineering & Computing)
MEB.Eng. in Mechatronic Engineering
Archives: