Mentored Research Opportunities
Students are encouraged to work on research projects with faculty members to gain valuable practical experience. The mentored research project can fulfill the practicum experiences that your program of study requires. Mentored research counts as either CSC 498 or 499, depending on level of experience. CSC 499 is reserved for projects that build upon a previous CSC 498 project. For internship opportunities, please log on to LionsPro through Career Services and contact our internship coordinator. Please also check the department’s internship web pages for more information.
Please read through the project descriptions below. When you find a project that intrigues you, schedule an appointment with the faculty member indicated to discuss your interests and qualifications. If you are invited to join the project, please complete the following forms:
Be sure to include the correct course and section number, GPA, earned hours, and your signature. The contract should be approved by the faculty mentor and then submitted for review by the Department Chair. The form will then need to be approved by the dean’s office and taken over to Records & Registration for in-person registration for that course.
If you want to use REU, MUSE, or any other external experience to fulfill the capstone requirement, please make sure these experiences satisfy the department policy.
Research projects are listed in alphabetical order by faculty member’s last name. As new proposals arrive, this list will be updated. If you have a great idea for a project that you don’t see listed, please meet with the faculty member most closely interested in that area and propose your idea.
Dr. Peter DePasquale:
- Continued Development of COMTOR – a Java-based Java Source Code Comment Tutoring and Analysis System – Your role in this project would be to develop enhancements to the COMTOR project exclusively via the cloud-based interface (both www and api). Tasks include new module development and integration, automated deployment development and platform enhancements. All tasks require solid Java skills (cloud interface is based on Java servlets, ANT, advanced CSC 230/415 concepts). Git experience is a plus.
Dr. Deborah Knox:
- Mobile computing for iOS, Android, or non-native programming – No previous mobile application development experience is required. Join a successful mobile app development team!
Possible projects include:
- TCNJ Campus Tour app needs a redesign. Project may integrate of points-of-interest technology.
- Indoor navigation using technology such as beacons or WiFi (indoor positioning systems) to augment navigation in the TCNJ Library
- Music repertoire personal assistant. Explore optical character recognition (OCR) technology and integrate data management and personalization strategies to create a new approach to tracking works performed or under study
- Explore platform independent application development tools (producing non-native apps for wider distribution on any platform)
- Recent products from the TCNJ LakesideApps Development Team, led by Dr. Knox include:iOS Platform
- TCNJ Connect (Version 2 released October 6, 2014)
- TCNJ Library (Version 2 expected Fall 2014)
- TCNJ Campus Tour
- TCNJ Connect (expected Fall 2014)
- TCNJ BookNav (release date pending)
Campus stakeholders test all apps branded with the TCNJ name and campus administrative approval was received prior to public release.
- Big Data and Sensor Based Monitoring - Sensors collect volumes of data, some of which is sensitive. Explore methods of data collection from sensors, handle storage, and perform extraction. Conduct research in current technologies for data masking, which maintains data’s utility, as well as redaction approaches for unstructured data for maintaining privacy.Other projects may be proposed. Other research areas may be explored. Please request an appointment to discuss your interests.
Dr. Jikai Li:
- Secure cloud file storage – This project will try to develop a framework, including encryption process and key management on client side, to encrypt/decrypt the files to/from cloud. We expect the framework will work on a broad range of electronic devices. The software is simple enough to be able reinvented if it is lost. The key management is solid and convenient to users.
- Spoofing caller detection – It is becoming common practice that a hacker/telemarketer to spoof caller ID. This ongoing project will explore the possibility of using tools like Asterisk to detect the spoofing caller ID. Additional info used for detection can be online registration info etc.
Dr. Dimitris Papamichail:
My research focuses on applied algorithms and related software. Projects I undertake usually involve the design and/or implementation of algorithms. Several projects involve the creation of a client-server application and a web based interface. I’m looking for students interested to work on the following topics:
- Synthetic gene design – Design algorithms and software to construct novel genes. I have several different projects in this area, ranging from very theoretical to very practical. Part of this project is funded by the NSF and involved students ideally should have taken a course in algorithms and/or have significant programming experience with web development. It would be useful to have some introductory knowledge of biology, but not a requirement.
- Phylogenetic stemmatics – This project aims to develop a set of computational tools that can be used in computational textual criticism of Latin and other texts. The aim is to create methods for the accurate representation of the relationships of various manuscripts from different time periods, which have been copied from an original seminal work. This project involves design of algorithms on trees/graphs, and implementation of efficient software tools.
- Automated transcriptions for music instruments – I am interested to pursue algorithmic techniques for automatically transcribing midi files into music scores (or tabs) for a variety of instruments, starting with guitar. Interested students should have some background in algorithms, programming experience, and playing knowledge of at least one music instrument (preferably polyphonic).
- Other algorithmic projects – I have a variety of other smaller scale projects, involving algorithms, tools and software, mostly related to optimization problems in computational biology, but several other areas as well, such as GPU programming and gamification. Feel free to come and ask about other available projects, or bring your own ideas involving algorithms, heuristics, and anything related!
Dr. Monisha Pulimood:
- CABECTPortal - Continue research, design and development of the collaborative infrastructure to support the NSF-funded TUES grant described on her Research (http://pulimood.pages.tcnj.edu/research/) page. This project will entail integrating social computational concepts into the development of the web and mobile applications.
- SOAP (Students Organizing Against Pollution) – Continue development of the web application that manages data on brownfields, and legislation related to pollution and the environment. See (http://pulimood.pages.tcnj.edu/research/) for more details on this project.
Dr. Andrea Salgian:
- Programming the Microsoft Kinect – expand the conducting tutor application, or develop gesture recognition interfaces for other applications (games, sign language, etc.)
- Programming the NAO robot – NAO is a humanoid robot with 25 degrees of freedom (joints), and a variety of sensors, and it comes with its own graphical programming language as well as a C++ SDK. Learn how to program it in these environments and get it to do new tricks.
- Virtual conductor – refine our existing algorithm for a virtual conductor conducting an orchestra; investigate the MusicXML format for digitized sheet music, add feedback capabilities, create an animated conductor
- Computer vision applications on mobile platforms – investigate how to write applications to process images from the camera or the photo album on iOS and Android devices, as well as the use of the OpenCV library on on mobile devices. Possible applications include image processing effects, object, face and gesture recognition algorithms, steganography. Investigate the use of the cloud for high computational needs.