Open Access. Powered by Scholars. Published by Universities.®
- Discipline
- Institution
- Keyword
-
- Software engineering (8)
- Programming languages (4)
- Machine learning systems (3)
- Syllabus (3)
- Android (2)
-
- Course (2)
- Empirical studies (2)
- Technical debt (2)
- AST (1)
- Algorithms (1)
- Application (1)
- Computational literacy (1)
- Computational thinking (1)
- Computer Science (1)
- Computer science (1)
- Concept drift (1)
- Control-flow graphs (1)
- Eclipse (1)
- Feedback loops (1)
- Fitbit (1)
- Fitness tracker (1)
- Functional programming (1)
- Gamification (1)
- Gamified (1)
- Inheritance (1)
- Ios (1)
- Java 8 (1)
- K-12 (1)
- Literacy (1)
- ML in production (1)
- Publication
- Publication Type
Articles 1 - 17 of 17
Full-Text Articles in Software Engineering
Ecu-Malnett V2, Matthew G. Gaber, Mohiuddin Ahmed, Michael N. Johnstone
Ecu-Malnett V2, Matthew G. Gaber, Mohiuddin Ahmed, Michael N. Johnstone
Research Datasets
ECU-MALNETT (ECU MALware NETwork Traffic) is a real world, reproducible dataset of labeled benign and malicious network flows built from the Peekaboo execution corpus. Peekaboo runs evasive malware with dynamic binary instrumentation and records raw host-level PCAPs while granting full Internet access, yielding noisy, real-world captures with background OS activity and concurrent processes. To derive trustworthy labels from these traces, we apply Construct, a baseline aware, zero-trust labeling framework. Construct first ingests a baseline capture to establish reference sets (DNS qnames, HTTP hosts, TLS SNIs, and socket endpoints) and grows a conservative benign IP pool only via whitelisted DNS resolutions. …
Challenges In Engineering Machine Learning (Software) Systems, Raffi T. Khatchadourian Ph.D.
Challenges In Engineering Machine Learning (Software) Systems, Raffi T. Khatchadourian Ph.D.
Open Educational Resources
Lecture slides on the software engineering challenges unique to machine learning systems, for an undergraduate software engineering course. After contrasting traditional programming with machine learning, the deck examines why the usual tools for managing complexity—abstraction, reuse, and composition—are harder to apply to ML, given the lack of clear specifications and modularity. It covers concept drift, feedback loops (illustrated with crime-prediction and recommendation examples), and the accumulation of technical debt in ML systems, including the role and pitfalls of notebooks in moving from experimentation to production. Based on "Machine Learning in Production/AI Engineering" by Christian Kaestner and Eunsuk Kang (Carnegie Mellon …
Introduction To Machine Learning And Machine Learning Systems, Raffi T. Khatchadourian Ph.D.
Introduction To Machine Learning And Machine Learning Systems, Raffi T. Khatchadourian Ph.D.
Open Educational Resources
Lecture slides introducing machine learning and machine learning systems for an undergraduate software engineering course. Topics include what machine learning is and how it differs from traditional programming, foundation models, the major types of learning (supervised, unsupervised, reinforcement, and others), and applications across domains. Using a food-delivery time-prediction case study, the deck walks through a typical ML pipeline—data collection and cleaning, feature engineering, model training, and evaluation—and covers evaluation methods (precision and recall, confusion matrices, error measures) along with underfitting versus overfitting and the realities of learning and evaluation in production. Based on "Machine Learning in Production/AI Engineering" by Christian …
Procedural Level Generation For A Top-Down Roguelike Game, Kieran Ahn, Tyler Edmiston
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 Khatchadourian
Csc 71010/Csci 77100: Programming Languages/Software Engineering, Raffi Khatchadourian
Open Educational Resources
No abstract provided.
Working With Control-Flow Graphs, Raffi Khatchadourian
Working With Control-Flow Graphs, Raffi Khatchadourian
Open Educational Resources
No abstract provided.
Building An Ast Eclipse Plug-In, Raffi Khatchadourian
Building An Ast Eclipse Plug-In, Raffi 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:
- Project name.
- Project URL.
- Project description.
- The number of classes in the project.
- The number of user-defined methods in the project.
- For each class, the number of method calls.
- Statistics about the method calls:
- The total number of method calls …
Wala Quick Start, Raffi Khatchadourian
Wala Quick Start, Raffi Khatchadourian
Open Educational Resources
Setting up and trying the TJ Watson Library for Analysis (WALA).
Poker Chip Calculator Application, Ryan Illies
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 Khatchadourian
Csci 40500/77100: Software Engineering, Raffi 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 Khatchadourian
Csci 40500/77100: Software Engineering, Raffi 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 Khatchadourian
Inheritance Details In Scala, Raffi Khatchadourian
Open Educational Resources
No abstract provided.
An Empirical Study Of Refactorings And Technical Debt In Machine Learning Systems, Yiming Tang, Raffi Khatchadourian, Mehdi Bagherzadeh, Rhia Singh, Ajani Stewart, Anita Raja
An Empirical Study Of Refactorings And Technical Debt In Machine Learning Systems, Yiming Tang, Raffi 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 Khatchadourian, Yiming Tang, Mehdi Bagherzadeh, Baishakhi Ray
An Empirical Study On The Use And Misuse Of Java 8 Streams, Raffi 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
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.
Computational Thinking And Literacy, Sharin Rawhiya Jacob, Mark Warschauer
Computational Thinking And Literacy, Sharin Rawhiya Jacob, Mark Warschauer
Journal of Computer Science Integration
Today’s students will enter a workforce that is powerfully shaped by computing. To be successful in a changing economy, students must learn to think algorithmically and computationally, to solve problems with varying levels of abstraction. These computational thinking skills have become so integrated into social function as to represent fundamental literacies. However, computer science has not been widely taught in K-12 schools. Efforts to create computer science standards and frameworks have yet to make their way into mandated course requirements. Despite a plethora of research on digital literacies, research on the role of computational thinking in the literature is sparse. …
Ksugo, Chase Godwin
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.