Module ICL-1007:
Introduction to Programming

Module Facts

Run by School of Computer Science and Electronic Engineering

20 Credits or 10 ECTS Credits

Semester 1 & 2

Overall aims and purpose

This module will introduce learners to the fundamental concepts used in the development of computer programs using an appropriate development language for example Java, Python or Visual Basic . The learners will gain an understanding of the process of program creation from examination of an initial problem through to designing and developing a final solution.

Course content

● Structured or graphical solutions to given problems using techniques such as flow charts and pseudo code.

● Program development taking into account current good practice and development cycles including design, creation and testing.

● Build solutions using a range of programming to include: Structures and types (such as int, double, bool, String, char, float), sequence (including order, input and output), conditional statements (including if, else, else if and switch case), iteration (including for, while and do), methods (such as constructing, calling, parameters, return values and scope), classes (including creation and use) and error handling (including try and catch).

● Code interaction with the user giving sensible and contextual response.

● Simple testing such as sample test data and testing tables for a given problem.

Assessment Criteria


All of the requirements completed satisfactorily with some to a high standard. A very good submission demonstrating an understanding of the fundamental structures used and their strengths and weaknesses. However, some areas are not fully explored affecting the potential success of the design/solution. At this level, students will make only a few errors in program syntax or functionality in some of the developed designs/ programs. Structure, layout and style will be good overall with the addition of clear comments.

They will have demonstrated clear understanding through a range of designs/ programs. The solutions will be more than just basic and will show a degree of creativity and will have been tested thoroughly.


All of the requirements completed to a high standard. An excellent submission clearly evidencing planning and may include independent research additional to taught materials. Clear evidence of the application of design theory throughout. Practical elements have been well presented and thought through with analysis of the problem and clear solutions developed showing a very good level of understanding issues which arise.

At this level, students will make very few errors in syntax or functionality. Structure, layout and style will be excellent overall with the addition of elucidated comments. They will have demonstrated clear understanding through a range of designs/ programs and are likely to have shown further research by the breadth of the solutions submitted. The solutions will be in-depth and advanced. They will clearly demonstrate the students’ knowledge, creativity and flair and will have been tested extensively.


Most of the requirements completed satisfactorily. Some elements may show a measure of weakness. Adequate but not outstanding. At this level, students may make errors in syntax or functionality in some of the developed designs/programs. Structure, layout and style will be weak with little use of comments but they will have demonstrated some understanding through a range of designs and programs.

The solutions will be basic and lack any real depth or creativity and testing will be weak.

Learning outcomes

    1. Use the basic structure and features of a programming language.
    1. Devise and use a methodical test plan to comprehensively test the solution.
    1. Design and build a complex application/s using a range of programming techniques.
    1. Demonstrate understanding of current trends and employment opportunities regarding programming languages.

Assessment Methods

Teaching and Learning Strategy


60 of the 200 notional learning hours - 60 hours classroom-based.

The classroom-based element will include student-centred learning methods such as interactive lectures, case studies, group discussions and practical workshops.


140 of 200 notional learning hours - 140 hours of tutor directed student learning.

The tutor directed student learning will be supported by online learning materials hosted or signposted on the Grŵp VLE.


Transferable skills

  • Literacy - Proficiency in reading and writing through a variety of media
  • Numeracy - Proficiency in using numbers at appropriate levels of accuracy
  • Computer Literacy - Proficiency in using a varied range of computer software
  • Self-Management - Able to work unsupervised in an efficient, punctual and structured manner. To examine the outcomes of tasks and events, and judge levels of quality and importance
  • Critical analysis & Problem Solving - Able to deconstruct and analyse problems or complex situations. To find solutions to problems through analyses and exploration of all possibilities using appropriate methods, rescources and creativity.
  • Self-awareness & Reflectivity - Having an awareness of your own strengths, weaknesses, aims and objectives. Able to regularly review, evaluate and reflect upon the performance of yourself and others


Reading list

Cadenhead R., 2014. Java in 24 Hours , Sams Teach Yourself, 7 th ed, Sams.

Deitel & Deitel, 2007., Java How to program . 7 th ed, Pearson,

Dawson, M, 2010 . Python Programming for the Absolute Beginner . 3 rd ed, Course Technology PTR

Lowe D., 2014. Java All-in-One For Dummies , 4 th ed, John Wiley & Son s Halvorson, M. 2013 Microsoft Visual Basic 2013 Step by Step , Microsoft Press.

Hutt, R. 2014 Python: Learn Python FAST! - The Ultimate Crash Course to Learning the Basics of the Python Programming Language In No Time. CreateSpace Independent Publishing Platform

McGrath, M. 2010 Visual Basic In Easy Steps . 3 rd ed, Computer Step.

McGrath M., 2011. Java In Easy Steps, 4 th ed, In Easy Steps Limited.

Picking R., 2007. Get on up with Java , Lexden

Schildt H., 2014. Java: A Beginner's Guide , 6 th ed, McGraw-Hill Osborne.


Courses including this module

Compulsory in courses: