The module extends students' learning of the formal aspects of programming, including a comprehensive treatment of the object-oriented paradigm, selection and use of data structures, use of programming libraries and APIs, including graphical user interfaces. It also enables students to become acquainted with the important tools available for programmers, such as development environments, revision control systems and code profiling and optimization techniques.
On successful completion of the module, students will be able to:
Weekly lectures and workshops form the knowledge-base for this module. Materials are provided on the university's LMS each week to coincide with lectures and workshops. The concepts delivered in the lecture are based on and reinforced by the recommended reading, and put into practice by performing the workshop tasks. The use of professional tools, emulating industry, will aid with student employability.
Definitive UNISTATS Category | Indicative Description | Hours |
---|---|---|
Scheduled learning and teaching | Lectures, tutorials, workshops, case studies, exercises, discussion groups, and practice work. | 100 |
Guided independent study | Independent and directed reading. Online learning materials and study notes. | 200 |
Total (number of credits x 10) | 300 |
The assessment strategy will be a mix of exam (30%) and coursework (70%). There are two main elements of the coursework: The Fundamentals of Software Development element covering the fundamentals of software development (30%) with a focus on the implementation stage and its role within the software development life cycle, and Software Applications Development (40%) with a focus on libraries and aspects of Graphical User Interface (GUI).
In order to help students on this module achieve their full potential, formative assessment opportunities will be provided as appropriate throughout the module. Examples of formative assessments include worked exercises which emulate aspects of the major assessment and lab work. Feedback on coursework represents an additional opportunity for formative learning and will be given in writing and/or verbally. Formative feedback will be will be provided in various forms such as during short (10 - 15 minutes) feedback sessions. The formative feedback is designed to inform student preparation for the summative assessment which may be within the same module or feed forward across the degree programme.
The final examination is of 2 hours. Examination revision will be supported by an end of module revision lecture.
Learning Outcome | Assessment Strategy |
---|---|
1) Explain multi-paradigm programming and compare, using software quality factors, the different paradigms pre object orientation (procedural) paradigm, object oriented paradigm and beyond object oriented programming (component/service) paradigm. | Fundamentals of Software Development Coursework and Written Examination |
2) Apply an object-oriented methodology to make appropriate design decisions when creating and modifying computer programs, using class inheritance, association, aggregations, polymorphism, interfaces, encapsulation, access modifiers and class membership as necessary; Select and use data structures such as arrays, lists, maps and trees to implement algorithms for searching and sorting | Fundamentals of Software Development Coursework and Written Examination |
3) Include graphical user interface components in a computer program and ensure that they function as specified. | Software Applications Development Coursework |
4) Explain the purpose and principles of tools available to programmers, such as revision control systems, integrated development environments, and code debugging, profiling and optimization tools. | Software Applications Development Coursework |
5) Understand the similarities and differences between the different execution environments in which computer programs are executed, such as the command line, the common gateway interface, applets, services and web server environments. | Software Applications Development Coursework and Written Examination |
6) Understand the professional, legal and ethical issues associated with the creation and use of computer programs. | Software Applications Development Coursework and Written Examination |
Description of Assessment | Definitive UNISTATS Categories | Percentage |
---|---|---|
Fundamentals of Software Development | Coursework | 30% |
Software Applications Development | Coursework | 40% |
Objective test | Written Examination | 30% |
Total (to equal 100%) | 100% |
It IS NOT a requirement that any major element of assessment is passed separately in order to achieve an overall pass for the module.
Poo, D., Kiong, D. and Ashok, S., Object-oriented Programming and Java ( 2nd Edition), (2007), Springer, ISBN-10: 1846289629. Kindle Edition, 2010, ASIN: B00192QXTK
Johnson, R A (2007), Java Programming and Object-Oriented Application Development, Thomson Course Technology
Deitel, H. and Deitel, P. (2011), Java How to Program: International Version (9th Edition), Pearson
Sierra, K. and Bates, B. (2005), Head First Java (2nd Edition), O'Reilly
Sommerville, Software Engineering (9th Edition) , (2010). ISBN-13: 978-0137053469