Skip to main content Skip to navigation

MA117 Programming for Scientists

Lecturer: Andrew Hague (DCS) and Khalil Challita (DCS)

Term(s): Term 2

Status for Mathematics students: List B for Maths

Commitment: 10 lectures plus lab sessions/tutorials

Assessment: Three programming assignments

Prerequisites: No previous computing experience will be assumed, but students should have obtained a code to use the IT Services work area systems prior to this module. Information and assistance is available in the Student Computer Centre in the Library Road

Leads to:

Content: Aspects of software specification, design, implementation and testing will be introduced in the context of the Java language. The description of basic elements of Java will include data types, expressions, assignment and compound, alternative and repetitive statements. Program structuring and object oriented development will be introduced and illustrated in terms of Java's method, class and interface. This will enable the development of software that reads data in a variety of contexts, performs computations on that data and displays results in text and graphical form. Examples of iterative and recursive algorithms will be given. The importance of Java and Java Virtual Machine in networked computing will be described. The majority of examples will be standard applications but the development of Java Applets to be delivered by web browsers will also be covered.

Aims: To provide an understanding of the process of scientific software development and an appreciation of the importance of data vetting, sound algorithms and informative presentation of results.

Objectives: To enable the student to become confident in the use of the Java language for scientific programming.


Books are not essential for this module as use will be made of on-line tutorial and reference material. An informative, optional text is

H M Deitel & P J Deitel, Java How to Program (2nd or 3rd Ed), Prentice Hall.


Additional Resources