Tag Archives: programming

Android Apps The Right Way

Computer Systems Technology Colloquium Series presents:
Android Apps The Right Way

Michael Barnathan

Computer Systems Technology
New York City College of Technology
Room N906
Thursday, March 5, 2015 12-1pm
Light refreshments will be served!

“Mobile is eating the world,” but few developers realize that mobile software is written very differently from desktop software. This leads to lots of mobile apps that simply don’t work well, suck up battery power, or can’t recover from being put into the background. I’ll discuss a few such apps on the Android platform, and explain how they should have been written to improve user experience, illustrating general mobile development principles by example.

Dr. Michael Barnathan is a Director of Engineering at Amplify Access, which deploys educational tablets to K-12 schools across the country. Prior to joining Amplify, Michael founded Clipless, the first contextual deals startup, which survived two appearances on the front page of TechCrunch and was acquired 8 months from founding. Michael’s prior experience also includes a Senior Software Engineer position at Google. He holds a Ph. D. in machine learning from Temple University, with a particular emphasis on using computer vision techniques to automatically diagnose medical scans.


Fraglight: Shedding Light on Broken Pointcuts in Evolving Aspect-Oriented Software

Software Engineering Seminar Series
Fraglight: Shedding Light on Broken Pointcuts in Evolving Aspect-Oriented Software
Raffi Khatchadourian

Computer Systems Technology
New York City College of Technology, Room N921
Thursday, November 13 1-2pm

Aspect-Oriented Programming compliments Object-Oriented Programming by modularizing code that would otherwise be scattered and tangled throughout a system. Since its inception in the last decade, it has made a substantial impact in both academia and industry, with many Aspect-Oriented languages emerging. It has influenced many new language features, such as method interceptors in .NET and categories in Objective-C, as well as application frameworks, such as Spring and JBoss.

While providing many benefits, however, Aspect-Oriented programs can experience other complications as software evolves. Because the paradigm relies on queries over the program’s dynamic execution, certain program changes can adversely effect to function. Deciding which queries have broken is a daunting venture, especially in large and complex systems. In this talk, Dr. Khatchadourian will present his ongoing, joint work on an automated approach that recommends likely modifications to aspects due to a certain code change. The approach has been implemented as an open-source extension to the popular Mylyn Eclipse Integrated Development Environment plugin, which maintains focused contexts of entities relevant to the task at hand.

Dr. Raffi Khatchadourian is an Assistant Professor in the Department of Computer Systems Technology at New York City College of Technology of the City University of New York. He received his MS and PhD degrees in Computer Science from Ohio State University and his BS degree in Computer Science from Monmouth University, NJ. Prior to joining City Tech, he was a Software Engineer at Apple, Inc., Cupertino, California, where he worked on Digital Rights Management (DRM) for iTunes, iBooks, and the App store. He also developed distributed software that tests various features of iPhones, iPads, and iPods. His research involves automated software evolution, such as refactoring and source code recommendation systems. He is focused on easing the burden associated with correctly and efficiently evolving large and complex software by providing automated tools that can be easily used by developers.