Registry
Module Specifications
Current Academic Year 2012 - 2013
Please note that this information is subject to change.
| |||||||||||||||||||||||||||||||||||||||||
| Description | |||||||||||||||||||||||||||||||||||||||||
|
Object-oriented Programming is a software methodology that is vital in the engineering workplace. This module will allow students to gain further experience in advanced aspects of object-oriented programming through implementation of design concepts in both the C++ and Java programming languages. It will examine the languages from the bottom-up and top-down, and will introduce data structures and algorithms that are necessary in the design of engineering systems. | |||||||||||||||||||||||||||||||||||||||||
| Learning Outcomes | |||||||||||||||||||||||||||||||||||||||||
|
1. Analyse unseen real-world software systems challenges and develop structured solutions, involving the design of object-oriented classes and class hierarchies using formal object-oriented analysis and design models 2. Implement such solutions in the C++ and Java programming languages with attention to future design needs and robust operation 3. Design solutions that abstract data type through the use of approaches such as STL and generics 4. Apply low-level and high-level software algorithms in the design of engineering systems 5. Explain the differences between and uses of different object-oriented languages; choose a correct implementation language for the engineering problem 6. Discuss methodologies for applying object-oriented concepts to develop solutions for real-world software implementation challenges; choose the correct methodology for a given problem 7. Design a software application for test and reliability 8. Develop threaded network applications from first principles that use object-oriented concepts to communicate packaged data over TCP/IP; Solve the synchronization issues associated with network computing and design network computing frameworks and solutions | |||||||||||||||||||||||||||||||||||||||||
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 | |||||||||||||||||||||||||||||||||||||||||
|
Brief re-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. It will quickly refresh the differences and similarities between C++ and Java related to the object-oriented paradigm.. Advanced programming. Correct usage of advanced control structures and programming concepts such as exceptions, interfaces, dynamic binding, multiple inheritance, garbage collection (Java and C++). Time will be spent on low-level data structures and algorithms in C++ to ensure that students can make the connection between embedded systems skills and high-level programming skills.. Generic Programming. Discussion on C++ STL and Generics in Java. Examine STL containers, iterators, algorithms and functors, and apply them to some software data structure problems (e.g. recursive tree traversal). Operator overloading. Combining Generics and Templates. Algorithms and the design of algorithms when working with C++ data structures will be covered in detail.. Software Design Methodologies. Discuss methodologies for applying object-oriented concepts to develop solutions for real-world software implementation challenges. Examine object-oriented design methodologies in detail – in particular a detailed discussion on Agile Processes (including Extreme Programming (XP)).. Design for Test. Discuss software testing models, testing methods and associated tools. Examine practical software testing tools such as log4j, unit testing etc.. Java Network Programming. Develop network client applications that communicate to any server. Extend this work by designing servers that use network sockets to serve data to clients. Develop network computing frameworks. Ensure that these frameworks are capable of handling large volumes of requests simultaneously. Deal with the synchronization issues that arise. Students must develop a large-scale client-server application that is designed using discussed software development methodologies, generic programming concepts and correct testing.. | |||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||
| Indicative Reading List | |||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||
| Other Resources | |||||||||||||||||||||||||||||||||||||||||
| None | |||||||||||||||||||||||||||||||||||||||||
| Array | |||||||||||||||||||||||||||||||||||||||||
| Programme or List of Programmes | |||||||||||||||||||||||||||||||||||||||||
| BSSA | Study Abroad (DCU Business School) | ||||||||||||||||||||||||||||||||||||||||
| BSSAO | Study Abroad (DCU Business School) | ||||||||||||||||||||||||||||||||||||||||
| DME | B.Eng. in Digital Media Engineering | ||||||||||||||||||||||||||||||||||||||||
| ECSA | Study Abroad (Engineering & Computing) | ||||||||||||||||||||||||||||||||||||||||
| ECSAO | Study Abroad (Engineering & Computing) | ||||||||||||||||||||||||||||||||||||||||
| EEV | M.Eng. in Electronic Engineering | ||||||||||||||||||||||||||||||||||||||||
| HMSA | Study Abroad (Humanities & Soc Science) | ||||||||||||||||||||||||||||||||||||||||
| HMSAO | Study Abroad (Humanities & Soc Science) | ||||||||||||||||||||||||||||||||||||||||
| ICE | BEng Info and Communications Engineering | ||||||||||||||||||||||||||||||||||||||||
| IFPTE | PG Int. Foundation Prog.: Telecomm.Eng | ||||||||||||||||||||||||||||||||||||||||
| MEN | MEng in Electronic Systems | ||||||||||||||||||||||||||||||||||||||||
| MEQ | Masters Engineering Qualifier Course | ||||||||||||||||||||||||||||||||||||||||
| MTC | MEng in Telecommunications Engineering | ||||||||||||||||||||||||||||||||||||||||
| SHSA | Study Abroad (Science & Health) | ||||||||||||||||||||||||||||||||||||||||
| SHSAO | Study Abroad (Science & Health) | ||||||||||||||||||||||||||||||||||||||||
| SMPEC | Single Module Programme (Eng & Comp) | ||||||||||||||||||||||||||||||||||||||||
| Timetable this semester: Timetable for EE402 | |||||||||||||||||||||||||||||||||||||||||
| Date of Last Revision | 11-NOV-10 | ||||||||||||||||||||||||||||||||||||||||
| Archives: |
| ||||||||||||||||||||||||||||||||||||||||









