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

Software Engineering Commons

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

Articles 1 - 18 of 18

Full-Text Articles in Software Engineering

Canvas Autoquiz, Archit Jain Jan 2022

Canvas Autoquiz, Archit Jain

Master's Projects

Online learning management platforms such as Canvas are thriving and quickly replacing traditional classrooms, especially during these pandemic-struck times. As more and more quizzes are administered online, we need tools that make the quiz creation process easier and faster. Canvas Autoquiz is a command-line tool that allows instructors to automatically create and upload quizzes of varying difficulty levels. It also allows instructors to export quizzes from one LMS platform to another. This project explores the need, design, and implementation of the tool, and prospective future work.


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 …


A Webrtc Video Chat Implementation Within The Yioop Search Engine, Yangcha Ho May 2019

A Webrtc Video Chat Implementation Within The Yioop Search Engine, Yangcha Ho

Master's Projects

Web real-time communication (abbreviated as WebRTC) is one of the latest Web application technologies that allows voice, video, and data to work collectively in a browser without a need for third-party plugins or proprietary software installation. When two browsers from different locations communicate with each other, they must know how to locate each other,

bypass security and firewall protections, and transmit all multimedia communications in real time. This project not only illustrates how WebRTC technology works but also walks through a real example of video chat-style application. The application communicates between two remote users using WebSocket and the data encryption …


Pantry: A Macro Library For Python, Derek Pang Dec 2018

Pantry: A Macro Library For Python, Derek Pang

Master's Projects

Python lacks a simple way to create custom syntax and constructs that goes outside of its own syntax rules. A paradigm that allows for these possibilities to exist within languages is macros. Macros allow for a shorter set of syntax to expand into a longer set of instructions at compile-time. This gives the capability to evolve the language to fit personal needs.

Pantry, implements a hygienic text-substitution macro system for Python. Pantry achieves this through the introduction of an additional preparsing step that utilizes parsing and lexing of the source code. Pantry proposes a way to simply declare a pattern …


Gradubique: An Academic Transcript Database Using Blockchain Architecture, Thinh Nguyen Dec 2018

Gradubique: An Academic Transcript Database Using Blockchain Architecture, Thinh Nguyen

Master's Projects

Blockchain has been widely adopted in the last few years even though it is in its infancy. The first well-known application built on blockchain technology was Bitcoin, which is a decentralized and distributed ledger to record crypto-currency transactions. All of the transactions in Bitcoin are anonymously transferred and validated by participants in the network. Bitcoin protocol and its operations are so reliable that technologists have been inspired to enhance blockchain technologies and deploy it outside of the crypto-currency world. The demand for private and non-crypto-currency solutions have surged among consortiums because of the security and fault tolerant features of blockchain. …


An Open Source Discussion Group Recommendation System, Sarika Padmashali May 2017

An Open Source Discussion Group Recommendation System, Sarika Padmashali

Master's Projects

A recommendation system analyzes user behavior on a website to make suggestions about what a user should do in the future on the website. It basically tries to predict the “rating” or “preference” a user would have for an action. Yioop is an open source search engine, wiki system, and user discussion group system managed by Dr. Christopher Pollett at SJSU. In this project, we have developed a recommendation system for Yioop where users are given suggestions about the threads and groups they could join based on their user history. We have used collaborative filtering techniques to make recommendations and …


Web - Based Office Market, Manodivya Kathiravan May 2017

Web - Based Office Market, Manodivya Kathiravan

Master's Projects

People who work in an office often have different pools of resources that they want to exchange. They want to trade their resources/work(seller) with a person who wants that particular resource(buyer) and in return get another resource the buyer offers. These kind of exchanges are often called Barter-exchanges where an item is traded for another item without the involvement of actual money. An exchange is set to be complete when there is a match between an available item and a desired item. This exchange is called direct exchange. When an item desired by one user is made available through a …


Library For Writing Contracts For Java Programs Using Prolog, Yogesh Dixit May 2017

Library For Writing Contracts For Java Programs Using Prolog, Yogesh Dixit

Master's Projects

Today many large and complex software systems are being developed in Java. Although, software always has bugs, it is very important that these developed systems are more reliable despite these bugs.

One way that we can help achieve this is the Design by Contract (DbC) paradigm, which was first introduced by Bertrand Meyer, the creator of Eiffel. The concept of DbC was introduced for software developers so that they can produce more reliable software systems with a little extra cost. Using programming contracts allows developer to specify details such as input conditions and expected output conditions. Doing this makes it …


A Ltihub For Composite Assignments, Sunita Rajain May 2017

A Ltihub For Composite Assignments, Sunita Rajain

Master's Projects

Learning management systems (LMS) such as Canvas and Blackboard use Learning Tool Interoperability (LTI) as their main integration point for external learning tools. Each external tool provider has to implement LTI specifications or follow LTI standards that is a time consuming and complex process as there is no easy to follow specification available. Through this project, I have developed a system that follows the LTI specifications and integrates the CodeCheck autograder and interactive exercises with any LMS. I developed a Java based web app named LTIHub that acts as a mediator between LMS and any Learning Tool Provider. The LTIHub …


A Chatbot Framework For Yioop, Harika Nukala May 2017

A Chatbot Framework For Yioop, Harika Nukala

Master's Projects

