The subject provides an introduction to general programming concepts and best practices. It provides practical experience in problem solving and critical thinking to create algorithms that solve programming problems. Topics include algorithm design, code development, code testing, debugging and deployment. Students will use J2ME to create mobile phone applications in Java. Skills learnt in this subject are transferrable and will help students prepare for Object Oriented Programming subjects.