J Scott Hawker Headshot

J Scott Hawker

Associate Professor
Department of Software Engineering
Golisano College of Computing and Information Sciences
Graduate Program Director, Software Engineering

585-475-2705
Office Location

J Scott Hawker

Associate Professor
Department of Software Engineering
Golisano College of Computing and Information Sciences
Graduate Program Director, Software Engineering

Education

BS, MS, Texas Technical University; Ph.D., Lehigh University

585-475-2705

Personal Links

Currently Teaching

SWEN-746
3 Credits
Software models help the software engineer to understand, specify, and analyze software requirements, designs, and implementations (code components, databases, support files, etc.). Model-driven development is a software engineering practice that uses tool-enabled transformation of requirements models to design models and then to code and associated implementation artifacts. Students will use the Unified Modeling Language (UML) and other modeling techniques to capture software requirements, designs, and implementations. Students will also use formal modeling methods to semi-automatically transform among the various models and to study the quality attributes of the modeled software, such as performance, reliability, security, and other qualities.
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.
SWEN-444
3 Credits
This course introduces quantitative models and techniques of human-computer interface analysis, design and evaluation, which are relevant to the software engineering approach of software development. User-focused requirements engineering topics are also covered. Contemporary human computer interaction (HCI) techniques are surveyed, with a focus on when and where they are applicable in the software development process. Students will deliver usable software systems derived from an engineering approach to the application of scientific theory and modeling. Other topics may include usability evaluation design, methods of evaluation, data analysis, social and ethical impacts of usability, prototyping and tools.
SWEN-561
3 Credits
The first course in a two-course, senior-level, capstone project experience. Students work as part of a team to develop solutions to problems posed by either internal or external customers. Problems may require considerable software development or evolution and maintenance of existing software products. Culminates with the completion and presentation of the first major increment of the project solution. Students must have co-op completed to enroll.
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.
SWEN-699
0 Credits
One block of full-time, paid employment in software engineering. See the software engineering graduate program coordinator or RIT's Office of Career Services and Cooperative Education for further details. Completion of all bridge courses and 17 semester hours of graduate courses are required for enrollment.
SWEN-790
6 Credits
This course provides the student with an opportunity to execute a thesis project, analyze and document the project in thesis document form. An in-depth study of a software engineering topic will be research focused, having built upon the thesis proposal developed prior to this course. The student is advised by their primary faculty adviser and committee. The thesis and thesis defense is presented for approval by the thesis adviser and committee.
SWEN-780
3 - 6 Credits
This course provides the student with an opportunity to explore a project-based research experience that advances knowledge in that area. The student selects a research problem, conducts background research, develops the system, analyses the results, and builds a professional document and presentation that disseminates the project. The report must include an in-depth research report on a topic selected by the student and in agreement with the student's adviser. The report must be structured as a conference paper, and must be submitted to a conference selected by the student and his/her adviser.
SWEN-781
0 Credits
This course provides the student with an opportunity to complete their capstone project, if extra time if needed after enrollment in SWEN-790. The student continues to work closely with his/her adviser.
SWEN-791
0 Credits
This course provides the student with an opportunity to complete their thesis project once having enrolled in both thesis courses (SWEN-794, SWEN-795) if extra time is needed. The student continues to work closely with his/her adviser and thesis committee.
SWEN-799
3 - 6 Credits
This course provides the graduate student an opportunity to explore an aspect of software engineering in depth, under the direction of an adviser. The student selects a topic, conducts background research, develops the system, analyses results, and disseminates the project work. The report explains the topic/problem, the student's approach and the results. (Completion of 9 semester hours is needed for enrollment)
SWEN-732
3 Credits
This course covers processes, tools, and techniques for software development, in general, and collaborative, distributed software development, in particular. Students will learn how to design a process specific to their organization and development project needs. This includes how to select a software development life-cycle model, how to select and sequence the development and management activities of a collaborative, distributed software development team structure and dynamics, and how to define the work products, tools, and methods used to perform those activities. The Software Process Engineering Metamodel (SPEM, an Object Management Group standard) will serve to graphically describe, analyze, discuss, and improve software development processes. Special attention will be given to collaboration needs and approaches for small and large teams that may be globally distributed.
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.

Select Scholarship

Published Conference Proceedings
Hawker, Scott and E.S. Mesh. "Scientific Software Process Improvement Decisions: A Proposed Research Strategy." Proceedings of the 2013 5th International Workshop on Software Engineering for Computational Science and Engineering. n.p., 2013. Print.
Mesh, Erika S. and J. Scott Hawker. "Scientific Software Process Improvement Decisions: A Proposed Research Strategy." Proceedings of the 2013 Fifth International Workshop on Software Engineering for Computational Science and Engineering. Ed. Jeffrey Carver. San Francisco, CA: IEEE, 2013. Print.
Published Article
Hawker, J. Scott et al. “An Integrated Model to Study Environmental, Economic, and Energy Trade-Offs in Intermodal Freight Transportation,” iEMSs International Congress on Environmental Modelingand Software. 2010. n.p. Web. "  É  *