Skip to main content Skip to navigation

MA117-12 Programming for Scientists

Department
Warwick Mathematics Institute
Level
Undergraduate Level 1
Module leader
Andrew Hague
Credit value
12
Assessment
Multiple
Study location
University of Warwick main campus, Coventry

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 web page

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 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.

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 (36%)
Tutorials 9 sessions of 2 hours (64%)
Total 28 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 Eligible for self-certification
Third Project (programming assignment) 40% Yes (extension)
Second Project (programming assignment) 35% Yes (extension)
First Project (programming assignment) 25% Yes (extension)
Assessment group R
Weighting Study time Eligible for self-certification
Module not suitable for reassessment 100% No
Feedback on assessment

Marked assignments and exam feedback.

Courses

This module is Optional for:

  • Year 1 of UBSA-3 Undergraduate Biological Sciences
  • Year 1 of UPXA-FG33 Undergraduate Mathematics and Physics (BSc MMathPhys)
  • Year 1 of UPXA-GF13 Undergraduate Mathematics and Physics (BSc)
  • UPXA-FG31 Undergraduate Mathematics and Physics (MMathPhys)
    • Year 1 of GF13 Mathematics and Physics
    • Year 1 of FG31 Mathematics and Physics (MMathPhys)
  • Year 2 of USTA-Y602 Undergraduate Mathematics,Operational Research,Statistics and Economics

This module is Core option list B for:

  • Year 3 of UMAA-GV19 Undergraduate Mathematics and Philosophy with Specialism in Logic and Foundations

This module is Option list B for:

  • Year 2 of USTA-G300 Undergraduate Master of Mathematics,Operational Research,Statistics and Economics
  • Year 1 of UMAA-GV18 Undergraduate Mathematics and Philosophy with Intercalated Year