In the realm of Service Oriented Architecture (SOA) design principles, the concepts of Service Coupling, Service Cohesion, and Service Granularity play pivotal roles in shaping a robust and effective architectural framework. Service Coupling refers to the degree of interdependence between any two business processes. In the context of SOA, weak coupling is highly preferred as…
What Software Patterns (or Design Patterns) are and an introduction to the most common one
Software patterns, often referred to as design patterns, are a reusable and generalizable solution to a common problem that software developers face when designing and building software applications. Design patterns are essentially templates or blueprints for solving recurring design problems in a systematic and efficient way. Design patterns serve several important purposes in software development:…
Using DataCamp for getting familiar with Data Science concepts
I am sharing a collection of classes in DataCamp that may help you in getting familiar with data science concepts in a practical manner. DataCamp is a paid service, however, students can normally use it for free. Probably the university where you are studying have an institutional subscription or, if that is not the case,…
Free Resources That Will Warm Up Your Programming Environment
This article considers some free resources to warm up your programming environment. These are particularly useful if you plan to do a programming oriented thesis where you analyze data by writing some code. A functional working environment is useful independently from what you will be doing. It may sound like an annoying task where you…
Social Networks and Social Network Analysis
Let’s have a look at social networks and at the underlining analysis that is guiding these dynamics known as “social network analysis”. Let’s start from the beginning. Do you know what is the most popular social network? This video will give you the answer: You may have guessed right. However, based on this video that…
How to Debug in Anaconda and Spyder: Save Time and Energy!
A proper debug in Anaconda (or Spyder) is perhaps one of the most appealing functionality of an Integrated Developing Environment (IDE). In the case you are wondering what is the meaning of debug you can refer to the following: Debug refers to the process of identifying and removing errors from computer hardware or software. Definition…
Best practices on how to write comments in your code
Should I really care and learn about how to write comments? Really!? I do not have time for these things. How many times did you thought something like that? Well you are not alone. However: Have you ever tried to solve a very important problem doing some programming but found stacked because you can not…
How to Design a Good API: Advanced Object Oriented Programming
Design a good API takes both engineering and artistic skills and is a well know challenge among experts of object oriented programming (OOP). This is a relatively advanced topic. Therefore, If you are unfamiliar with the concepts this article will give you the basic of OOP. An Application Program Interface (API in short) refers to…
Install Anaconda and Import Libraries into the IDE
This is a mini tutorial on how to install Anaconda and import libraries into the environment. There are plenty of tutorial around the web so for the things that are not cover here google your way out of the problems that you may encounter. In the case you do not know what is Anaconda, well…
Integrated Development Environment (IDE): why you need one
Let’s talk about Integrated Development Environment and why you need one for your studies. I realized that many non engineering oriented studies teach some coding oriented classes and promote some programming activities among students. However, most of the activities tend to be very basic and the code required for delivering the foreseen assignment(s) is relatively…