Unit name | Software Development: Programming and Algorithms |
---|---|
Unit code | EMATM0048 |
Credit points | 20 |
Level of study | M/7 |
Teaching block(s) |
Teaching Block 1 (weeks 1 - 12) |
Unit director | Dr. Pope |
Open unit status | Not open |
Units you must take before you take this one (pre-requisite units) |
None |
Units you must take alongside this one (co-requisite units) |
None |
Units you may not take alongside this one |
None |
School/department | School of Engineering Mathematics and Technology |
Faculty | Faculty of Engineering |
Why is this unit important?
The aim of this unit is to provide students with a broad introduction to algorithm design and analysis, to essential programming skills (taught in the Python programming language), and to contemporary software development and engineering practices. These foundational skills are required so that students can understand, implement, and apply data science and computational methods in a wide range of contexts. By learning the fundamentals of programming and software development, students will be equipped both to develop their own code and to identify and use pre-existing packages to achieve given tasks. These skills will be essential in the rest of their degree and will open students up to a world of opportunities in their lives and careers to solve problems using code.
How does this unit fit into your programme of study
Software Development: Programming and Algorithms is a core unit in the Data Science MSc and related degrees for students who have no previous experience of coding. This unit will equip students with the essential programming, software development, and algorithmic analysis skills that will be prerequisite knowledge for units on artificial intelligence and data processing, and which will be necessary for successful completion of project work.
An overview of content
Topics covered in this unit will include:
How will students, personally, be different as a result of the unit
Throughout this unit there is a focus on students developing their computer programming and software development skills. Students will be able to implement reliable code to solve real world problems. Students will be able to understand algorithm complexity and better able to avoid performance issues. Students will be able to use common data science libraries for cleaning and visualising data along with basic regression and classification. Finally, students will be better able to understand the data science life cycle.
Learning outcomes
On successful completion of the unit, students will be able to:
Teaching will be delivered through a combination of synchronous and asynchronous sessions, including lectures, practical activities and self-directed exercises.
Tasks which help you learn and prepare you for summative tasks (formative):
Students are provided a two-hour tutorial each week that include tasks related to the week’s topic. The tasks directly and indirectly prepare students for the summative tasks. Teaching assistants provide support during the tutorials to help students complete the tasks and provide feedback. The formative assessment further prepares students for the summative coursework. The formative assessment is provided to students approximately half-way through the unit with feedback prior to the summative assessment.
Tasks which count towards your unit mark (summative):
Coursework (100%) consisting of a set of tasks on software development and an open-ended task focused on applying the material covered in this unit to problems in engineering, mathematical modelling, data analysis, or related areas. This will assess all ILOs.
When assessment does not go to plan:
Re-assessment takes the same form as the original summative assessment.
If this unit has a Resource List, you will normally find a link to it in the Blackboard area for the unit. Sometimes there will be a separate link for each weekly topic.
If you are unable to access a list through Blackboard, you can also find it via the Resource Lists homepage. Search for the list by the unit name or code (e.g. EMATM0048).
How much time the unit requires
Each credit equates to 10 hours of total student input. For example a 20 credit unit will take you 200 hours
of study to complete. Your total learning time is made up of contact time, directed learning tasks,
independent learning and assessment activity.
See the University Workload statement relating to this unit for more information.
Assessment
The assessment methods listed in this unit specification are designed to enable students to demonstrate the named learning outcomes (LOs). Where a disability prevents a student from undertaking a specific method of assessment, schools will make reasonable adjustments to support a student to demonstrate the LO by an alternative method or with additional resources.
The Board of Examiners will consider all cases where students have failed or not completed the assessments required for credit.
The Board considers each student's outcomes across all the units which contribute to each year's programme of study. For appropriate assessments, if you have self-certificated your absence, you will normally be required to complete it the next time it runs (for assessments at the end of TB1 and TB2 this is usually in the next re-assessment period).
The Board of Examiners will take into account any exceptional circumstances and operates
within the Regulations and Code of Practice for Taught Programmes.