Mission

The mission of the Graduate Program in Software Engineering (SWE) is to prepare highly skilled software engineering professionals that are capable of building complex mission-critical software systems and/or conducting research to create new, state-of-the-art software technologies that solve science, business, engineering, and technology challenges faced by our society, while observing the highest ethical standards and appropriate engineering practices.

Program Objectives

The SWE seeks to produce professionals with advanced knowledge in Software Engineering in areas of program design, testing, maintenance, production deployment, monitoring, secure software engineering, software protection, and data engineering. Graduates from the program shall be able to:

1. Excel in the execution of research projects, making original contributions to the field and securing external funding or investments for their institution.

2. Lead the development of complex mission-critical software systems.

3. Contribute to the advancement of society through the ethical applications of their knowledge and skills.

4. Demonstrate professional competence, leadership, and entrepreneurial spirit to excel in the practice of their profession.

5. Effectively participate and contribute in global markets.

6. Pursue advanced studies, continued education, and be involved in professional societies to succeed in a constantly evolving field.

About the Program

The proposed SWE program will be a research-oriented program, awarding master’s and doctoral degrees to its students. The SWE Graduate Program shall be administered by the Department of Computer Science and Engineering (CSE) at UPRM.

The graduate program in software engineering (SWE) offers three graduate degrees:

  • Master of Science (MS)
  • Master of Engineering (ME)
  • Doctor of Philosophy (PhD)

Location

Graduate Program in Software Engineering - UPRM
Department of Computer Science and Engineering

University of Puerto Rico at Mayagüez
259 Alfonso Valdés Cobián Blvd.
Luis Stefani Bldg., Office S-220
Mayagüez, PR 00681
787-832-4040, Ext: 5217

Master Program in Software Engineering

The Master in Software Engineering degree is intended for students who have earned a bachelor degree in Software Engineering, Computer Science and Engineering, Computer Science, Computer Engineering, or closely related fields. It aims at providing students with advanced knowledge in Software Engineering in areas of program design, testing, maintenance, production deployment, monitoring, secure software engineering, software protection, and data engineering.

Students shall acquire high order skills for software analysis, and an ability to contribute effectively to the solution of complex problems through the development of software artifacts for production use. The program has a total of thirty (30) credits, and should be completed within two (2) years upon obtaining the bachelor degree.

These are distributed as follows:

  • 9 credits in core courses (Software Engineering Principles, Database Systems Engineering, Secure Software Systems)
  • 9 credits in electives within the area of specialization
  • 6 credits in electives out of the area of specialization
  • 6 credits in Master’s Thesis (Plan 1) or in Master’s Project (Plan 2) or in additional electives within the area of specialization (Plan 3)
PhD Program in Software Engineering

The PhD in Software Engineering (SWE) is a research training degree conceived as a research-oriented graduate experience when compared to the Master in SWE. The PhD in SWE has an emphasis on conducting state-of-the-art research endeavors, as opposed to completing extensive course sequences. Similar to the Master in SWE, it aims at providing students with advanced knowledge in Software Engineering in areas of program design, testing, maintenance, production deployment, monitoring, secure software engineering, software protection, and data engineering.

Being a research training degree, the additional educational activities of the PhD in SWE emphasize on the development of skills that are necessary to conduct research, and on the actual production of a high-quality scholarly work on the frontier of knowledge and technology in Software Engineering. The PhD degree has a total of fifty-four (54) credits for students with a bachelor degree, and should be completed in four (4) years upon completion of a bachelor degree. For students with the MS/ME degree in SWE, the may be completed in two (2) years upon completion of the MS/ME degree.

These are distributed as follows:

  • 9 credits in core courses (Software Engineering Principles, Database Systems Engineering, Secure Software Systems)
  • 15 credits in electives within the area of specialization
  • 6 credits in electives out of the area of specialization
  • 3 credits in Doctoral Seminar
  • 3 credits in Advanced Topics
  • 18 credits in Doctoral Dissertation

NOTE: This a partial list of courses. Other courses may apply according to specific student’s needs.

