Kal Rabb
Senior Lecturer, Software Engineering
Department of Software Engineering
Golisano College of Computing and Information Sciences
585-475-2949
Office Location
Office Mailing Address
Software Engineering RIT 134 Lomb Memorial Drive, GOL-70-1690 Rochester, NY 14623
Kal Rabb
Senior Lecturer, Software Engineering
Department of Software Engineering
Golisano College of Computing and Information Sciences
Currently Teaching
GCIS-505
AI for Programmers
1 Credit
This is a one credit course for advanced GCCIS undergraduate students that describes concepts behind AI and the approaches to using AI in practical computing applications. The course will discuss the evolution of AI including its technical and cultural impacts. Special emphasis will be given to describing the usage of AI in software-centric applications and the current impact of AI in software development processes. Hands on programming is a core part of the course. Experience in python; databases and network APIs (RESTful APIs) expected.
SWEN-344
Engineering of Web Based Software Systems
3 Credits
A course in web engineering, emphasizing organizational aspects of web development, design and implementation by individuals and small teams. Students will be instructed in the proper application of software engineering principles to the creation of web applications using a software engineering mindset. Course topics will include, but not be limited to web usability, accessibility, continuous integration, continuous delivery, testing, web services, and databases. Students are expected to utilize these in order to ensure that a high quality product is created on time and on budget. A term-long project done in a studio format is used to reinforce concepts presented in class.
SWEN-543
Engineering of Enterprise Software Systems
3 Credits
This course addresses architecture-level design of large, enterprise-critical software systems. The course focuses on enterprise-level design patterns and on design approaches for object-oriented and aspect-oriented application containers: encapsulating database access, application distribution, concurrent session
management, security, scalability, reliability, web-based user interaction, and the programming models and tools to support system development, integration, testing, and deployment. Hands-on exercises and a team project will reinforce the course concepts and expose students to the complexity of these systems. Students will use industry standard tools and services. Students will gain exposure to emerging tools and technologies, including automation, AI tools, and AI services.
SWEN-566
AI Centric Software
3 Credits
This course will focus on building smart applications that use the power of Artificial Intelligence (AI). Students will develop skills in software design, such as extensibility, component selection, service-oriented approaches, security, and systems integration. Students will have hands-on assignments building “mini apps” using AI components across a variety of usage scenarios (pre-configured AI packages, LLMs …). Students will gain experience in using AI services to build software systems and using AI to develop software Students will explore possibilities with Agentic AI systems that provide service orchestration for automation.
SWEN-599
Independent Study
1-3 Credits
The student will work independently under the supervision of a faculty adviser on a topic not covered in other courses (proposal signed by a faculty member)
SWEN-643
Engineering of Enterprise Software Systems
3 Credits
This course addresses architecture-level design of large, enterprise-critical software systems. The course focuses on enterprise-level design patterns and on design approaches for object-oriented and aspect-oriented application containers: encapsulating database access, application distribution, concurrent session
management, security, scalability, reliability, web-based user interaction, and the programming models and tools to support system development, integration, testing, and deployment. Hands-on exercises and a team project will reinforce the course concepts and expose students to the complexity of these systems. Students will use industry standard tools and services. Students will gain exposure to emerging tools and technologies, including automation, AI tools, and AI services.
SWEN-665
AI Centric Software
3 Credits
This course will focus on building smart applications that use the power of Artificial Intelligence (AI). Students will develop skills in software design, such as extensibility, component selection, service-oriented approaches, security, and systems integration. Students will have hands-on assignments building “mini apps” using AI components across a variety of usage scenarios (pre-configured AI packages, LLMs …). Students will gain experience in using AI services to build software systems and using AI to develop software Students will explore possibilities with Agentic AI systems that provide service orchestration for automation.