Module ICE-1121:
Python Programming

Module Facts

Run by School of Computer Science and Electronic Engineering

10 Credits or 5 ECTS Credits

Semester 2

Organiser: Mr Joseph Mearman

Overall aims and purpose

To provide an introduction to Python Programming including: algorithms development for computer programs, data types; control structures; methods; stepwise refinement; arrays; systematic documentation; input/output and file handling and libraries.

Course content

Indicative content includes:

Use variables; variable names; primitive data types; arithmetic operators; relational operators; boolean operators; evaluation of arithmetic and boolean expressions; assignment of values to variables; strings; arrays; array algorithms to develop solutions to given problems.

Concept of an algorithm; basic control structures - sequencing, selection and iteration.

The use of a file; structure of a text file; methods for file I/O; binary data and files; formatting output.

Correct use of code indentation; use of comments; choice of variable, class and method names;

Assessment Criteria

threshold

Equivalent to 40%. Uses key areas of theory or knowledge to meet the Learning Outcomes of the module. Is able to formulate an appropriate solution to accurately solve tasks and questions. Can identify individual aspects, but lacks an awareness of links between them and the wider contexts. Outputs can be understood, but lack structure and/or coherence.

excellent

Equivalent to the range 70%+. Assemble critically evaluated, relevent areas of knowledge and theory to constuct professional-level solutions to tasks and questions presented. Is able to cross-link themes and aspects to draw considered conclusions. Presents outputs in a cohesive, accurate, and efficient manner.

good

Equivalent to the range 60%-69%. Is able to analyse a task or problem to decide which aspects of theory and knowledge to apply. Solutions are of a workable quality, demonstrating understanding of underlying principles. Major themes can be linked appropriately but may not be able to extend this to individual aspects. Outputs are readily understood, with an appropriate structure but may lack sophistication.

Learning outcomes

  1. Design and build a structured applications using a range of programming techniques.

  2. Use predefined libraries to capitalise on features of the programming language.

  3. Write programs which adhere to style and documentation guidelines.

  4. Use the basic structure and features of a programming language

Assessment Methods

Type Name Description Weight
COURSEWORK Laboratories

Paradise exercises toward assessed components

100

Teaching and Learning Strategy

Hours
Private study

Tutor-directed private study, including individual assessments.

64
Laboratory

Practical laboratories, including support for assessments (3hrs x 12 weeks).

36

Transferable skills

  • 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
  • Exploring - Able to investigate, research and consider alternatives
  • Information retrieval - Able to access different and multiple sources of information
  • 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

Subject specific skills

  • Apply an understanding and appreciation of continuous improvement techniques
  • Demonstrate familiarity with relevant subject specific and general computer software packages.
  • Problem solving strategies
  • Deploy theory in design, implementation and evaluation of systems
  • Knowledge of management techniques to achieve objectives
  • Development of general transferable skills
  • Defining problems, managing design process and evaluating outcomes
  • Knowledge and understanding of computational modelling

Courses including this module