Core Courses
  • INSO 6005 – Software Engineering Principles: Comprehensive study of modern software engineering principles and techniques for the efficient delivery and maintenance of correct, scalable, and secure software systems for production use. Specification, design, and implementation of software systems using cloud technologies, agile methods, SCRUM, design patterns, refactoring, continuous integration, continuous delivery, logging systems, and software quality assurance.
  • INSO 6006 – Database Systems Engineering: Comprehensive study of engineering principles to build the internals of modern database management systems. Design and implementation of row-oriented systems, column- oriented systems, in-memory engines, multi-core data engines, vectorized query executors, and RDMA systems.
  • INSO 6007 – Secure Software Systems: Concepts of secure software development in the context of secure operating system design principles, protection methods, access control, authentication, vulnerability analysis and case studies. Case studies will focus on secure software systems for applications such as securing data at rest, smart devices and autonomous systems.
Software Engineering Graduate Elective Courses

The elective courses provide advanced, domain-specific knowledge in various software engineering and related computing topics. They complement the core courses by exposing students to novel technologies such as DevOps, MLOps, Medical Applications, Cloud Computing, Machine Learning, and Big Data Analytics, to name a few.

INSO 6010 – Development and Operations: Comprehensive study of DevOps software engineering principles and techniques for the rapid and continuous development, integration, and delivery of software systems for production use. Design and implementation of DevOps infrastructure using software containers, microservices, continuous integration, continuous delivery, logging systems, and collaborations tools.

INSO 6015 – Machine Learning and Operations: Comprehensive study of MLOps software engineering principles and techniques for the rapid and continuous development, integration, and delivery of Machine Learning production systems. Design and implementation of data processing pipelines, effective data labeling and validation, data augmentation, model search, model analysis, resource management, model serving, model management and delivery, and monitoring and logging.

INSO 6030 – Web and Mobile Application Engineering: Comprehensive study of software engineering principles and techniques for the development of mobile and web applications in production systems. Design and implementation of multi- tier applications, REST APIs, distributed data persistence layers, secure web sockets APIs, web-based user interfaces, hybrid and native mobile apps, APIs to manage phone hardware, instrumentation, and monitoring systems

INSO 6040 – Health-related Application Engineering: Analysis of health-related data in different domains, such as images, time series analysis of physiological data, text in medical documents, and electronic health records. The challenges and advantages of using artificial intelligence (AI) to solve problems in the area of medicine will be discussed. Discussion of fundamental concepts in deep learning systems, machine learning, supervised learning, distributed learning, image analysis, text data representation, problem solving strategies involving multimodal data, and interdisciplinary projects using AI.

INSO 6050 – Software Engineering for Edge Systems: Comprehensive study of existing frameworks and applications in Edge Computing, with a focus on big data analytics and distributed computing. Design and implementation of computing systems over edge devices and the cloud including synchronization, resource management, fault tolerance, services, multi-sensor data analytics, and their applications.

INSO 6070 – Software-Defined Networks Engineering: Comprehensive study of engineering principles to develop modern software-defined networking (SDN) systems. Analysis, design and implementation of functions running on SDN controllers, SDN switches, and SDN applications.

INSO 6080 – Deep Learning Engineering: Engineering Principles of deep learning with deep neural network architectures. Study of algorithms and implementation techniques for fully connected neural networks, convolutional networks, recurrent networks, word embeddings, attention methods, generative adversarial networks, and transformers. Analysis of gradient descent optimization, hyperparameters selection, overfitting, and probabilistic modeling. Use of software libraries and frameworks using computational models of directed graphs in distributed systems and graphical processing units (“GPU”).

INSO 8995 – Advanced Topics: Three credit hours. Three hours of lecture per week. Prerequisite: authorization of the Director of the Department.

 

Software Engineering Advanced Undergraduate Elective Courses

In addition, the following existing 5000-level courses shall be initially accepted as 5000-level technical electives, up to nine (9) credits, as specified by Certification 09-09, amended by Certification 20-94, of the UPRM Academic Senate:

Other Program Courses

INSO 6998 – Master’s Project: Zero to six credit hours. One to six hours of thesis or dissertation per week. Prerequisite: authorization of the Director of the Department. Supervised production of scholarly work that makes an original contribution to an application and development problem in Software Engineering.

INSO 6999 – Master’s Thesis: Zero to six credit hours. One to six hours of thesis or dissertation per week. Prerequisite: authorization of the Director of the Department. Supervised production of scholarly work that makes an original contribution to a research problem in Software Engineering.

INSO 8996 – Doctoral Seminar: Three credit hours. Three hours of seminar per week. Prerequisite: authorization of the Director of the Department.

INSO 8999 – Doctoral Dissertation Research:  Zero to eighteen credit hours. One to eighteen hours of thesis or dissertation per week. Prerequisite: authorization of the Director of the Department. Supervised production of an academic dissertation that makes an original contribution to a research problem in Software Engineering.

