Postgraduate Course: Working with data types and structures in Python and R (HEIN11050)
|School||Deanery of Molecular, Genetic and Population Health Sciences
||College||College of Medicine and Veterinary Medicine
|Credit level (Normal year taken)||SCQF Level 11 (Postgraduate)
|Course type||Online Distance Learning
||Availability||Available to all students
|Summary||This course provides an introduction to data types and structures in health, social and care service settings. This course is designed to equip students with the skills required to handle, analyse and create tools to manage different data types and structures. Concepts are illustrated with examples from health, social and care services.
The course makes no assumptions about students' previous data use, the management or programming experience. This course is a stepping stone into more advanced programming and software development courses.
Health, social, and care service systems collect and process many data types that support shared decision making and optimal service delivery and provision.
A data type is the most basic classification of data. It is the data type through which the computer program gets to know the form or the type of information that will be used. Data is stored differently depending on its type. Numbers are stored as integers or real numbers, text as string or characters.
A data structure is a collection of data types. Data structures provide a means to manage large volumes of data for use in health, social and care service institutions. Within a data structure, data is better organised. Efficient data structures are vital for obtaining maintainable software design. Some examples of data structures are arrays, linked lists, graphs and binary trees.
Software applications designed for problem-solving purposes require data to be stored as particular data types within certain data structures so that data operations yield specific results. The more common programming languages define data types such as 'integers' (whole numbers, for example, 33), 'non-integers' (numbers with decimal points, for example, 0.33) and 'characters' (text). They also have standard libraries that implement the most common data structures.
Much data manipulation and analysis can be undertaken without an in-depth understanding of computer science. Functional code and basic programs can be written without expertise in computer science or software engineering. However, data scientists working in health, social and care services will ultimately need to move beyond writing simple code and using others' applications. Understanding how data is represented in computer systems and manipulated with programming languages will benefit people writing code that runs fast, scales to large amounts of data, and is portable to other platforms. This course will introduce students to foundational computer science concepts, the data life cycle, and data management and coding best practices.
Understanding data types and structures, how data is represented in computer systems and best data management and programming practices, and the context from which data is derived, is crucial for data scientists working in health, social and care services.
This course is designed to equip students with the skills required to realise the values of data and apply best practice, manipulate, analyse, and present data from health data social and care service settings.
The course focuses on the different data types and structures used in health, social, and care service settings. The course will first introduce data types, such as numerical and time series, textual and unstructured data, the data life cycle and best data management practices. Implementation of data structures such as arrays, linked lists, graphs and binary trees, the advantages and disadvantages of their use will be covered. In later weeks, the course will introduce programming in R and Python and best coding practice. Students will be exposed to other programming languages and will be encouraged to seek out relevant programming languages. In addition to the online materials and video presentations, students attend a weekly laboratory session to develop data-driven applications using the Python and R programming languages and associated libraries.
Entry Requirements (not applicable to Visiting Students)
||Other requirements|| None
Information for Visiting Students
Course Delivery Information
|Academic year 2021/22, Available to all students (SV1)
|Learning and Teaching activities (Further Info)
Lecture Hours 5,
Seminar/Tutorial Hours 1,
Online Activities 35,
Feedback/Feedforward Hours 5,
Formative Assessment Hours 5,
Revision Session Hours 1,
Programme Level Learning and Teaching Hours 2,
Directed Learning and Independent Learning Hours
|Assessment (Further Info)
|Additional Information (Assessment)
||Written Exam 0 %, Coursework 100 %, Practical Exam 0 %
||Feedback is information provided to the students about their learning relative to learning outcomes. Feedback is also important to identify areas for improvement; for example, course feedback surveys will be an integral component of course development. The two main types of feedback are formative and summative. Formative feedback involves feedback given during an assessment, while summative feedback is provided after an assessment has been completed.
Formative feedback will be provided throughout the course, for example, during live question and answer sessions, quizzes, and on discussion boards. A formative task will also be offered before the student submitting their summative assessed course work. All assignments will be marked, and feedback is provided within fifteen working days (where possible).
|No Exam Information
On completion of this course, the student will be able to:
- Demonstrate a critical understanding of how data is stored in computer systems, the data life cycle, the benefits and limitations of R and Python programming languages for handling data, and the importance of best data management and programming practices in health and social care systems.
- Apply R and Python programming skills to collect, handle, document, store, and use data, best data management practice to make data findable, accessible, interoperable and reusable, and best programming practice to write maintainable, dependable, efficient and reusable code.
- Utilise logical, analytical, and problem-solving skills to make informed decisions about the most appropriate data types and structures to use when creating data sets for downstream analysis or designing software.
- Demonstrate the ability to effectively communicate about different data types and structures and their advantages and disadvantages with peers, more senior colleagues, specialists, and non-specialists within the local team and wider health, social, and care services sector.
P. Brass (2008) Advanced Data Structures
M.T. Goodrich, R. Tamassia, and M. Goldwasser (2013) Data structures and algorithms in Python.
Structure and content of health/social care record.
F. Jiang, Y. Jiang, H. Zhi, Y. Dong, H. Li, S. Ma, Y. Wang, Q. Dong, H. Shen and Y. Wang (2017) Artificial intelligence in healthcare: past, present and future. Stroke and Vascular Neurology 2:2030-243.
Specific journal articles will be included in the course information at the start of the course.
|Graduate Attributes and Skills
Enquiry and lifelong learning
Students on this course will be encouraged to seek out ways to develop their expertise in handeling the different health and social care data types and structures. They will also be encouraged to strive for excellence in their professional practice and to use established and developed approaches to resolve ethical challenges and data ownership issues as they arise in health and social care systems.
Aspiration and personal development
Students will be encouraged to draw on the quality, depth and breadth of their experiences to expand their potential and identify areas in which they wish to develop and grow. Students will also be encouraged to understand their responsibility within, and contribute positively, ethically and respectfully to the health and social care community while acknowledging that different students and community members will have other priorities and goals.
Outlook and engagement
Students will be expected to take responsibility for their learning. Students will be asked to use on their initiative and experience, often explicitly relating to their professional, educational, geographical or cultural context to engage with and enhance the learning of students from the diverse communities on the programme. Students will also be asked to reflect on the experience of their peers and identify opportunities to enhance their learning.
Research and enquiry
Students will use self-reflection to seek out learning opportunities. Students will also use the newly acquired knowledge and critical assessment to identify and creatively tackle problems and assimilate the findings of primary research and peer knowledge in their arguments, discussions and assessments.
Personal and intellectual autonomy
Students will be encouraged to use their personal and intellectual autonomy to critically evaluate learning materials and exercises. Students will also be supported through self-directed learning, discussion boards and collaborative activities to critically evaluate concepts, evidence and experiences of peers and superiors from an open-minded and reasoned perspective.
Students will need to be effective and proactive learners that can articulate what they have learned, and have an awareness of their strengths and limitations, and a commitment to learning and reflection to complete this course successfully.
Effective data scientists' practitioners in the health and social care sector require excellent oral and written communication, presentation and interpersonal skills. The structure of the interactive (problem-based learning examples, discussion boards and collaborative activities) and assessment elements incorporate constant reinforcement and development of these skills.
|Keywords||Data types,data structures,data life cycle,programming (R and Python),best practice
|Course organiser||Dr Mairead Bermingham
|Course secretary||Miss Magdalena Mazurczak