Module Descriptors
SOFTWARE DEVELOPMENT IN PYTHON
COMP50083
Key Facts
Digital, Technology, Innovation and Business
Level 5
20 credits
Contact
Leader: Benhur Bakhtiari Bastaki
Hours of Study
Scheduled Learning and Teaching Activities: 6
Independent Study Hours: 194
Total Learning Hours: 200
Pattern of Delivery
  • Occurrence A, Stoke Campus, UG Semester 1
  • Occurrence B, Stoke Campus, UG Semester 2
  • Occurrence C, Stoke Campus, UG Semester 3 to UG Semester 1
Sites
  • Stoke Campus
Assessment
  • DESIGN PORTFOLIO - 1000 WORDS weighted at 40%
  • ONLINE TEST - 2 HOURS weighted at 60%
Module Details
INDICTAIVE CONTENT
This module covers topics of:



Introduction to programming using a suitable development environment

Variables and data types

Input and Output

Sequence, selection and iteration

Problem solving and program design

Testing and debugging

Methods

Arrays

Introduction to classes and objects

Exceptions

File handling

Database access

Cohesion and coupling

Object-oriented principles - encapsulation, inheritance and association
ADDITIONAL ASSESSMENT DETAILS
Design Portfolio – A design portfolio of formative tasks that is assessed through a final summative submission. The tasks will be based on design and building small test coding artefacts (Learning Outcomes 1 and 2).

Online Test – An online test that will use practical scenarios to explore learning around the coding design and development process (Learning Outcomes 2 and 3).
LEARNING STRATEGIES
The module is essentially a practical one delivered via Blackboard, a Virtual Learning Environment (VLE).

Online material will be used to deliver the academic and technical content of the module. The tutorials will help you put the practical side of design, construction, testing and documentation into a computer science context and enable you to prepare for the test from week 1. You will also develop a portfolio of practical work, including program designs, code and test results.
LEARNING OUTCOMES

1. DEVELOP A PROBLEM BASED STRATEGY FOR CREATING, APPLYING AND DOCUMENTING PROGRAMMED SOLUTIONS USING PROCEDURAL AND OBJECT-ORIENTED PARADIGMS.

Problem Solving,
Communication



2. CREATE, EDIT, COMPILE, RUN, DEBUG AND TEST PROGRAMS USING AN APROPRIATE DEVELOPMENT ENVIRONMENT.

Problem Solving, Application



3. UNDERSTAND PROCEDURAL, OBJECT-ORIENTED AND EVENT-DRIVEN APPROACHES TO SOFTWARE DEVELOPMENT.

Knowledge and Understanding,
Reflection
TEXTS
Barry, P. (2017), Head first python, 2nd edn, O'Reilly, Beijing

Schneider, D.I. (2016), An introduction to programming using Python, Global edn, Pearson, Boston

Downey, A.B. (2015), Think Python, O'Reilly

Liang, Y.D. (2013) Introduction to Java Programming, 10th ed, Pearson Education

McGrath, M. (2013) Python in Easy Steps, In Easy Steps Ltd

Rajagopalan, G. (2020) A Python Data Analyst’s Toolkit: Learn Python and Python-Based Libraries with Applications in Data Analysis and Statistics. Berkeley, CA: Apress L. P.

Patrick Viafore (2021) Robust Python. O’Reilly Media, Inc.

Savitch, W. (2015) Absolute Java, 6th ed. Pearson Education
RESOURCES
JetBrains Pycharm (IDE for Python)

Python 3 or latest release

www.python.org

www.w3schools.com/python/
WEB DESCRIPTOR
In this module you will find it provides a sound introduction to both fundamental programming concepts and the Python programming language. You will learn the essential skills necessary to give you confidence in designing and implementing simple procedural and object-oriented software solutions.