Masther's Thesis and Master's Project

The Master’s Thesis and Master’s Project are academic works containing the student’s original contributions to a specific, narrowly defined problem in Software Engineering. While the Master’s thesis focuses on the creation and development of original contributions on a smaller scale than a doctoral dissertation, the Master’s Project typically focuses more on the creation of a software application or the validation of a software engineering concept.

Doctoral Dissertations

The Doctoral Dissertation is a significant piece of scholarly work that contains an original contribution to the knowledge in a specific subject in Software Engineering. The doctoral dissertation is the result of the student’s original, extensive research, which has been conducted under the advice of a faculty member. The PhD in SWE requires the publication of some of the results of the doctoral dissertation in the refereed scientific literature as a condition for graduation.

Research Centers and Labs

The following websites provide information about the centers, labs and research groups conducting research associated to the SWE graduate program.

Laboratory for Applied Remote Sensing and Image Processing (LARSIP)

Industry Collaboration

The goal of the SWE Industry Collaboration Program is to bring industrial fellows and SWE researchers together in a collaborative interaction to facilitate faster transfer of research results to industry, develop new research projects of interest to industry partners, and encourage industrial endowment to support educational and research activities.

Admission Criteria

Admission Requirements for the MS/ME in SWE

  • General admission requirements set by the UPRM Office of Graduate Studies,
  • Applicants must possess a Bachelor’s degree in Software Engineering, Computer Science and Engineering, Computer Science, Computer Engineering, or closely related field. UPRM students that have completed the UPRM Minor in Computer Science and Engineering might also apply. For admission consideration, the body of knowledge in the applicant’s transcript shall at least include the following:
    1. One semester college-level Calculus 
    2. Two semesters of college-level Physics 
    3. Two semesters of Computer Programming courses
    4. One semester of Data Structures
  • The Department of Computer Science and Engineering Graduate Committee reviews all applications that the UPRM Office of Graduate Studies has judged complete and consistent with the general criteria established for graduate studies at UPRM. The Graduate Committee evaluates: 
    • The applicant’s coursework, academic history, and the appropriateness of her/his academic background; 
    • The degree of alignment of the applicant’s interests and the program’s graduate profile outcomes; 
    • The quality of the applicant’s essay; 
    • The contents of the letters of recommendation in support of the applicant; 
    • The potential of the applicant for succeeding in the program within a reasonable period of time.

Admission Requirements for the PhD in SWE

  • Students without a MS/ME in SWE will have the same requirements as for the MS/ME program,
  • Students with a MS/ME in SWE are considered to have no deficiencies, and have an academic background appropriate for the PhD in SWE.
  • The Department of Computer Science and Engineering Graduate Committee reviews all applications that the UPRM Office of Graduate Studies has judged complete and consistent with the general criteria established for graduate studies at UPRM. For these students, the Graduate Committee evaluates:
    • The applicant’s coursework, and academic history; 
    • The quality of the applicant’s essay; 
    • The contents of the letters of recommendation in support of the applicant; 
    • The potential of the applicant for succeeding in the program within a reasonable period of time.

Admission with Deficiencies

For both the MS/ME and PhD degrees, good applicants whose academic record lacks one or more of the following courses are considered to have deficiencies: 

  1. Introduction to Software Engineering (INSO 4101 or equivalent)
  2. Introduction to Databases Systems (CIIC 4060 or equivalent)
  3. Introduction to Operating Systems (CIIC 4050 or equivalent)
  4. Introduction to Probability and Statistics (ININ 4010 or equivalent)

These applicants might be accepted into the program based on the strength their academic record, and might be required to take up to four of these undergraduate remedial courses upon acceptance into the program, as specified in section G.2.d. of Certification 09-09, amended by certification 20-94, of the Academic Senate at UPRM.  All remedial courses must be approved during the first two years in the program. 

Funding Opportunities

Teaching Assistant Positions

Teaching Assistant (TA) positions are awarded by the academic departments on a competitive basis. Typically In order to maintain this position the student must maintain a minimum GPA, of 3.0 on a 4.0 point scale and perform assigned duties. A student in good standing will be supported for a maximum of 4 semesters, and in some special circumstances a fifth semester of support could be offered.

Research Assistant Positions

Research Assistant (RA) positions are typically awarded by the professor who is the holder of the research grant. These appointments usually pay for fees and tuition (if applicable) and salary of approximately $1200/month. Students are encouraged to read about faculty research and to contact faculty to arrange for a RA position.

