MA11712 Programming for Scientists
Introductory description
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.
Module 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.
Outline syllabus
This is an indicative module outline only to give an indication of the sort of topics that may be covered. Actual sessions held may differ.
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.
Learning outcomes
By the end of the module, students should be able to:
 To enable the student to become confident in the use of the Java language for scientific programming.
Indicative reading list
Books are not essential for this module as use will be made of online 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.
Subject specific skills
See learning outcomes
Transferable skills
Students will acquire key reasoning and problem solving skills which will empower them to address new problems with confidence.
Study time
Type  Required 

Lectures  10 sessions of 1 hour (8%) 
Tutorials  9 sessions of 2 hours (15%) 
Private study  92 hours (77%) 
Total  120 hours 
Private study description
Lab sessions, review lectured material and work on set exercises.
Costs
No further costs have been identified for this module.
You do not need to pass all assessment components to pass the module.
Assessment group A2
Weighting  Study time  

Third Project (programming assignment)  40%  
Second Project (programming assignment)  35%  
First Project (programming assignment)  25% 
Assessment group R
Weighting  Study time  

Module not suitable for reassessment  100% 
Feedback on assessment
Marked assignments and exam feedback.
Postrequisite modules
If you pass this module, you can take:
 CS12615 Design of Information Structures
Courses
This module is Optional for:
 Year 1 of UBSA3 Undergraduate Biological Sciences
 Year 1 of USTAG300 Undergraduate Master of Mathematics,Operational Research,Statistics and Economics
 Year 1 of UPXAFG33 Undergraduate Mathematics and Physics (BSc MMathPhys)
 Year 1 of UPXAGF13 Undergraduate Mathematics and Physics (BSc)
 Year 1 of UPXAFG31 Undergraduate Mathematics and Physics (MMathPhys)

USTAG1G3 Undergraduate Mathematics and Statistics (BSc MMathStat)
 Year 1 of G1G3 Mathematics and Statistics (BSc MMathStat)
 Year 2 of G1G3 Mathematics and Statistics (BSc MMathStat)

USTAGG14 Undergraduate Mathematics and Statistics (BSc)
 Year 1 of GG14 Mathematics and Statistics
 Year 2 of GG14 Mathematics and Statistics

USTAY602 Undergraduate Mathematics,Operational Research,Statistics and Economics
 Year 1 of Y602 Mathematics,Operational Research,Stats,Economics
 Year 2 of Y602 Mathematics,Operational Research,Stats,Economics
This module is Core option list B for:
 Year 3 of UMAAGV19 Undergraduate Mathematics and Philosophy with Specialism in Logic and Foundations
This module is Option list B for:
 Year 2 of UMAAG105 Undergraduate Master of Mathematics (with Intercalated Year)
 Year 2 of USTAG300 Undergraduate Master of Mathematics,Operational Research,Statistics and Economics

UMAAG100 Undergraduate Mathematics (BSc)
 Year 1 of G100 Mathematics
 Year 2 of G100 Mathematics

UMAAG103 Undergraduate Mathematics (MMath)
 Year 1 of G103 Mathematics (MMath)
 Year 2 of G103 Mathematics (MMath)

UMAAG106 Undergraduate Mathematics (MMath) with Study in Europe
 Year 1 of G106 Mathematics (MMath) with Study in Europe
 Year 2 of G106 Mathematics (MMath) with Study in Europe

UMAAG1NC Undergraduate Mathematics and Business Studies
 Year 1 of G1NC Mathematics and Business Studies
 Year 2 of G1NC Mathematics and Business Studies

UMAAG1N2 Undergraduate Mathematics and Business Studies (with Intercalated Year)
 Year 1 of G1N2 Mathematics and Business Studies (Intercalated yr)
 Year 2 of G1N2 Mathematics and Business Studies (Intercalated yr)

UMAAGL11 Undergraduate Mathematics and Economics
 Year 1 of GL11 Mathematics and Economics
 Year 2 of GL11 Mathematics and Economics

UECAGL12 Undergraduate Mathematics and Economics (with Intercalated Year)
 Year 1 of GL12 Mathematics and Economics (with intercalated year)
 Year 2 of GL12 Mathematics and Economics (with intercalated year)
 Year 1 of UMAAGV18 Undergraduate Mathematics and Philosophy with Intercalated Year

UMAAG101 Undergraduate Mathematics with Intercalated Year
 Year 1 of G101 Mathematics with Intercalated Year
 Year 2 of G101 Mathematics with Intercalated Year
 Year 2 of USTAY602 Undergraduate Mathematics,Operational Research,Statistics and Economics