Module
CMPSMA23 - APPLICATIONS PROGRAMMING
- Module Code:
- CMPSMA23
- Department:
- Computing Sciences
- Credit Value:
- 20
- Level:
- M
- Organiser:
- Dr. Wenjia Wang
Lecture notes, assignments, examples and other resources are made available through Blackboard.
The university library has an extensive collection of Java, UML, software engineering and general programming textbooks.
Recommend reading:
- Stevens R., (2005) Using UML: Software Engineering with Objects and Components, Addison Wesley.
-
Lewis J., and Loftus, W. (2008) Java Software Solutions: Foundations of Program Design, 2e, Addison Wesley.
- Skansholm J., (2004) Java from the beginning, 2e, Addison-Wesley
Submission:
Written coursework should be submitted by following the standard CMP practice. Students are advised to refer to the Guidelines and Hints on Written Work in CMP.
Deadlines:
If coursework is handed in after the deadline day or an agreed extension:
| Work submitted | Marks deducted |
| After 15:00 on the due date and before 15:00 on the day following the due date | 10 marks |
| After 15:00 on the second day after the due date and before 15:00 on the third day after the due date | 20 marks |
| After 15:00 on the third day after the due date and before 15:00 on the 20th day after the due date. | All the marks the work merits if submitted on time (ie no marks awarded) |
| After 20 working days | Work will not be marked and a mark of zero will be entered |
Saturdays and Sundays will NOT be taken into account for the purposes of calculation of marks deducted.
All extension requests will be managed through the LTS Hub. A request for an extension to a deadline for the submission of work for assessment should be submitted by the student to the appropriate Learning and Teaching Service Hub, prior to the deadline, on a University Extension Request Form accompanied by appropriate evidence. Extension requests will be considered by the appropriate Learning and Teaching Service Manager in those instances where (a) acceptable extenuating circumstances exist and (b) the request is submitted before the deadline. All other cases will be considered by a Coursework Coordinator in CMP.
For more details, including how to apply for an extension due to extenuating circumstances download Submission for Work Assessment (PDF, 39KB)
Plagiarism:
Plagiarism is the copying or close paraphrasing of published or unpublished work, including the work of another student; without due acknowledgement. Plagiarism is regarded a serious offence by the University, and all cases will be investigated. Possible consequences of plagiarism include deduction of marks and disciplinary action, as detailed by UEA's Policy on Plagiarism and Collusion.
Module specific:
- To review fundemental programming concepts by writing simple Java applications
- To review the software development process and the need for an Object Oriented (OO) Programming paradigm
- To understand Java language features that support OO: encapsulation, polymorhism and inheritance
- To introduce the Java containers array, arrayList, linkedlist and file and to compare their performance characteristics
- To discuss mechanisms for creating abstract data types in Java; to write Java APIs and implementations for a stack and queue
- To consider the Java 2 collections framework as an example of a complex container resource using abstract classes, interfaces and inheritance
- To introduce the concept of an order relation and to investigate the complexity of a number of common sorting algorithms, by writing benchmark implementations
- To introduce a software design tool (UML) and use it to design a non-trivial software application
- To implement (part of) a non-trivial system defined in terms of a UML definition
Transferable skills:
- To gain experience in a range of computer literacy skills; e.g. keyboard skills, operating systems, wordprocessing, etc.
- To develop a methodical approach to problem solving
- Expertise in a range of computer literacy skills; e.g. keyboard skills, operating systems, word processing, etc.
- The ability to demonstrate practical and theoretical knowledge of the fundamental processes of computer programming
- Competence in using a methodical approach to problem solving
Module specific:
On completion of this unit students should be able to:
- Understand the software development process and understand the need for an Object oriented (OO) Programming paradigm.
- Use software design tools and a Windows-based IDE to design, write and test programs written in Java, employing Graphical User Interface, in response to a set of user requirements.
- Implement part of a non-trivial system defined in terms of a UML definition.
- Appreciate the Java 2 Collections Framework as an example of a complex container resource using abstract classes, interfaces and inheritance.
- Understand the concept of an order relation and to investigate the complexity of a number of common sorting algorithms, by writing benchmark implementations.
This module is delivered as a programme of 2 hour lectures (1 per week), supported by 2 hour laboratory classes (1 per week) and 1 hour seminars (alternate weeks).
Total hours: 48
Lectures: 24 hours, (with provisional weekly schedule)
- Introduction to java
- Data structures
- Java Objects and Classes
- I/O streams, file and exceptions handling
- OO Paradigm - interfaces and inheritance
- Java Containers (vector, arrays, linked list)
- Applets and multimedia
- Graphical User Interface(GUI) - java AWT/SWING
- Managing larger projects - java packages and deployment, etc.
- UML for OO analysis and design
- Introduction to software engineering and development models
- Software quality and testing
Workshop: 0 hours
Laboratory work: 24 hours (with provisional weekly schedule)
- Getting started with your first java program
- Write java programs with netbeans
- Basic programming skills
- Arrays, searching and sorting
- Applets, recursion, exceptions handling
- Mouse and keyboard events handling, Play audio clips
- GUI with Java AWT/SWING
- Developing GUI with IDE NetBeans
- OOA and OOD with UML
- Java surgery
Coursework


