This is a blog I started to track my progress as I continue to improve my programming and data analysis skills.

My learning from personal projects is shared through the blog. However, due to collusion-related university restrictions, I cannot post assignments or assessments from my courses online. Below is a summary of the main concepts I have learned as I have worked towards my Master’s Degree.

What I Have Learned From The University of York

Algorithms And Data Structures:

In this course, I learned object-oriented programming basics using Java. In addition, I learned about data structures such as stacks, queues, linked lists, trees and graphs and how these could be used to solve problems through programming. I also learned about sorting and search algorithms and how to analyze their performance in terms of memory usage and running time. I demonstrated the ability to use what I learned by creating a GUI that replicated the function of a coin sorting machine and through an examination of the course content.

Advanced Programming

In this course, I learned the basics of programming with Python. This included using Python to clean and organize data. I demonstrated what I learned by creating a GUI, which allowed the user to analyze data related to health code violations and locations. The GUI allowed the user to choose which data they were interested in viewing and then provided a visualization based on this information.

Artificial Intelligence And Machine Learning

This was one of my favorite courses in this program. I learned about current issues related to machine learning and artificial intelligence, including ethical implications and how to consider these when designing AI. I also learned about Search, Logic and reinforcement learning. I gained practical experience in writing small programs using these in Python. My grade for this course was entirely based on an examination that required understanding the taught concepts.

Software Engineering

In this course, I learned about the software development process and how to plan and design more extensive programs. I learned about the software development process and how to create and use UML models. In addition, I learned strategies for ensuring that software designed would meet the needs of all stackholder. This including capturing and analyzing requirements and how this process could be supported through use case and interaction modelling. In addition, I learned about common software design patterns and how to test and refactor software. I demonstrated my understanding of these concepts through an exam.

Big Data Analysis

During this course, I discovered a love for data analysis. I learned about the Data Science process and used it to complete two data analysis projects. I was given data to use for both projects but was required to design the analysis independently. This included devising research questions, cleaning the data, choosing appropriate techniques for analysis, evaluating the analysis and drawing conclusions. For the first analysis project, I decided to investigate:

  • if repeated admissions could be predicted
  • if there was a link between diabetes length of hospital stays
  • if any medications were correlated with shorter stays.

For the second project, I analyzed people’s decisions and how this affected the severity of arthritis.

Computer Architecture and Operating Systems

This was one of the most immediately practical courses I took. Shortly after completing this course, I was able to apply what I learned when buying a new computer and advising my husband on which phone best met his needs. In this course, I learned about how the various componenets of a computer, including the CPU, bus, RAM, ROM and secondary memory work individually and together. I learned about the different ways each of these components can be designed, ways of managing their resources and how to design systems to prevent the loss of valuable data. In addition, I learned about how choices must be made between speed, complexity, cost, energy-use and heat-production when designing computers to meet the needs of specific users. I also learned about how the basics of computer networking and the architecture used in it.

Computer and Mobile Networks

In this course, I learned about how networks work. I learned about different types of networks and common protocols for transmitting data over them. also learned about how people can use networks for nefarious purposes and ways to increase data security over networks. I demonstrated what I learned through creating Server and Client programs using Java. The programs simulated the stop-and-wait and Go-Back-N protocols.

Research Methods

In this course, I learned how to plan a research project. I also learned how to critically analyze research. I demonstrated what I learned through writing a paper critically analyzing two research articles I was provided.

Text Analysis and Data Mining

I learned more about the different types of data mining algorithms in this course. More importantly, I learned about the kinds of data each is most suitable for and what types of information can be obtained through their use. This has allowed me to make more informed choices when choosing data analysis techniques. In fact, this learning prompted me to rework a lot of the analysis I had previously done related to my project on the use of digital platforms in education. I demonstrated my learning in this course through a project that involved analyzing labelled data about customer credit card use. I created profiles of traits that made customers more likely to experience fraud and investigated whether there was a link between fraud and location.

Individual Research Project

My individual research project focused on how Topic Modelling could be used to support the use of podcasts in education, advertising and horizon scanning. It involving exploring how effective various topic modelling algorithms were in identifying the main topics in a podcast collection. The results of the best algorithms were used in creating visualization of the topics in the collection. They were also used to support the creation of a podcast search engine. Statistical analysis was used to determine if including the results from topic modelling resulting in finding more relevant podcasts than a search engine created without the information from topic modelling.