Scholarships and Fellowships for Graduate Students

There is a number of external funding opportunities for graduate students. We encourage prospective and current students to research available opportunities. The Department of Computer Science and Engineering Administrative Office is available to help you with institutional letters of support. Here is a list of potential funding programs:

Admission Guidelines

Admission Process

The Admission Process to the graduate program in SWE involves the following steps:

  • The application process begins with the submission of an online application accessed through the Graduate Studies Office portal.
  • All applications to the graduate program in SWE are first reviewed by the UPRM Office of Graduate Studies, which determines whether the application is complete and the applicant meets the general criteria established for graduate studies at UPRM.
  • Successful applications are submitted to the Department of Computer Science and Engineering Graduate Committee which, in turn, evaluates:
    • The applicant’s coursework, academic history, and the appropriateness of her/his academic background; 
    • The degree of alignment of the applicant’s interests and the program’s graduate profile outcomes; 
    • The quality of the applicant’s essay;
    • The contents of the letters of recommendation in support of the applicant;
    • The potential of the applicant for succeeding in the program within a reasonable period of time.
  • The final decision on the application is communicated to the applicant directly from the UPRM Office of Graduate Studies. No applicant is officially accepted into the program until she/he receives a letter of acceptance from the Director of Graduate Studies of UPRM or an authorized representative.
Open Positions

The graduate program in SWE of the University of Puerto Rico Mayaguez (UPRM) is seeking candidates for MS/ME and Ph.D. student positions  in the following areas of research:

  • Artificial Intelligence
  • Parallel Computing
  • Bioinformatics
  • Computational Optics
  • Robotics and Autonomous Vehicles
  • Virtualization and Cloud Computing
  • Computer Privacy and Security
  • UI/UX

Potential candidates are encouraged to apply through the UPRM Graduate Studies Office 

Student Guidelines
Graduate Program in SWE Related Documents
MS Thesis & ME Project
  • Both, Master’s Thesis and Master’s Project, are pieces of scholarly work that contain original contributions of the student to a discrete, specified, and circumscribed problem in Software Engineering.
  • Although similar in spirit to a doctoral dissertation, the Master’s thesis and project are much more limited in scope and hence, significantly shorter in length.
  • In addition, the Master’s project tends to be more focused on producing a software application, rather than creating new techniques, algorithms, or software infrastructure paradigms. 
Doctoral Dissertation
  • The Doctoral Dissertation is expected to involve the development of new knowledge, theories or practices in the field of Software Engineering, under the council and supervision of a faculty member that is an active researcher in the field, and a graduate committee.
  • All doctoral programs require a final dissertation defense examination. The UPRM Office of Graduate Studies administers the final dissertation defense exam, according to the rules established under the Certification 09-09, amended by Certification 20-94, of the Academic Senate of the University of Puerto Rico Mayaguez.
Doctoral Qualifying Examination
  • In this oral special exam, the student’s aptitude to do research will be evaluated.
  • The student will prepare and submit a review article of the recent research literature (“survey paper”) on his/her area of interest in Software Engineering, and the possible research topics that can be explored.
  • This article and the SWE core courses will be used as the basis for asking the questions in the exam. The evaluation committee will be the student’s graduate committee, plus an external evaluator, holding a PhD degree in a Computing related field, appointed by the Director of the CSE Department.
  • The student will make an oral presentation on the survey paper to the evaluation committee.
  • The survey paper will be at least 15 pages long, using the ACM or IEEE double column format.
  • This exam can be repeated only once, and must be approved before taking the Candidacy Exam.
  • Each semester, the SWE Graduate Committee shall announce, with consent from the Director of the CSE Department, the last date of the semester when Qualifier exams can be taken.
Candidacy Examination
  • A special exam for assessing the progress of the student in his/her doctoral research, and the quality of his/her research is required to continue working on the doctoral dissertation.
  • The Candidacy Exam will consist of
    1. a progress report, 30 to 50 pages long, describing the research already done and the research still to be undertaken,
    2. a public, oral presentation immediately followed by a closed oral examination before the student’s graduate committee.
  • The report must follow the UPRM Graduate School dissertation format.
  • The exam can be repeated only once, and must be approved before enrolling for a fourth time in the Doctoral Dissertation course, and before taking the Dissertation Defense exam.
  • Each semester, the SWE Graduate Committee shall announce, with consent from the Director of the CSE Department, the last date of the semester when Candidacy exams can be taken.