Robert St Jacques
Principal Lecturer, Software Engineering
Department of Software Engineering
Golisano College of Computing and Information Sciences
Robert St Jacques
Principal Lecturer, Software Engineering
Department of Software Engineering
Golisano College of Computing and Information Sciences
Education
BS, MS, Rochester Institute of Technology
Currently Teaching
GCIS-127
Software Development for Transfers
4 Credits
This accelerated course covers material from the first-year sequence of computing courses and provides the theoretical and practical foundation for all subsequent computing courses that require software development. The course stresses problem solving while covering modern software models, and theoretical approaches. Concepts of object-oriented design are a large part of the course including theoretical abstractions such as classes, objects, encapsulation, inheritance, interfaces, polymorphism, software design comprising multiple classes, data structures (e.g. lists, trees, sets, maps, and graphs), exception/error handling, concurrency, and graphical user interfaces. Additional topics include basic software design principles (coupling, cohesion, information expertise, open-closed principle, etc.), test driven development, design patterns, data integrity, and data security. The abstract nature of objects is discussed in several domains.
SWEN-262
Engineering of Software Subsystems
3 Credits
An introduction to the principles of the foundations of contemporary software design. Topics include software subsystem modeling, design patterns, design tradeoffs, and component-based software development, with a focus on application of these concepts (including AI-assistance) to concrete design problems. The relationship between design and related process issues such as testing, estimation, and maintenance are also discussed.
SWEN-440
Software System Requirements and Architecture
3 Credits
Principles and practices related to identifying software system stakeholders, eliciting functional and quality requirements, translating requirements into architectural structures, and analyzing candidate architectures with respect to the requirements.
SWEN-514
Engineering Cloud Software Systems
3 Credits
The course focuses on designing and implementing applications using cloud software systems infrastructure and technologies. The course introduces the basic concepts and knowledge on cloud computing systems and application infrastructure. It also briefly introduces key technologies and paradigms related to developing big data applications in the cloud. The course contains a set of related topics which are covered via hands-on class instruction, application development in teams, course materials, and class discussions. Programming projects and demo presentations are required.
SWEN-601
Software Construction
3 Credits
This is a programming based course to enhance individual, technical engineering knowledge and skills as preparation for masters level graduate work in computing. Students will be introduced to programming language syntax, object oriented concepts, data structures and foundational algorithms. An emphasis will be placed on obtaining practical programming skills, through regular programming assignments and practicum.
In the News
-
February 17, 2026
Honing résumés and mock interviews pave the way to co-ops
Muhammad Rafikov, a second-year computer science student, is heading to the Spring University-Wide Career Fair on the lookout for his second co-op. During this search, he plans to bring along everything he learned from his first internship last summer at Google.