Open Access. Powered by Scholars. Published by Universities.®

Articles 1 - 3 of 3

Full-Text Articles in Programming Languages and Compilers

The Impact Of Programming Language’S Type On Probabilistic Machine Learning Models, Sherif Elsaid Dec 2021

The Impact Of Programming Language’S Type On Probabilistic Machine Learning Models, Sherif Elsaid

Master's Projects

Software development is an expensive and difficult process. Mistakes can be easily made, and without extensive review process, those mistakes can make it to the production code and may have unintended disastrous consequences.

This is why various automated code review services have arisen in the recent years. From AWS’s CodeGuro and Microsoft’s Code Analysis to more integrated code assistants, like IntelliCode and auto completion tools. All of which are designed to help and assist the developers with their work and help catch overlooked bugs.

Thanks to recent advances in machine learning, these services have grown tremen- dously in sophistication to …


Markdown To Question & Test Interoperability, Su Kim Dec 2021

Markdown To Question & Test Interoperability, Su Kim

Master's Projects

As the classroom setting shifted to a virtual one as a result of Covid-19, numerous software are readily available to accommodate for the change, including Canvas, the online course management system. Canvas has a core feature that allows teachers to generate and administer quizzes for students through their interface, but it does not fully utilize the potential with online exams. The first step to exploring this potential is this project, known as Markdown to Question & Test Interoperability (M2QTI). Based on the QTI specifications, this tool lets users to plan and write quizzes in Markdown format. Combined with Canvas’s ability …


Asynchronous Validations Using Programming Contracts In Java, Rahul Shukla May 2021

Asynchronous Validations Using Programming Contracts In Java, Rahul Shukla

Master's Projects

Design by Contract is a software development methodology based on the idea of having contracts between two software components. Programming contracts are invariants specified as pre-conditions and post-conditions. The client component must ensure that all the pre-conditions are satisfied before calling the server component. The server component must guarantee the post-conditions are met before the call returns to the client component. Current work in Design by Contract in Java focuses on writing shorthand contracts using annotations that are processed serially.

Modern software systems require a lot of business rules validations on complicated domain objects. Often, such validations are in the …