Module Catalogues, Xi'an Jiaotong-Liverpool University   
Module Code: CSE105
Module Title: Introduction to Programming in Java
Module Level: Level 1
Module Credits: 5.00
Academic Year: 2017/18
Semester: SEM1
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 
On successful completion of this module, students are expected to

[A] understand the principles and practice of object oriented analysis and the 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] appreciate the principles of object oriented programming;

[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 one-to-two hours of supervised practicals in a computer lab in a typical week. Lectures will introduce students to the academic content and practical skills which are the subject of the module, while computer practicals will allow students to practice those skills. In addition, students will be expected to devote time to solve continuous assessment tasks and 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—in particular, assessment tasks will be solved individually and each solution comprises the resolution, using sound software engineering techniques, of the given problems expressed in terms of a requirements statement.
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.

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.

Lecture 22: Strings Definition; declaration; initialisation; string manipulation.

Lectures 23: Methods Definition; access modifiers; other modifiers; method calls and parameter passing in Java; parameter passing in general (call-by-value; call-by-reference; call-by-name).

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 Coursework 1(15%) 2(15%) 3(30%) 60.00
2 Final Exam 40.00

Module Catalogue generated from SITS CUT-OFF: 10/22/2017 10:36:48 AM