Introduction To Programming


To introduce concepts and principles of problem solving by computer, and the construction of appropriate algorithms for the solution of problems. To demonstrate the principles underlying the design of high level programming languages. To give students experience and confidence in the use of a high level programming language to implement algorithms.


Note: Throughout this syllabus, the conceptual aspects of problem solving, algorithm design and the nature of data are incorporated with the more specific and implementation-directed aspects of programming. The importance of developing reliable, robust and maintainable solutions is emphasised throughout Topics: Week 1: Introduction to computer systems. First Java programs. Week 2: Basic program ingredients. Week 3: Classes and Objects. I/O classes. Week 4: OO Analysis and Design. Week 5: Arithmetic and the Maths Class. Week 6: Selection (if-else and switch). Week 7: Repetition (for and while loops). Week 8: Repetition(do while loops), recursion. Testing and debugging. Week 9: Class interactions. Week 10: Array processing. Week 11: Arrays of objects, Strings, recap of module.

Recommended Texts

Reading lists are managed at Click here to access the reading lists for this module.

Learning Outcomes

(LO1) Be able to implement, compile, test and run Java programmes, comprising more than one class, to address a particular software problem.

(LO2) Understand how to include arithmetic operators and constants in a Java program.

(LO3) Be able to make use of members of classes found in the Java API (such as the Math class).

(LO4) Demonstrate the ability to employ various types of selection constructs in a Java program.

(LO5) Demonstrate the ability to employ repetition constructs in a Java program.

(LO6) Be able to employ a hierarchy of Java classes to provide a solution to a given set of requirements.

(LO7) Demonstrate the ability to use simple data structures like arrays in a Java program.

(LO8) Specific learning outcomes are listed above.General learning outcomes: An understanding of the principles and practice of object oriented analysis and design in the construction of robust, maintainable programs which satisfy their requirements; A competence to design, write, compile, test and execute straightforward programs using a high level language; An appreciate of the principles of object oriented programming; An awareness of the need for a professional approach to design and the importance of good documentation to the finished programs.

(S1) Communication (oral, written and visual) - Report writing

(S2) Time and project management - Personal organisation

(S3) Critical thinking and problem solving - Critical analysis

(S4) Numeracy/computational skills - Reason with numbers/mathematical concepts

Learning Strategy

Teaching Method 1 - Lecture
Description: Delivery of theory followed by practical application
Attendance Recorded: Yes
Notes: (1 per week for 1 semester)

Teaching Method 2 - Laboratory Work
Attendance Recorded: Not yet decided
Notes: (1 per week for 1 semester)