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

Software Engineering Commons

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

Articles 1 - 16 of 16

Full-Text Articles in Software Engineering

Procedural Level Generation For A Top-Down Roguelike Game, Kieran Ahn, Tyler Edmiston May 2023

Procedural Level Generation For A Top-Down Roguelike Game, Kieran Ahn, Tyler Edmiston

Honors Thesis

In this file, I present a sequence of algorithms that handle procedural level generation for the game Fragment, a game designed for CMSI 4071 and CMSI 4071 in collaboration with students from the LMU Animation department. I use algorithms inspired by graph theory and implementing best practices to the best of my ability. The full level generation sequence is comprised of four algorithms: the terrain generation, boss room placement, player spawn point selection, and enemy population. The terrain generation algorithm takes advantage of tree traversal methods to create a connected graph of walkable tiles. The boss room placement algorithm randomly …


Csc 71010/Csci 77100: Programming Languages/Software Engineering, Raffi T. Khatchadourian Jan 2023

Csc 71010/Csci 77100: Programming Languages/Software Engineering, Raffi T. Khatchadourian

Open Educational Resources

No abstract provided.


Wala Quick Start, Raffi T. Khatchadourian Jan 2023

Wala Quick Start, Raffi T. Khatchadourian

Open Educational Resources

Setting up and trying the TJ Watson Library for Analysis (WALA).


Building An Ast Eclipse Plug-In, Raffi T. Khatchadourian Jan 2023

Building An Ast Eclipse Plug-In, Raffi T. Khatchadourian

Open Educational Resources

Complete the Building an AST Eclipse Plug-in assignment. Once it works, find a medium-sized open-source Java project to run your plugin on. You may want to explore GitHub. Import the project into Eclipse and run your plug-in on it. Report on the following, which may require you to change some of the source code so that it is convenient:

  1. Project name.
  2. Project URL.
  3. Project description.
  4. The number of classes in the project.
  5. The number of user-defined methods in the project.
  6. For each class, the number of method calls.
  7. Statistics about the method calls:
    1. The total number of method calls …


Working With Control-Flow Graphs, Raffi T. Khatchadourian Jan 2023

Working With Control-Flow Graphs, Raffi T. Khatchadourian

Open Educational Resources

No abstract provided.


Model Transformations Between Sequence Diagram And Activity Diagram With Qvto, Yutong Xia Aug 2022

Model Transformations Between Sequence Diagram And Activity Diagram With Qvto, Yutong Xia

Undergraduate Student Research Internships Conference

Complex software systems are specified by various models denoting the behavior of the system components, the exchanges of messages and data among components, the intents of the system stakeholders, the flow of system processes, and the structure of the system as a collection of modules.

When such systems are maintained and evolved (e.g. by adding new functionality, fixing bugs, or porting to a new operating environment), one or more of these models are altered. This brings the system specification to an inconsistent state since some models reflect the new behavior while other models were not appropriately evolved.

This research presents …


Automated Extraction Of Key Words And Abstract, Oluwadarasimi Temitope Ogunshote Mr. Aug 2021

Automated Extraction Of Key Words And Abstract, Oluwadarasimi Temitope Ogunshote Mr.

Undergraduate Student Research Internships Conference

An application/program that automates the extraction of key words and abstracts from documents.


Poker Chip Calculator Application, Ryan Illies Apr 2021

Poker Chip Calculator Application, Ryan Illies

Student Academic Conference

Application to help start up in person poker games with friends.


Csci 40500/77100: Software Engineering, Raffi T. Khatchadourian Feb 2021

Csci 40500/77100: Software Engineering, Raffi T. Khatchadourian

Open Educational Resources

This course is intended to be an introductory survey on the fundamental concepts and principles that underlie current and emerging methods, tools, and techniques for the efficient engineering of high-quality software systems. This may include understanding and appreciating problems in large-scale software development such as functional analysis of information processing systems, system design concepts, timing estimates, documentation, and system testing.


