In this module students will learn how to program a computer using a simple programming language (e.g. C). Students will learn how to make many simple things happen and how to solve simple problems by programming. After taking the course the students should be able to: understand the basic ideas of programming and be familiar with variables, arrays, strings, conditionals, loops, terminal and file I/O, functions, etc.; confidently write computer programs in the language they have learned during the course; run programs, to produce results.