Undergraduate Course: Database and Software Technology 2 (IBMS08013)
|School||Deanery of Biomedical Sciences
||College||College of Medicine and Veterinary Medicine
|Credit level (Normal year taken)||SCQF Level 8 (Year 2 Undergraduate)
||Availability||Not available to visiting students
|Summary||Database and Software Technology 2 aims to provide students with an overview and practice on database and software technologies that are frequently used in the area of biomedical informatics. Students will extend their programming skills acquired in year 1 by learning object-oriented programming and advanced data structures in Java. In addition, students will learn and practice software engineering skills including requirement analysis and architectural design through a course project. Students will also learn technologies for construction, management and maintenance of biomedical databases, including theories on relational database modelling, SQL language and transaction management, with hands-on practice on working with existing biomedical databases. This course will run as a 'long and thin' course across semester 1 and 2 to align with the Applied Data Sciences 2 course students take in parallel.
Database and Software Technology 2 aims to provide students with an overview and practice on well-established database and software technologies that are frequently used in the area of biomedical informatics.
You will extend your programming skills acquired in year 1 by learning object-oriented programming and advanced data structures in Java. In addition, you will learn and practice software engineering skills including requirement analysis and architectural design through course projects. You will also learn technologies for construction, management and maintenance of biomedical databases, including theories on relational database modelling, SQL language and transaction management, with practice on working with existing biomedical databases.
This course will equip you with the essential computational skills that are needed for developing novel biomedical analysis tools.
Entry Requirements (not applicable to Visiting Students)
||Other requirements|| None
Course Delivery Information
|Academic year 2022/23, Not available to visiting students (SS1)
|Learning and Teaching activities (Further Info)
Lecture Hours 60,
Supervised Practical/Workshop/Studio Hours 24,
Programme Level Learning and Teaching Hours 4,
Directed Learning and Independent Learning Hours
|Assessment (Further Info)
|Additional Information (Assessment)
||Exam: 30% total course mark«br /»
Coursework: 70% total course mark, including: «br /»
- a github portfolio (group mark; 20%)«br /»
- a reflective report (individual mark, 30%) «br /»
- a review and report on codes from groups (individual mark, 20%)«br /»
||Formative feedback on practical work and course project will be given informally during practicals. For the github portfolio, students will receive feedback on their portfolio so far mid-semester, and will be given a chance to change their practice, and also to amend earlier entries. Hosting the portfolios on github will make it easy to assess whether students have made changes following formative feedback, and this will be a marking criterion in the summative assessment.
We will build in opportunities for formative peer assessment. Students will review codes from three other course project groups and write up code review reports. These reports will be individually graded as part of the ICA and will be given to the groups being reviewed for improvement of their codes before the final course project presentation.
|No Exam Information
On completion of this course, the student will be able to:
- Apply the concepts of relational data model in database design. Use Structured Query Language (SQL) to operate a relational database.
- Apply the theory of data structure optimization. Balance non-redundancy and query efficiency by functional dependency analysis and structure normalization.
- Manage database transaction, data storage, indexing, and query optimization.
- Develop Java programming skills with advanced language features, including object-oriented programming, multithreading, IO streaming and network programming.
- Apply software skills to real-life biomedical data. Develop novel data analysis tools, working through all stages of the software development life cycle, including the preparation of standard software documentation
|Database System Concepts. Abraham Silberschatz, Henry F.Korth, S.Sudarshan. McGraw-Hill Education |
Thinking in Java. Bruce Eckel. Prentice Hall
Head First Servlets and JSP. Kathy Sierra. O'Reilly
|Graduate Attributes and Skills
||This course follows the core areas of technological knowledge for Biomedical Informatics, as identified by the American Medical Informatics Association (Kulikowski et al., J Am Med Inform Assoc 19, 2012): Information documentation, storage, and retrieval, Software engineering.
In addition, the course develops the following core graduate skills and attributes for graduates in Bioinformatics, as identified by Welch et al. (2014) PLoS Comp Biol 10(3).
programming, software engineering, open source software repositories, web authoring tools, web-based user interface implementation technologies, version control tools
retrieving and manipulating data from public repositories; ability to manage, interpret, and analyze large data sets; familiarity with functional genetic and genomic data
time management, project management, curiosity, self-motivation, ability to synthesize information, ability to complete projects, critical thinking, dedication, analytical reasoning, collaborative ability
|Keywords||Biomedical informatics,Java,SQL,Software engineering
|Course organiser||Dr John Menzies
Tel: (0131 6)51 1711
|Course secretary||Miss Natasha Goldie