Postgraduate Course: Introduction to Java Programming (INFR09050)
|School||School of Informatics
||College||College of Science and Engineering
|Credit level (Normal year taken)||SCQF Level 9 (Postgraduate)
|Course type||Online Distance Learning
||Availability||Available to all students
|Summary||*This course is for distance learning students within the School of Informatics and students on the Data Science, Technology & Innovation Programme*.
The study of Informatics generally involves the formation of hypotheses and theories which can then be tested through the creation of computer models. In order to create these models, students need to be able to write their own computer programs as well as use pre-existing special purpose systems and tools. This module is intended to provide students who do not already have significant computing experience, with the ability and confidence to use Java as their programming tool for their summer project work.
The course material follows the BlueJ book, supported by a series of online, recorded lectures which allow students to work at their own time and pace. Practical work is supported by online computing laboratory sessions, and the use of online tools for demonstrator and peer support outside of the scheduled times.
This distance-based course is aligned with the on-campus Introduction to Java Programming course (INFR09021) which uses a flipped classroom delivery approach. Distance students will cover the same materials, have the same coursework, engage in the same classroom activities (but using Collaborate) and take the same exam as the on-campus students.
Object-oriented programming concepts:
- Classes, objects, sub-classes, inheritance, encapsulation, polymorphism.
Software development - principles and practice:
- Producing correct, understandable and maintainable classes.
- Responsibility driven design.
- Coupling, cohesion, refactoring.
Using appropriate development tools:
- Integrated development environments.
The Java programming language and standard library packages:
- Packages, classes, interfaces, instances, fields, methods.
- Variables, identifiers, types, values.
- Expressions, statements, conditionals, loops, iterators.
Basic User Interfaces:
- Graphical interface components.
- Event handling.
- Graphical tools for interface building.
Relevant QAA Computing Curriculum Sections: Programming Fundamentals
Entry Requirements (not applicable to Visiting Students)
||Other requirements|| None
Information for Visiting Students
|High Demand Course?
Course Delivery Information
|Academic year 2017/18, Not available to visiting students (SS1)
|Course Start Date
|Learning and Teaching activities (Further Info)
Lecture Hours 20,
Programme Level Learning and Teaching Hours 2,
Directed Learning and Independent Learning Hours
|Assessment (Further Info)
|Additional Information (Assessment)
||Written Exam: 0%
Practical Exam: 0%
Additional Information (Coursework);
Assessment is through two major practical programming exercises. Students will carry out some of the work on the programming exercises during the assigned online laboratory sessions.
Students should expect to spend approximately 40 hours on the coursework for this course.
||Students will receive extensive formative feedback through interaction with other students and the demonstrators during lab sessions, eg. via Skype or Collaborate, and the Piazza online discussion forum.
Each student will also receive oral feedback during the coursework demonstrations.
Summative feedback will occur through automated and human marking of the 2 assignments.
|No Exam Information
On completion of this course, the student will be able to:
- Students will understand and be able to articulate basic object-oriented design principles, use them to design solutions to given problems, evaluate the quality of such designs, and implement designs in Java
- Students will be able to explain the connection between Java syntax and semantics, to describe behaviour expected from given code, and to identify and correct bugs
- Students will be to write documentation in Javadoc style, make use of appropriate software development environments, integrate library code with their own programs and make appropriate use of online technical documentation
- Students will be able to describe stages in the software development process and the identify software tools which are used to support these stages
|* Objects First with Java - A Practical Introduction Using BlueJ by David J. Barnes & Michael Kolling, (Prentice Hall / Pearson Education, 2016 ISBN 9780132835541)|
|Graduate Attributes and Skills
||Problem solving, Analytical thinking, Handling complexity and ambiguity, Independent learning and development, Change management, Planning, organising and time management, Creativity and inventive thinking.
||This course is open to distance-based PG students.
Students are expected to have some previous programming experience (not necessarily with an object-oriented language). It is possible to take the course without any previous experience, but this will almost certainly be challenging, and require additional time.
|Keywords||Distance Learning,Informatics,Java Programming
|Course organiser||Mr Paul Anderson
Tel: (0131 6)51 3241
|Course secretary||Ms Katey Lee
Tel: (0131 6)50 2701