F27SQ Software Development for Data Scientists 2

Mehran Sharghi

Course co-ordinator(s): Mehran Sharghi (Edinburgh), Musfira Jilani (Dubai).

Aims:

To further introduce the fundamentals of computer programming, including techniques of object orientation and simple data structures and algorithms.
This course is aimed at students enrolled in the BSc Data Sciences programme and it further introduces computer
programming language fundamentals suitable for a data scientist using a relevant programming language, e.g., python.

Detailed Information

Course Description: Link to Official Course Descriptor.

Pre-requisites: none.

Location: Dubai, Edinburgh.

Semester: 2.

Syllabus:

  • Objects and classes
  • Class definitions: fields, constructors, methods, parameters
  • Object interaction: abstraction, modularisation, types
  • Grouping objects: collection classes, iterators, arrays
  • Library classes, documentation
  • Testing and debugging
  • Designing classes: coupling, cohesion, main method
  • Inheritance: hierarchies, subclasses, and polymorphism.
  • Designing classes: coupling, cohesion, abstraction, modularisation, types
  • Abstract classes, abstract methods, interface
  •  Implementing GUIs
  • Code refactoring and regression testing using unit testing

Learning Outcomes: Subject Mastery

  • Understanding and application/ mastery of the object-oriented paradigm
  • Understanding of inheritance.
  • Understand how to produce well designed, i.e., extendable and maintainable, code.
  • Ability to critically evaluate and improve the quality of code.
  • Ability to design and implement simple graphic user interfaces

Learning Outcomes: Personal Abilities

  • Possession of fundamental skills in computer science, applicable throughout the remainder of the degree
  • Understanding of the importance of regular working habits (PDP)
  • Understanding of the use of chat boards and other devices to learn from and instruct others in the class (PDP)
  • Ability to compare and evaluate the applicability of simple data structures to relevant problems (PDP)

Assessment Methods: Due to covid, assessment methods for Academic Year 2021-22 may vary from those noted on the official course descriptor. Please see the Computer Science Course Weightings and the Maths Course Weightings for 2020-21 Semester 1 assessment methods.

SCQF Level: 7.

Credits: 15.