Over the past few years, messaging applications have become more popular than Social networking sites. Instead of using a specific application or website to access some service, chatbots are created on messaging platforms to allow users to interact with companies’ products and also give assistance as needed. In this project, we designed and implemented a chatbot Framework for Yioop. The goal of the Chatbot Framework for Yioop project is to provide a platform for developers in Yioop to build and deploy chatbot applications. A chatbot is a web service that can converse with users using artificial intelligence in messaging platforms. …


Interactive Computer Science Exercises In Edx, Hong Le May 2016

Interactive Computer Science Exercises In Edx, Hong Le

Master's Projects

This project focuses on improving online learning courses for Computer Science. My approach is to create a platform in which interactive exercises can be implemented for students to work on. Methodology includes creating plugins for interactive exercises using XBlock, a component architecture for building independent online courses on edX. The exercises are based on existing exercises like CodeCheck and Wiley’s InterActivities Exercise System. In order to integrate these exercises, I implemented CodeCheck XBlock and Interactive XBlock. These Xblocks allow students to work on interactive exercises on edX, and instructors to view and download students’ submissions.


A Content-Sensitive Wiki Help System, Eswara Satya Pavan Rajesh Pinapala Dec 2014

A Content-Sensitive Wiki Help System, Eswara Satya Pavan Rajesh Pinapala

Master's Projects

Context-sensitive help is a software application component that enables users to open help pertaining to their state, location, or the action they are performing within the software. Context-sensitive “wiki” help, on the other hand, is help powered by a wiki system with all the features of context-sensitive help. A context-sensitive wiki help system aims to make the context-sensitive help collaborative; in addition to seeking help, users can directly contribute to the help system. I have implemented a context-sensitive wiki help system into Yioop, an open source search engine and software portal created by Dr. Chris Pollett, in order to measure …


Online And Offline Ebook Management System Using W-Cms, Rohan Vibhandik Apr 2011

Online And Offline Ebook Management System Using W-Cms, Rohan Vibhandik

Master's Projects

In this internet and smart-phone era paper books are almost obsolete. Many developers have come up with the eBooks which can be read online on computer or on a smart-phone. Users can now access them offline any time without carrying a bulky pBook (Paper Book). The stable eBook application should restrict and control the use of contents to protect the copyrights. Encryption and enforcement of digital policies are generally managed by Digital Rights Management (DRM). The stable system for online as well as offline readers safeguard the intellectual properties for authors, publishers by providing a protection to their digital content, …


Video Chat Application For Facebook, Shirali Chokshi Apr 2011

Video Chat Application For Facebook, Shirali Chokshi

Master's Projects

This project is mainly written for the facebook users. In today’s world, there are many social networking sites available. Among those social networking web sites, facebook is widely used web site. Like all other social networking web sites, Facebook also provides many features to attract more and more users. But it lacks in providing the most important feature of social networking, i.e. video chat. I explore the different options and requirements needed to build the video chat application. I have also described the integration of the application with the facebook.


Web-Based Ide To Create Model And Controller Components For Mvc-Based Web Applications On Cakephp, Sugiharto Widjaja Dec 2010

Web-Based Ide To Create Model And Controller Components For Mvc-Based Web Applications On Cakephp, Sugiharto Widjaja

Master's Projects

A Web-based IDE that allows users to easily manage Model and Controller components of a CakePHP web application was developed. With this IDE, users are able to manage the model and controller components without having to write very much PHP code. They are able to create new model components without having to worry about creating the database tables for the models as the IDE creates them automatically. The IDE offers a simple interface for users to edit the schema of their models. Users can add or delete data from their models without dealing with the SQL insert/delete statements. The IDE …


View Component Of Web-Based Ide To Develop Web Applications In Cakephp, Swathi Vegesna Dec 2010

View Component Of Web-Based Ide To Develop Web Applications In Cakephp, Swathi Vegesna

Master's Projects

The aim of the project is to build a Web-based IDE (Integrated Development Environment) that enables users to create a Web application in PHP on the CakePHP framework. The view component of the IDE allows the users to build the CakePHP view templates, which include the HTML tags which can be properly linked with the controller functions. Users will be able to create the HTML form elements only by performing certain drags, drops and clicks. This project will create dynamic view elements, which is achieved by connecting them to the Controllers components. This IDE helps the users to create dynamic …


One Social, Sowmya Sampath Dec 2010

One Social, Sowmya Sampath

Master's Projects

Facebook streams and Twitter tweets represent user content in two common social media systems. Users often have accounts on both these systems and to keep their content current for both of them they must update each separately. It is thus difficult to manage and maintain both of these social networks together. The goal of this project is to build a social website called One Social, where users can view their Facebook streams and Twitter tweets in one single view and thereby easily organize and maintain their updates. In One Social, users can enter a status message and can share it …


Web-Based Ide For Interfacing View Controller, Tejasvi Palvai Dec 2010

Web-Based Ide For Interfacing View Controller, Tejasvi Palvai

Master's Projects

The main idea of this project is to develop a web-based IDE, which helps users to avoid installing or configuring the Desktop IDE. It also enables users to create XHTML pages using the drag and drop mechanism in Struts. Struts extends the Java Servlet API to encourage developers to adopt the MVC (Model-View- Controller) architecture. In this project, a web application for interfacing the view and controller parts of the MVC architecture was developed. This web-based IDE connects the View and Controller components when the user drags and drops HTML elements in the UI of the IDE. With this project, …