On Scientific Writing: Classic, Postmodern, and Self-Conscious Style

Let’s talk about scientific writing. The need to master this skill in a thesis or a scientific paper is pretty much self-explanatory. Mastering writing is mastering an effective technique for communicating what you would like to share with your supervisor(s), all the people involved in your thesis, and fellow members of the scientific community. In…

Introduction to Computer Networks and How Internet Works

In this article I would like to provide a (small) introduction to computer networks and the necessary infrastructure for them to operate well. In a nutshell, it is all about connecting client applications to servers. A server is a computer or a computer program which manages access to a centralized resource or service in a…

Introduction to Databases and How We Store Information in Computers

This article is just a small introduction to databases that hopefully will help you in getting familiar with the topic. It is deliberately simple and intends to provide an overview of the domain. A database is an organized collection of data, generally stored and accessed electronically from a computer system. The databases that are more…

Related Work/Literature Review/Survey Paper: A Collection of Resources

A scientific literature review (sometimes also called related work or survey paper) is an integral part of: Writing scientific papers Writing position reports in a non-academic job Writing your Bachelor/Master/PhD thesis Here, you will find a collection of resources that should help you in addressing your scholarly needs. Not All Publications Are Equal Yes, quality…

How to write clean code by Uncle Bob (Robert Cecil Martin)

This is a collection of videos by Uncle Bob (Robert Cecil Martin) on how to write clean code. He is an American software engineer, instructor, and best-selling author. He developed several software design principles and co-founded the Agile Manifesto. There is more to object oriented programming. If you want to be able to write code…

Front End Development, Back End Development, and Full Stack Developers

Developing software is more and more a collaborative activity where multiple experts interact for delivering a particular solution. Strictly talking about development and without including supporting activities, we can divide programmers as specialized in front-end development or back-end development. Let’s try to define these activities. We can define front-end-development as the practice of converting data…

The Present, the Past, and the Future of Programming Languages: A Historical Perspective

What language should I learn? Would you like to understand the future of programming languages? Let’s start from the beginning: We can define computer programming as the process of developing and implementing various sets of instructions to enable a computer to do a certain task. Programming is a language and is subject, like any other…

How to use references in word: a few tips and suggestions for your thesis

References in word can sometimes become a complex task. If you are writing a thesis or a scientific article you can easily find yourself surrounded by scientific papers that you intend to cite in your document. As long as the list is below 10-ish resources it is relatively easy to manage. Problems start to arise…

Object Oriented Programming

Object Oriented Programming: A curated set of resources

Object Oriented Programming or OOP is a particular way of programming that leverage the concept of Classes and Objects and the following 4 paradigms Abstraction: a process where you show only “relevant” data and “hide” unnecessary details of an object from the user. Encapsulation: a practice that bind the data with the code that manipulates…