Robert St Jacques Headshot

Robert St Jacques

Senior Lecturer

Department of Software Engineering
Golisano College of Computing and Information Sciences

Robert St Jacques

Senior Lecturer

Department of Software Engineering
Golisano College of Computing and Information Sciences

Education

BS, MS, Rochester Institute of Technology

Currently Teaching

SWEN-261
3 Credits
An introductory course in software engineering, emphasizing the organizational aspects of software development and software design and implementation by individuals and small teams within a process/product framework. Topics include the software lifecycle, software design, user interface issues, specification and implementation of components, assessing design quality, design reviews and code inspections, software testing, basic support tools, technical communications and system documentation, team-based development. A term-long, team-based project done in a studio format is used to reinforce concepts presented in class.
SWEN-262
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 to concrete design problems. The relationship between design and related process issues such as testing, estimation, and maintenance are also discussed.
CSEC-123
4 Credits
A first course introducing students to the fundamentals of computational problem solving. Students will learn a systematic approach to problem solving, including how to frame a problem in computational terms, how to decompose larger problems into smaller components, how to implement innovative software solutions using a contemporary programming language, how to critically debug their solutions, and how to assess the adequacy of the software solution. Additional topics include an introduction to object-oriented programming and data structures such as arrays and stacks. Students will complete both in-class and out-of-class assignments. This course is co-listed as SWEN-123, CSEC-123 and ISTE-123; therefore students may only receive credit for one of these courses.
CSEC-124
4 Credits
A second course that delves further into computational problem solving, now with a focus on an object-oriented perspective. There is a continued emphasis on basic software design, testing & verification, and incremental development. Key topics include theoretical abstractions such as classes, objects, encapsulation, inheritance, interfaces, polymorphism, software design comprising multiple classes with UML, data structures (e.g. lists, trees, sets, maps, and graphs), exception/error handling, I/O including files and networking, concurrency, and graphical user interfaces. Additional topics include basic software design principles (coupling, cohesion, information expert, open-closed principle, etc.), test driven development, design patterns, data integrity, and data security. This course is co-listed as SWEN-124, CSEC-124 and ISTE-124; therefore students may only receive credit for one of these courses.
SWEN-123
4 Credits
A first course introducing students to the fundamentals of computational problem solving. Students will learn a systematic approach to problem solving, including how to frame a problem in computational terms, how to decompose larger problems into smaller components, how to implement innovative software solutions using a contemporary programming language, how to critically debug their solutions, and how to assess the adequacy of the software solution. Additional topics include an introduction to object-oriented programming and data structures such as arrays and stacks. Students will complete both in-class and out-of-class assignments. This course is co-listed as SWEN-123, CSEC-123 and ISTE-123; therefore students may only receive credit for one of these courses.
SWEN-124
4 Credits
A second course that delves further into computational problem solving, now with a focus on an object-oriented perspective. There is a continued emphasis on basic software design, testing & verification, and incremental development. Key topics include theoretical abstractions such as classes, objects, encapsulation, inheritance, interfaces, polymorphism, software design comprising multiple classes with UML, data structures (e.g. lists, trees, sets, maps, and graphs), exception/error handling, I/O including files and networking, concurrency, and graphical user interfaces. Additional topics include basic software design principles (coupling, cohesion, information expert, open-closed principle, etc.), test driven development, design patterns, data integrity, and data security. This course is co-listed as SWEN-124, CSEC-124 and ISTE-124; therefore students may only receive credit for one of these courses.
SWEN-601
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.
SWEN-562
3 Credits
This is the second course in a two-course, senior-level capstone project experience. Students submit one or more additional increments that build upon the solution submitted at the end of the first course. Students make major presentations for both customers as well as technical-oriented audiences, turn over a complete portfolio of project-related artifacts and offer an evaluation of the project and team experience.

In the News

  • June 3, 2019

    Graphic of GenCyber logo with 0s and 1s circling a globe.

    RIT hosts NSA-funded summer camps for teenagers to learn cybersecurity

    RIT is helping the area’s sharpest young minds gain an interest in cybersecurity careers through free summer programs for middle and high school students. The Co-ed RIT GenCyber camp will be held July 8–12, while the RIT GenCyber for Girls camp will be held July 22–26.