Course unit details:
Modern Information Engineering
Unit code | IIDS61311 |
---|---|
Credit rating | 15 |
Unit level | FHEQ level 7 – master's degree or fourth year of an integrated master's degree |
Teaching period(s) | Semester 1 |
Available as a free choice unit? | No |
Overview
This module aims to provide an opportunity for trainees who seek to understand and make appropriate use of modern programming skills and data management technologies. The module assumes no prior knowledge, skill or experience in this area when introducing concepts. It will provide hands-on experience in software design, implementation and data retrieval. Trainees are taught best pratice for creating useful and effective software solutions to real-world health problems, as well as discussing modern data management technologies. During the module trainees will be asked to work in teams to implement a digital dashborad that makes use of NHS prescribing data for decision making.
Aims
The unit aims to introduce students to a hands-on experience of modern information engineering skills including basic programming skills (Python); automation of tasks, how track work for efficiently; and how to store and manage data effectively as well as access it using SQL and the use of version control (GiT). This is carried out by applying Agile software engineering principles and practices to work on a real software project in small groups.
Teaching and learning methods
This unit will delivered in a blended format: e-Learning preparation material will impart basic and core knowledge whilst the face-to-face lectures and open discussions will introduce concrete examples and encourage attendees to draw upon their own reading and experience. Group, problem based learning will show a deeper understanding of the area and encourage collaborative working. Example case-studies will be drawn from University of Manchester (HeRC) and University College London research-driven projects and current NHS projects. The F2F teaching will be delivered as 1 x three day block of workshops covering a key section
Knowledge and understanding
LO1: Use core programming concepts to design and implement software
LO2: Critical understanding of data management technologies (including their strengths and limitations) for use in real-world settings
LO3: Apply and critically appraise the software design process to a range of case-study projects
LO4: Understand be able to select APIs to allow systems to communicate with each other
LO5: database systems/data management and modern software processes contribute to patient care pathways and the provision of high quality safe and effective patient care
LO6: Develop plans of how to apply software quality assurance processes to a range of case-studies
LO7: Demonstrate the importance of key role of version control systems in quality assurance
Intellectual skills
LO8: Plan a process for a clinical information system
LO9: Critically appraise a software design process
Practical skills
LO10: Develop a system for a clinical team
LO11: Construct a range of SQL commands to extract data from management systems
LO12: Complete project documentation ensuring compliance with security, governance and ethics issues with web-based systems
LO13: Design a relational database to solve a real-world scenario
LO14: Write programs in the Python programming language to manipulate data
Transferable skills and personal qualities
LO15: Work collaboratively within a team
LO16: Communicate effectively both in written and verbal format to both non-technical and technical audiences:
LO17: Work through the problem-solving cycle
Assessment methods
Sprint 3 presentation (simulated sprint review) 60% (group mark)
Blog post 40% (individual mark)
Feedback methods
Formative assessment and feedback to students is a key feature of the on-line learning materials for this unit.
Regular presentation of results to tutor and staff to elicit feedback and develop ideas/work.
Recommended reading
John D. Blischak, Emily R. Davenport, and Greg Wilson: "A Quick Introduction to Version Control with Git and GitHub" PLoS Computational Biology, 2016
Dawson, M (2010) Python Programming (3rd ed) For the Absolute Beginner. Boston: Course Technology PTR - This beginners textbook serves as a good reference text for using the Python programming language.
Software Carpentry (2019) https://librarycarpentry.org/lc-python-intro/
This is a free online resource for learning Python with examples of code and exercises to practice.
Atlassian (2019) The Agile Coach https://www.atlassian.com/agile
This website provides an introduction to the principles of project management and software development using the Agile methodology.
Williams, L (2012) What Agile Teams Think of Agile Principles. Communications of the ACM 55(4):pp71-78
This paper discusses the evolution of Agile methodology and what the people and industrial users using it think about it.
Study hours
Scheduled activity hours | |
---|---|
eAssessment | 40 |
Lectures | 7 |
Practical classes & workshops | 15 |
Independent study hours | |
---|---|
Independent study | 88 |
Teaching staff
Staff member | Role |
---|---|
Alan Davies | Unit coordinator |