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