Postgraduate Course: Introduction to Java Programming (INFR09021)
|School||School of Informatics
||College||College of Science and Engineering
|Credit level (Normal year taken)||SCQF Level 9 (Postgraduate)
||Availability||Available to all students
|Summary||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 timetabled laboratory sessions, and the use of online tools for demonstrator and peer support outside of the scheduled times.
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:
- Swing components.
- Event handling.
Relevant QAA Computing Curriculum Sections: Programming Fundamentals
Entry Requirements (not applicable to Visiting Students)
|Prohibited Combinations|| Students MUST NOT also be taking
Informatics 1 - Object-Oriented Programming (INFR08014)
||Other requirements|| This course is open to Informatics PG students. For external students where this course is not listed in your DPT, please seek special permission from the course organiser.
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.
Information for Visiting Students
|High Demand Course?
Course Delivery Information
|Academic year 2015/16, Available to all students (SV1)
|Learning and Teaching activities (Further Info)
Lecture Hours 2,
Supervised Practical/Workshop/Studio Hours 22,
Programme Level Learning and Teaching Hours 2,
Directed Learning and Independent Learning Hours
|Assessment (Further Info)
|Additional Information (Assessment)
||Assessment is through two major practical programming exercises. Students will carry out some of the work on the programming exercises during the assigned laboratory sessions.
You should expect to spend approximately 40 hours on the coursework for this course.
If delivered in semester 1, this course will have an option for semester 1 only visiting undergraduate students, providing assessment prior to the end of the calendar year.
|No Exam Information
| 1 - Students will be able to state, in writing and verbally, basic principles of object-oriented software design.
2 - Given an object oriented design as a diagram or textual description, students will be able to evaluate the quality of that design and discuss its strengths and weaknesses with respect to its stated purpose.
3 - Students will be able to design an object oriented software solution to a problem using diagrammatic and textual representations.
4 - Students will be able to implement an object oriented design in the Java language.
5 - Students will be able to relate the syntax of the Java language to its semantics, and analyse the result of executing fragments of Java syntax.
6 - Given a Java program, students will be able to explain, in writing and verbally, what would happen when that program is executed, and identify bugs which would prevent it executing as described in the program documentation.
7 - Given a Java program and a debugging tool, students will be able to identify and correct bugs which prevent the program from functioning as intended.
8 - Students will be to write documentation in Javadoc style to explain the design and implementation of their own code, or example code which is supplied to them.
9 - Students will be able to use an appropriate software development environment, such as BlueJ, Eclipse or NetBeans.
10 - Students will be able to integrate library code with their own programs using appropriate software tools.
11 - Students will be able to use online technical documentation to solve implementation problems as they arise during software development.
12 - 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 Kölling,(Prentice Hall / Pearson Education, 2008. ISBN-10: 0137005628)|
|Course organiser||Mr Paul Anderson
Tel: (0131 6)51 3241
|Course secretary||Miss Maree Matheson
Tel: (0131 6)50 9989
© Copyright 2015 The University of Edinburgh - 18 January 2016 4:12 am