Csci 40500/77100: Software Engineering, Raffi T. Khatchadourian Feb 2021

Csci 40500/77100: Software Engineering, Raffi T. Khatchadourian

Open Educational Resources

This course is intended to be an introductory survey on the fundamental concepts and principles that underlie current and emerging methods, tools, and techniques for the efficient engineering of high-quality software systems. This may include understanding and appreciating problems in large-scale software development such as functional analysis of information processing systems, system design concepts, timing estimates, documentation, and system testing.


Inheritance Details In Scala, Raffi T. Khatchadourian Sep 2020

Inheritance Details In Scala, Raffi T. Khatchadourian

Open Educational Resources

No abstract provided.


An Empirical Study Of Refactorings And Technical Debt In Machine Learning Systems, Yiming Tang, Raffi T. Khatchadourian, Mehdi Bagherzadeh, Rhia Singh, Ajani Stewart, Anita Raja Aug 2020

An Empirical Study Of Refactorings And Technical Debt In Machine Learning Systems, Yiming Tang, Raffi T. Khatchadourian, Mehdi Bagherzadeh, Rhia Singh, Ajani Stewart, Anita Raja

Publications and Research

Machine Learning (ML), including Deep Learning (DL), systems, i.e., those with ML capabilities, are pervasive in today's data-driven society. Such systems are complex; they are comprised of ML models and many subsystems that support learning processes. As with other complex systems, ML systems are prone to classic technical debt issues, especially when such systems are long-lived, but they also exhibit debt specific to these systems. Unfortunately, there is a gap of knowledge in how ML systems actually evolve and are maintained. In this paper, we fill this gap by studying refactorings, i.e., source-to-source semantics-preserving program transformations, performed in real-world, open-source …


An Empirical Study On The Use And Misuse Of Java 8 Streams, Raffi T. Khatchadourian, Yiming Tang, Mehdi Bagherzadeh, Baishakhi Ray Apr 2020

An Empirical Study On The Use And Misuse Of Java 8 Streams, Raffi T. Khatchadourian, Yiming Tang, Mehdi Bagherzadeh, Baishakhi Ray

Publications and Research

Streaming APIs allow for big data processing of native data structures by providing MapReduce-like operations over these structures. However, unlike traditional big data systems, these data structures typically reside in shared memory accessed by multiple cores. Although popular, this emerging hybrid paradigm opens the door to possibly detrimental behavior, such as thread contention and bugs related to non-execution and non-determinism. This study explores the use and misuse of a popular streaming API, namely, Java 8 Streams. The focus is on how developers decide whether or not to run these operations sequentially or in parallel and bugs both specific and tangential …


Data For The Review Of Gamified Fitness Tracker Apps, Aatish Neupane, Derek Hansen, Anud Sharma, Jerry Alan Fails Jan 2020

Data For The Review Of Gamified Fitness Tracker Apps, Aatish Neupane, Derek Hansen, Anud Sharma, Jerry Alan Fails

ScholarsArchive Data

This is a supplemental dataset to a paper that reviews 103 gamified fitness tracker apps and analyzes the presence and usage of various game elements. This dataset contains the list of those apps that were reviewed. It also contains the coding that represents the presence of difference game elements.


Ksugo, Chase Godwin May 2018

Ksugo, Chase Godwin

KSU Journey Honors College Capstones and Theses

KSUGo seeks to better enable students to interact with their community, maintain a level of safety on and off campus, improve their course management skills, and increase information propagation among students and campus officials. Currently, Kennesaw State does not have a dedicated general purpose native application on any mobile device platform for students, faculty, or staff to use for improving their everyday Kennesaw State experience. This project seeks to rectify that need by providing a native application with support for the Android platform.


Marick Test Matrix, Alan Ridlehoover Jan 2014

Marick Test Matrix, Alan Ridlehoover

Alan Ridlehoover

No abstract provided.