Module Catalogues, Xi'an Jiaotong-Liverpool University   
Module Code: CSE212
Module Title: Java Programming for Financial Mathematics
Module Level: Level 2
Module Credits: 5.00
Academic Year: 2019/20
Semester: SEM2
Originating Department: Computer Science and Software Engineering
Pre-requisites: N/A
The module has the following aims

• to introduce concepts and principles of problem solving using the computer;

• to discuss the construction of appropriate algorithms for the solution of certain types of problems;

• to demonstrate principles underlying the design of a high level programming language; and

• to give students experience and confidence in the use of a high level programming language to implement algorithms.

Learning outcomes 
A understand the principles and practice of object oriented design in the construction of robust, maintainable programs which satisfy their specifications

B be competent to design, write, compile, test, debug and execute straightforward programs using a high level language

C. understand and apply principles of object oriented programming to examples from financial mathematics

D be aware of the need for a professional approach to design and the importance of good documentation to the finished programs

Method of teaching and learning 
Students will be expected to attend two hours of formal lectures as well as to participate in two hours of supervised practicals in a computer lab in a typical week, plus up to six hours of practical self-study tasks. Lectures will introduce students to the academic content and practical skills which are the core of the module, while practicals and self-study tasks allow students to develop those skills. In addition, students will be expected to devote time to solve continuous assessment tasks and to private study. Private study will provide time for reflection and consideration of lecture material and background reading. Continuous assessment will be used to test to what extent practical skills have been learnt
Throughout this syllabus, the conceptual aspects of problem solving, algorithm design and the nature of data are expressed alternately with the more specific and implementation-directed aspects of programming and the importance of a reliable, robust and maintainable solution. It is expected that, in teaching the module, the lecturer will further integrate and intermingle these vital topics with the technical aspects of the syllabus. As far as possible examples related to financial mathematics will be used.

Lectures 1-2: Software development Introduction to programming languages; software engineering; the Java programming language, and the principles of object oriented programming.

Lectures 3-11: Data types and simple programs Variables, data, and assignments; simple Java programs; categories of data and introduction to data types, wrapper classes; data input/output; arithmetic and the math calls (plus note on method calls), the character type, expressions and statements; inheritance and class hierarchies; type conversion; casting; creating a test harness, debugging strategies; black-box, white-box testing.

Lectures 12-13: Branching Selection (if-else); selection (switch) and menu interfaces using switch statements.

Lectures 14-19: Loops For loop, more on for loop and while loops and the break statement; do-while loops, nested loops; random number generation.

Lectures 20-21: One-dimensional arrays Definition; declaration; initialisation; array processing, unconstrained arrays; array iteration; iterators in general; program errors and testing review.

Delivery Hours  
Lectures Seminars Tutorials Lab/Prcaticals Fieldwork / Placement Other(Private study) Total
Hours/Semester 26      26    98  150 


Sequence Method % of Final Mark
1 Biweekly Tasks 15.00
2 Assignment 15.00
3 Assignment 30.00
4 Take-Home Open Book Exam (2 Hours) 40.00

Module Catalogue generated from SITS CUT-OFF: 6/3/2020 1:19:24 AM