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] Effectively design, write, compile, test, debug and execute computer programs using a high level computer programming language. [B] Understand and apply the core principles of object oriented programming (including abstraction, encapsulation and inheritance) for the construction of effective, robust, maintainable programs. [C] Apply a professional and thoughtful approach to the design process and documentation of computer 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.