Yiming Tang Headshot

Yiming Tang

Assistant Professor, Software Engineering

Department of Software Engineering
Golisano College of Computing and Information Sciences

Yiming Tang

Assistant Professor, Software Engineering

Department of Software Engineering
Golisano College of Computing and Information Sciences

Currently Teaching

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-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-783
3 Credits
The first course in a two-course project experience. Students will need to determine, before they take the course, whether they will complete a thesis or a practical project. Students that choose thesis will work with an advisor (called a sponsor) to complete a scientific research study that results in a complete Master’s Thesis. Thesis project details will be determined by the student and their advisor. Students that choose the practical project will preferably work in a group to develop solutions to problems posed by either internal or external customers (also called sponsors). The size of the group may vary, and while a group is preferred, exceptions may be made to allow for one-person projects. The project may require considerable software development or evolution and maintenance of existing software products, and culminates with the completion and presentation of the first major increment of the project solution. Projects will be solicited by the department prior to students selecting (or being assigned to) the project that they will work on for the capstone. Sponsors may be internal or external to the software engineering department; they may be members of other departments, other colleges, other universities, or they may be industry professionals. The primary requirement for sponsors is that the sponsor be an expert in their field.