Module Catalogues

Fundamentals of Computer Programming

Module Title Fundamentals of Computer Programming
Module Level Level 0
Module Credits 2.50

Aims and Fit of Module

This main aim of this module is to prepare students with the skills to be able to effectively cope with the challenges and difficulties of learning programming as well as the design and analysis of algorithms which are covered in more detail in Year 2. To attain this goal, the module will: 
(1) introduce some fundamental concepts of and techniques used in programming: imperative programming; repetition and code reuse; conditionals; and loops;
(2) give an overview of the design and analysis of algorithms;
(3) provide students with knowledge of problem solving strategies in programming;
(4) allow students to gain experience working with in small groups of 4 students;
(5) provide students opportunities to work with contemporary pedagogical tools that are visual and tangible to support their learning.

Learning outcomes

A.	have a solid understanding of fundamental programming concepts;
B. be competent in the design and analysis of simple algorithms;
C. be proficient in writing, testing, and debugging simple sequential programs;
D. be familiar with some problem-solving strategies in programming;
E. have a better understanding of working within a small team of 4 members;
F. have developed improved personal, interpersonal, and communication skills.

Method of teaching and learning

Students will be expected to attend a two-hour formal lecture, followed by another two-hour lab/practical on a weekly basis. In the lectures, students will be introduced to the academic and theoretical content as well as the practical skills which are the subject of the module. In the practicals, students are expected put into practice the content and skills discussed in the lectures. 
In addition, students will be expected to devote approximately 6-7 hours of unsupervised time to work in the computer lab and to do private study. Time in the computer lab will be devoted to work on assignments and in their group project, while private study will give time for students to reflect on the content of the lectures and conduct background reading.
A conjunction of continuous assessment tasks and in-class examinations will be used to test to which extent theoretical content and practical skills have been learned. In addition, in groups of 3-4, students will be working on a small software project in which they will design and build a robot and program it to solve 1-2 challenges.