I am currently pursuing my Master of Data Science from the University of New South Wales. The program, which began on January 2023, consists of 15 courses, including 3 prerequisites, and concludes with a Capstone Project.
Complete list of courses
The coursework is fully online and utilizes the well-known learning platform, Moodle, to facilitate the learning experience. The program is designed as Hexamesters, where students take one course per term, with six teaching terms per year. If I am able to attend every teaching term, I anticipate completing the program in just over two years.
I’ve copied each course introduction straight from the course materials. At the end of each course, I have shared my thoughts on it.
Course 1 - Database Systems
Week 1: Data models and database design
This week you will be introduced to data and databases. You will learn how to systematically analyse the data requirements of a database to construct an ER (Entity-Relationship) model and present it as an ER diagram. Finally, you will practise a series of activities to apply your knowledge.
Week 2: Relational data model and ER mapping
This week you will learn the foundations for implementing well-constrained relational database models and how to map the Entity-Relationship (ER) data model with the relational data model. You will understand the relational data model, the types of constraints associated with it and how the relational data model differs from the ER model. You will also practise a series of activities to apply your knowledge.
Week 3: SQL
This week, you will learn Structured Query Language (SQL). SQL consists of a data definition language, data manipulation language and a data control language. You will create a database, performing various types of data manipulation and data administration, and query the database to extract useful information using SQL commands.
Firstly, you will cover relational algebra, which provides a theoretical foundation for relational databases and SQL. Then you will learn SQL commands, aggregation and grouping to create databases. You will also learn how to write complex SQL queries. Finally, you will practise a series of activities to apply your knowledge.
Week 4: Advanced SQL and Schemas
Last week you learnt and practised SQL which is a very powerful language for extracting data from the database. While it’s powerful, it can’t do everything, and there are occasions where you need additional programming to extract data to handle more complex tasks. Postgres allows user-defined functions, known as stored procedures. Such functions can be written in many languages like SQL, PLpgSQL, C, Python, etc. You will learn how to define stored procedures and triggers in PLpgSQL. You will identify the purpose or the various scenarios where you can use triggers. This will substantially increase in the capability to program a database.
Week 5: Database schema analysis, normalisation
This week you will look at the notion of relational data models. You will determine whether a particular relational data model is good. Relational design theory deals with the relationship between attributes. How these attributes are related to each other? A functional dependency is a constraint that describes the relationship between attributes in a relation. You will analyse the functional dependencies in relational database schemas and identify the redundancy problems. Further you will apply various normalisation techniques to reduce or remove the data redundancy in these schemas. Finally, you will practise a series of activities to apply your knowledge.
Week 6: Transactions, security and architectures
This week you will be introduced to SQL performance tuning. You will learn how to identify when your queries can be improved and what are the ways to improve them. You will cover transaction processing and the respective control commands. A transaction is the propagation of changes to the database. If you are creating, updating or deleting a record from a table then you are performing a transaction. to control these transactions to ensure data integrity and to handle database errors. These transactions can be controlled using commands to ensure data integrity and to handle database errors. You will also learn about the database security issues and the range of security controls to protect the database. Finally, you will practise a series of activities to apply your knowledge.
The course I took on database systems was titled as such, but was primarily focused on teaching SQL. Despite the discrepancy between the course title and content, I found the course to be a worthwhile online learning experience, as it allowed for flexible self-paced learning.
While I had previously used SQL in various projects, this course provided me with a solid foundation in the fundamentals of SQL and its practical applications for solving real-world problems. In addition, the course also covered the use of the Postgres database and the PLpgSQL language for writing stored procedures and triggers. I particularly appreciated the time spent on learning ER Diagrams, which was an area I had not fully grasped before, but now feel more confident in designing databases.
One area where the course fell short was its outdated approach. As someone who has worked with databases for many years, I expected to see topics such as analyzing slow queries, database maintenance, backups, schema, and data migration, interfacing with web and mobile applications, and dealing with day-to-day issues that are commonly encountered while working with databases. However, given the course’s duration of only 6 weeks, I understand that it would have been challenging to cover all these areas in-depth.
Overall, I would rate the course a 6 out of 10. While I appreciated the comprehensive coverage of SQL, I would have preferred to see more focus on database design and maintenance. Additionally, incorporating more material on the use of SQL in data science would have made the course more relevant for current trends.
Course 2 - Data and Ethics
“The human capacity to determine what we can do has outstripped our ability to decide what we ought to do.” (Noel Preston, 2014)
This course provides the conceptual foundations for ethical data analytics practice. You will learn to consider data analytics in the context of the broader social, economic and value systems within which data analytics takes place. You will identify ethical concerns and apply ethical thinking tools and frameworks to resolve actual ethical dilemmas. Ultimately, this course aims to develop your ability to be a capable and ethical data professional.
Week 1: Why ethics?
We start this week by examining data as a resource and its increasingly central role in society. You will learn about the social embeddedness of data and interconnections between data analytics and wider social, political and economic contexts. We will briefly discuss what is meant by ethics, why ethics matter and what the ethical dimensions of data generation, manipulation and use for stakeholders at various stages of the data supply chain might be. You will also begin to reflect on your own role as a reflective practitioner and potential agent of positive change in data and analytics practices.
Week 2: Frameworks for ethical decision-making - part 1
We start the second week of this course by examining how to develop moral reasoning skills and the roles that moral imagination and ethical judgement play in this process. We will then introduce four ethical frameworks; consequentialism, utilitarianism, deontology and justice, and consider how they might guide data-related decisions. You will apply consequentialist, deontological and justice theories to real-world data situations and explain which is the best approach for the problems you’re facing. At the end of this week we kick off the News from a Better World exercise, which helps you to develop your own agency in building a more just and ethical world.
Week 3: Frameworks for ethical decision-making - part 2
During the third week of this course we continue our examination of ethical frameworks that can be used to guide data-related decisions. We will discuss the basic principles of virtue ethics and care ethics, and look at practical applications of these moral philosophies. We will then use a case study to understand how the ethical decision-making tools discussed in weeks 2 and 3 are put to use to solve real-world data problems. At the end of this week we wrap up the ‘News from a better world’ exercise and discuss the ideas that you and your classmates have suggested to achieve a more just and ethical world.
Week 4: Data governance and stewardship
In our fourth week, we move from moral frameworks to the principles of data governance and stewardship. We will discuss the implications of data as a public resource, examine the effects of data governance on decision making and consider how data stewardship can be enacted in practice. In our class discussion this week, we ask if data practitioners should be required to meet professional standards and what those standards might look like for data analytics.
Week 5: Legal and regulatory frameworks
The fifth week of this course examines key legal and regulatory frameworks that apply to data analytics. We will examine the regulatory system in Australia to help you understand how laws are made and to identify the different types of legal principles that inform your work with data. We will take a close look at the Australian Privacy Principles (the key rules in the Privacy Act 1988), and examine the concept of ‘personal information’, including the key aspects of its definitions. You will also learn about the regulatory significance of de-identification and the risk of re-identification, as well as current issues and debates in the generation, manipulation and use of data, some of which fall under other areas of law.
Please note that we have provided additional videos for you to watch if you wish to learn more about the different types of law and legal processes that you may encounter in your data analytics practice. You can find these optional resources under the second extension activity.
Week 6: Data for good
Welcome to the final week of this course. After examining data decisions through the lenses of ethical frameworks, governance, professional standards, and laws and regulation, we now turn our focus to the ways in which data can be used for positive impact. We will discuss the potential of data for resolving humanitarian problems, addressing the UN Sustainable Development Goals, advancing democracy and building a more ethical and just future. You will also reflect on your own ethical agency as a data practitioner.
The journey towards more ethical practice is an ongoing one—we never reach our destination. But along this road you will have hopefully picked up some new ways of thinking, new skills, new self-awareness and ultimately, confidence in yourself.
~~~ TO BE CONTINUED ~~~