Rajendra Raj Headshot

Rajendra Raj

Professor

Department of Computer Science
Golisano College of Computing and Information Sciences

585-475-2595
Office Location
Office Mailing Address
Department of Computer Science Rochester Institut

Rajendra Raj

Professor

Department of Computer Science
Golisano College of Computing and Information Sciences

Education

B.Tech. in Electrical Engineering, IIT Madras, India; MS in Computer Science, University of Tennessee, Knoxville; Ph.D. in Computer Science, University of Washington, Seattle.

585-475-2595

Personal Links
Areas of Expertise

Select Scholarship

Journal Paper
Simha, Rahul, Amruth N. Kumar, and Rajendra K. Raj. "Undergraduate Computer Science Curricula." Communications of the ACM 67. 2 (2024): 29-31. Print.
Romanowski, Carol, et al. "Regional Response to Large-scale Emergency Events: Building on Historical Data." International Journal of Critical Infrastructure Protection 11. (2015): 12-21. Print.
Etlinger, Henry A. and Rajendra K. Raj. "An Approach to Engaging Students in the Assessment Process." The Newsletter of the Assessment Network of New York 3. 3 (2014): 3-4. Web.
Published Conference Proceedings
Kumar, Amruth N. and Rajendra K. Raj. "Computer Science Curricula 2023 (CS2023): The Final Report." Proceedings of the SIGCSE 2024: 55th ACM Technical Symposium on Computer Science Education V. 2. Ed. Lina Battestilli, Samuel A. Rebelsky, and Libby Shoop. New York, NY: Association for Computing Machinery, 2024. Print.
Blair, Jean R. S., et al. "Infusing Principles and Practices for Secure Computing Throughout an Undergraduate Computer Science Curriculum." Proceedings of the ACM ITiCSE '20, Trondheim, Norway. Ed. NA. New York, NY: ACM, 2020. Print.
Raj, Rajendra K., et al. "High Performance Computing Education: Current Challenges and Future Directions." Proceedings of the ITiCSE-WGR '20, Trondheim, Norway. Ed. NA. New York, NY: Association for Computing Machinery, 2020. Print.
Show 31 More
Invited Article/Publication
Raj, Rajendra K. and Allen Parrish. "Toward Standards in Undergraduate Cybersecurity Education in 2018." IEEE Computer. (2018). Print.
Peer Reviewed/Juried Poster Presentation or Conference Paper
Liu, Xumin, et al. "Incorporating Service-Oriented Programming into the Computer Science Curriculum using Course Modules." Proceedings of the Envisioning the Future of Undergraduate STEM Education (EnFUSE): Research and Practice. Ed. N/A. Washington, DC: American Association for the Advancement of Science (AAAS) and the National Science Foundation's Division of Undergraduate Education.

Currently Teaching

CSCI-620
3 Credits
This course provides a broad introduction to the exploration and management of large datasets being generated and used in the modern world. First, practical techniques used in exploratory data analysis and mining are introduced; topics include data preparation, visualization, statistics for understanding data, and grouping and prediction techniques. Second, approaches used to store, retrieve, and manage data in the real world are presented; topics include traditional database systems, query languages, and data integrity and quality. Case studies will examine issues in data capture, organization, storage, retrieval, visualization, and analysis in diverse settings such as urban crime, drug research, census data, social networking, and space exploration. Big data exploration and management projects, a term paper and a presentation are required. Sufficient background in database systems and statistics is recommended.
CSCI-622
3 Credits
This course examines policies, methods and mechanisms for securing enterprise and personal data and ensuring data privacy. Topics include data integrity and confidentiality; access control models; secure database architectures; secure transaction processing; information flow, aggregation, and inference controls; auditing; securing data in contemporary (relational, XML and other NO SQL) database systems; data privacy; and legal and ethical issues in data protection. Programming projects are required.
CSCI-642
3 Credits
This course covers concepts, principles, and practices of secure coding. It explores secure development and engineering techniques, practical defensive programming techniques, and modern tools for delivering secure programs. The role of software verification and validation, including testing and formal methods, is stressed. The course also focuses on the design of modern secure programming languages and the role of the compiler in generating defensive code. The societal need for secure programming is also highlighted. Note: Programming projects, presentations, and a research report will be required.
CSCI-652
3 Credits
An introduction to the study of distributed systems. The course covers distributed system architectures such as client-server and peer-to-peer, distributed system design issues such as communication, fault tolerance, coordination, and deadlock, distributed system middleware such as remote method invocation (RMI) and tuple space, and the theory of distributed algorithms such as logical clocks and leader election. Students will also learn about ethical and legal concerns in computing and research. Programming projects are required.

In the News