Java Programming 2 COMPSCI2001
- Academic Session: 2020-21
- School: School of Computing Science
- Credits: 10
- Level: Level 2 (SCQF level 8)
- Typically Offered: Semester 1
- Available to Visiting Students: Yes
- Available to Erasmus Students: Yes
This course extends students' experience in programming using a strongly typed language (Java) and strengthens their problem solving skills. Students will learn the ideas that underpin object-oriented programming and will apply those concepts in developing small and medium sized software systems. Students will also learn to select and re-use existing software components and libraries, and will gain experience in concurrent programming and elementary graphical user-interface (GUI) development.
Two 1-hour lectures per week, one 1-hour Tutorial/Examples class per week, one 2-hour laboratory session per week.
Requirements of Entry
Entry to Level 2 Computing Science is guaranteed to students who achieve a GPA of B3 or better in their level 1 courses at the first sitting. All others would be at the discretion of the School.
All grades for Computing Science courses must be at D3 or better at either attempt.
Java Object Oriented Software Engineering 2
1 hour degree examination (60%), 2 hour laboratory examination (20%), 8 laboratory exercises (2.5% each -- 20% total).
Main Assessment In: December
Are reassessment opportunities available for all summative assessments? No
Reassessments are normally available for all courses, except those which contribute to the Honours classification. For non Honours courses, students are offered reassessment in all or any of the components of assessment if the satisfactory (threshold) grade for the overall course is not achieved at the first attempt. This is normally grade D3 for undergraduate students and grade C3 for postgraduate students. Exceptionally it may not be possible to offer reassessment of some coursework items, in which case the mark achieved at the first attempt will be counted towards the final course grade. Any such exceptions for this course are described below.
The coursework cannot be redone because the feedback provided to the students after the original coursework would give any student redoing the coursework an unfair advantage.
■ To further develop the students' experience in programming using a strongly typed language (Java) and strengthen their problem solving skills;
■ To introduce the ideas that underpin object-oriented programming and ensure students gain the ability to appropriately utilise these concepts in developing small and medium sized software systems;
■ To develop the ability to select and re-use existing software components and libraries from a limited subset of standard libraries;
■ To introduce and develop practical experience in concurrent programming, and to explore a variety of concurrency control mechanisms.
Intended Learning Outcomes of Course
By the end of this course students will be able to:
1. Use all features of the Java programming languages required to build substantial single-threaded programs;
2. Describe the object model of Java;
3. Explain the significance of the single and multiple inheritance hierarchies; and of implementation and interface inheritance;
4. Explain the purpose of, and pitfalls inherent in, concurrent programming;
5. Demonstrate elementary object-oriented design skills;
6. Build well-structured Java programs of moderate size using the fundamental class libraries appropriately.
Minimum Requirement for Award of Credits
Submission of at least 5 out of 8 laboratory exercises; attendance at laboratory exam and degree exam.