Object Oriented Programming
Rhedir gan School of Computer Science and Electronic Engineering
10.000 Credyd neu 5.000 Credyd ECTS
Trefnydd: Dr David Edward Perkins
To introduce the object-oriented approach to software design and implementation; to explore a range of advanced features of Java, such as the Java Collections Framework (JCF). Introduce basic algorithms and the use of the UML design language; To familiarise students with a variety of test strategies.
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 types and classes; generic programming techniques.
- 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.
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.
Equivalent to the range 70%+. Assemble critically evaluated, relevent 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.
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.
Apply an object-oriented approach to the process of software construction.
Use a range of advanced file handling techniques.
Understand and use simple search and sort algorithms
Make use of and/or develop inheritance hierarchies; implement interfaces; utilize facilities for generic programming.
Test and debug software
|PRAWF DOSBARTH||Class test x4||
A series of class tests over the semester (25 minutes each x 4)
A series of practice exercises building to assessments
|GWAITH CWRS||Programming Project||
A small project that consolidates the module outcomes
Strategaeth addysgu a dysgu
Traditional lecture (2hrs x 12 weeks)
Practical laboratories including exercises (2hrs x 12 weeks).
Tutor-directed private study including individual assessments and preparation.
- Rhifedd - Medrusrwydd wrth ddefnyddio rhifau ar lefelau priodol o gywirdeb
- Defnyddio cyfrifiaduron - Medrusrwydd wrth ddefnyddio ystod o feddalwedd cyfrifiadurol
- Hunanreolaeth - Gallu gweithio mewn ffordd effeithlon, prydlon a threfnus. Gallu edrych ar ganlyniadau tasgau a digwyddiadau, a barnu lefelau o ansawdd a phwysigrwydd
- Adalw gwybodaeth - Gallu mynd at wahanol ac amrywiol ffynonellau gwybodaeth
- Dadansoddi Beirniadol & Datrys Problem - Gallu dadelfennu a dadansoddi problemau neu sefyllfaoedd cymhleth. Gallu canfod atebion i broblemau drwy ddadansoddiadau ac archwilio posibiliadau
- Dadl - Gallu cyflwyno, trafod a chyfiawnhau barn neu lwybr gweithredu, naill ai gydag unigolyn neu mewn grwˆp ehangach
Sgiliau pwnc penodol
- Knowledge and understanding of facts, concepts, principles & theories
- Use of such knowledge in modelling and design
- Problem solving strategies
- Specify, design or construct computer-based systems
- Deploy tools effectively
- Development of general transferable skills
- Methods, techniques and tools for information modelling, management and security
- System Design
- Knowledge and/or understanding of appropriate scientific and engineering principles
- Knowledge and understanding of computational modelling
- Specify, deploy, verify and maintain computer-based systems
- Principles of appropriate supporting engineering and scientific disciplines
Cyrsiau sy’n cynnwys y modiwl hwn
Gorfodol mewn cyrsiau:
- G400: BSC Computer Science year 1 (BSC/CS)
- G40B: BSc Computer Science (4 year with Incorporated Foundation) year 1 (BSC/CS1)
- G40F: BSc Computer Science year 1 (BSC/CSF)
- I103: BSc Computer Science with Game Design year 1 (BSC/CSGD)
- I102: BSc Computer Science (with International Experience) year 1 (BSC/CSIE)
- H117: MComp Computer Science year 1 (MCOMP/CS)