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

Articles 1 - 16 of 16

Full-Text Articles in Programming Languages and Compilers

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.


Csci 49380/79526: Fundamentals Of Reactive Programming - Assignment 5, Raffi T. Khatchadourian Nov 2020

Csci 49380/79526: Fundamentals Of Reactive Programming - Assignment 5, Raffi T. Khatchadourian

Open Educational Resources

No abstract provided.


Collections In Scala, Raffi T. Khatchadourian Oct 2020

Collections In Scala, Raffi T. Khatchadourian

Open Educational Resources

No abstract provided.


Csci 49380/79526: Fundamentals Of Reactive Programming - Assignment 4, Raffi T. Khatchadourian Oct 2020

Csci 49380/79526: Fundamentals Of Reactive Programming - Assignment 4, Raffi T. Khatchadourian

Open Educational Resources

No abstract provided.


Csci 49380/79526: Fundamentals Of Reactive Programming - Assignment 3, Raffi T. Khatchadourian Oct 2020

Csci 49380/79526: Fundamentals Of Reactive Programming - Assignment 3, Raffi T. Khatchadourian

Open Educational Resources

No abstract provided.


Csci 49380/79526: Fundamentals Of Reactive Programming- Assignment 1, Raffi T. Khatchadourian Oct 2020

Csci 49380/79526: Fundamentals Of Reactive Programming- Assignment 1, Raffi T. Khatchadourian

Open Educational Resources

No abstract provided.


Csci 49380/79526: Fundamentals Of Reactive Programming- Syllabus, Raffi T. Khatchadourian Oct 2020

Csci 49380/79526: Fundamentals Of Reactive Programming- Syllabus, Raffi T. Khatchadourian

Open Educational Resources

No abstract provided.


Csci 49380/79526: Fundamentals Of Reactive Programming - Assignment 2, Raffi T. Khatchadourian Oct 2020

Csci 49380/79526: Fundamentals Of Reactive Programming - Assignment 2, Raffi T. Khatchadourian

Open Educational Resources

No abstract provided.


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 …


Rhetsec_ | Rhetorical Security, Jennifer Mead Dec 2019

Rhetsec_ | Rhetorical Security, Jennifer Mead

Culminating Projects in English

Rhetsec_ examines the rhetorical situation, the rhetorical appeals, and how phishing emails simulate "real" emails in five categories of phishing emails. While the first focus of cybersecurity is security, you must also understand the language of computers to know how to secure them. Phishing is one way to compromise security using computers, and so the computer becomes a tool for malicious language (phishing emails and malware) to be transmitted. Therefore to be concerned with securing computers, then you must also be concerned with language. Language is rhetoric's domain, and the various rhetorical elements which create an identity of the phisher …


Cs04all: List Comprehensions, Hunter R. Johnson Feb 2019

Cs04all: List Comprehensions, Hunter R. Johnson

Open Educational Resources

List Comprehensions

This is a tutorial on list comprehensions in Python, suitable for use in an Intro or CS0 course. We also briefly mention set comprehensions and dictionary comprehensions.

https://cocalc.com/share/bde99afd-76c8-493d-9608-db9019bcd346/171/list_comprehensions?viewer=share/

This OER material was produced as a result of the CS04ALL CUNY OER project