Course co-ordinator(s): Dr Jamie Gabbay (Edinburgh), Ubaid Abbasi (Dubai).
Aims:
To further introduce the fundamentals of computer programming, including techniques of object orientation and simple data structures and algorithms.
This course further introduces computer programming language fundamentals suitable for a data scientist using a relevant programming language, e.g., python.
Detailed Information
Pre-requisites: none.
Location: Dubai, Edinburgh.
Semester: 2.
Syllabus:
- Program design, modules, packages - Jupiter notebook
- List comprehensions, dictionaries, dict comprehension
- Exceptions, testing
- Advanced procedural programming: argument passing, Lambda
- Object Oriented Programming: functions as objects, objects, classes, attributes, methods
- Design with classes, class diagram, data object modelling
- Advanced Object Oriented Programming: inheritance, polymorphism, operator overloading (_eq_, _str_...); abstract classes
- Graphical user interfaces; event-driven programming; creating simple user interface: buttons, labels, text fields, dialog - tkinter module
- Iterators, Iterables, and Generators; Decorators, Context Managers, Regular Expressions; lazy evaluation
Learning Outcomes: Subject Mastery
- Understand modules and program structure
- Understanding error handling and testing
- Designing with dictionaries and comprehensions
- Understanding advanced argument passing; Lambda; functions as objects
- Understanding object oriented design and programming
- Designing and implementing simple graphical user interface
- Designing with advanced object programming
- Documenting, presenting programs
- Gain fundamental skills applicable for data analytics and machine learning
Learning Outcomes: Personal Abilities
- Understanding of the importance of regular working habits (PDP)
- Understanding group work best practices (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.
