Module ICE-1101:
Object Oriented Programming
Object Oriented Programming 2024-25
ICE-1101
2024-25
School of Computer Science & Engineering
Module - Semester 2
10 credits
Module Organiser:
Dave Perkins
Overview
Indicative content includes:
- Classes, objects and encapsulation; instance variables and method implementation; the public interface of a class; constructors and overloading; access and mutator methods; reference types; static variables and methods.
- Inheritance; superclasses and subclasses; overriding methods; polymorphism; interface types; abstract classes; final methods and classes; the class Object; generic type introduction and use.
- Use and implementation of various structures such as lists, sets, maps, stacks and queues; iterators; efficiency of data structures.
- Compile time vs. run time errors; error handling strategies; the exception mechanism; use of try, catch.
- Introduce UML diagrams; class relations; top-down and bottom-up design;.
- System testing; white-box and black-box testing; tester classes; use of debugging facilities in a modern IDE;
- Text and binary file formats; Java class hierarchy for handling IO; streams; sequential and random file access; object streams.
Assessment Strategy
-threshold -Equivalent to 40%.Uses key areas of theory or knowledge to meet the Learning Outcomes of the module. Is able to formulate an appropriate solution to accurately solve tasks and questions. Can identify individual aspects, but lacks an awareness of links between them and the wider contexts. Outputs can be understood, but lack structure and/or coherence.
-good -Equivalent to the range 60%-69%.Is able to analyse a task or problem to decide which aspects of theory and knowledge to apply. Solutions are of a workable quality, demonstrating understanding of underlying principles. Major themes can be linked appropriately but may not be able to extend this to individual aspects. Outputs are readily understood, with an appropriate structure but may lack sophistication.
-excellent -Equivalent to the range 70%+.Assemble critically evaluated, relevant areas of knowledge and theory to constuct professional-level solutions to tasks and questions presented. Is able to cross-link themes and aspects to draw considered conclusions. Presents outputs in a cohesive, accurate, and efficient manner.
Learning Outcomes
- Apply an object-oriented approach to the process of software construction.
- Make use of and/or develop inheritance hierarchies; implement interfaces; utilize facilities for generic programming.
- Test and debug software
- Understand and use simple search and sort algorithms
- Use a range of file handling techniques.
Assessment method
Exam (Centrally Scheduled)
Assessment type
Summative
Description
Class test x4
Weighting
20%
Due date
05/05/2023
Assessment method
Demonstration/Practice
Assessment type
Summative
Description
Laboratories
Weighting
50%
Due date
05/05/2023
Assessment method
Coursework
Assessment type
Summative
Description
Programming Project
Weighting
30%
Due date
05/05/2023