Diego Cortes and Domingo Pinto, undergraduate students that work on Pragmatics, published the paper “An Architecture for an Open Implementation of an Agent-Based Model for WOM Marketing Campaigns“. In this paper, Pragmatics’ professors like Paul Leger, Manuela López, and Ismael Figueroa also participated.
The paper “Which Monads Haskell Developers Use: An Exploratory Study” has been accepted in Science of Computer Programming, which is a specialized journal in programming languages and software engineering.
Monads are a mechanism for embedding and reasoning about notions of computation such as mutable state, I/O, exceptions, and many others. Even though monads are technically language-agnostic, they are mostly associated with the Haskell language. Indeed, one could argue that the use of monads is one of the defining characteristic of the Haskell language. In practical terms, monadic programming in Haskell relies on the standard mtl package library, which provides eight-core notions of computation: identity, error, list, state, reader, writer, RWS, and continuations. Despite their widespread use, we are not aware of any empirical investigations regarding which monads are the most used by developers. In this paper we present an empirical study that covers a snapshot of available packages in the Hackage repository—covering 85135 packages and more than five million Haskell files. To the best of our knowledge this is the first large-scale analysis of Hackage with regards to monads and their usage as dependencies. Our results show that around 30.8% of the packages depend on the mtl package, whereas only 1.2% depend on alternative, yet compatible implementations. Nevertheless, usage patterns for each specific monad remain similar both for mtl and alternatives. Finally, the state monad is by far the most popular one, although all of them are used. We also report on the distribution of packages that use mtl, regarding their category and stability level.
A paper in the “business for computing” area was accepted in the journal “Revista de Investigación Aplicada en Ciencias Empresariales” (Chilean Journal – LatinIndex).
The purpose of this article is to determine gaps presented by Small businesses in the Coquimbo region in the use of SIAs. Of the total number of companies surveyed (N =106), only 14% mention that they have a tailor-made SIA, only 8% of companies use a standard one. 52% of companies use excel as software for the analysis of their relevant information; which evidences a lack of professionalization of information management, especially if 19% of them control their information manually.
The main gaps identified in the organizational field are the fear of the unknown, along with resistance to change and low knowledge regarding the SIA concept. The gap related to the financial field is the lack or absence of monetary funds to implement SIAs that allow them to advance in their digital transformation.
The SIAs go hand in hand with the evolution, improvement and greater ordering in companies, so they must be encouraged and well used. Small businesses in the Coquimbo region, together with strengthening the competences of the human team, must advance in the use of their information in an efficient way to boost their productivity.
The paper “A Practical Methodology to Learn Computer Architecture, Assembly Language, and Operating System” was accepted and presented on the International Conference on Computer Supported Education (CSEDU), Prague, Czech Republic, 2020.
The paper abstract:
System-level details, such as assembly language and operating systems, are important to develop/debug embedded systems and analyze malware. Therefore it is recommended to teach every topic of these subjects. However, their learning cost has been significantly increased due to current system complexities. To solve this problem, several visualization techniques have been proposed to help students in their learning process. However, observing only the computer system behaviors may be insufficient to apply it to real systems due to the lack of practical experiences and a comprehensive understanding of system-level details. To address these issues, we propose a novel methodology where students implement a virtual machine instead of using existing ones. This virtual machine needs to execute binary programs that can be run on a real operating system. Through implementing this virtual machine, students improve by experience their understanding of computer architecture, assembly languages, instruction sets, and the role of operating systems. We also provide MMVM that is a virtual machine implementation reference and can execute the binary programs while showing the internal states of CPU (registers & flags) to users (students) to support their implementation. Finally, this paper reports the education results applying this methodology to 15 students that consist of 3rd-year students and 1st year of master students