Module Learning Strategies
2 lectures per week presenting key topics and concepts.
Tutor assisted practical based learning via 2 practical sessions per week.
Surgery session 1 hour per week
(1:n)2 (1:20)2 (1:n)1
Formative, self-directed exercises to support transfer of knowledge and understanding.
Students will also be encouraged to develop their intellectual, communicative and problem solving skills.
Students will deveop a portfolio of practical work.
Module Indicative Content
Introductory Programming Skills
Controlling Program Flow (using sequence, selection, iteration, entry/exit points and functions).
Understanding Programming Language Constructs (including declarations, definitions, keywords, constants, primitive data types, structure and syntax, and how program code is executed by a computer).
Problem solving using programmed solutions.
Simple program/algorithm design using natural language and pseudocode and simple notation.
Introduction to collections of data and associated operations (including arrays, vectors and sets).
Ordering data programmatically using basic sorting techniques.
Introduction to debugging strategies.
Planning and implementing program testing including walkthroughs, white box and black box testing.
Module Additional Assessment Details
A Coursework weighted at 100%
The lecture material and portfolio of practical work will be assessed by 100% in-course phased tests assessing learning outcomes 1 to 3.
Module Texts
Introduction to Java Programming - Comprehensiv Version, Y Daniel Liang, 6th Edition, 2006, Prentice Hall, ISBN: 0132221586
Java Programming: from Problem Analysis to Program Design, Malik & Nair, 2003, Course Technology, ISBN: 0-619-06497-8
Beginning Java, Ivor Horton, 2003, John Wiley & Sons Inc; ISBN: 0764543652
Java in a Nutshell, David Flanagan, 2002, O'Reilly UK; ISBN: 0596002831
Module Special Admissions Requirements
The second study pattern is only available to students registered on the Foundation Degree in Computer Networks and Communications award.
Module Resources
Hardware and software suitable for supporting the Java development environment.