Project Courses


Project courses allow undergraduates to experience research through active participation, experiencing first-hand the challenges and exhilaration of research and discovery, and impactful software development projects. In research project courses (UROP, R courses, CP3106, CP3108 and FYP) professors and their research teams will work with students to expose them to research activities that embody the lifecycle of the scientific method:

  • Problem formulation;
  • Literature survey;
  • Attending research seminars;
  • Proposal and implementation of solutions and their evaluation; and
  • Documentation and presentation results

In development project courses (Orbital, CP3106, CP3108, and FYP), students contribute to impactful software development featuring recent software trends, while integrating their experience with their academic foundations.

An indicative road map that illustrates some of the possibilities for undergraduates to enhance their personal experience through projects is shown below:

Year 1: This is your foundation year. Doing well in your foundation courses with respect to introductory programming, data structures and algorithms will help to convince prospective research mentors that you can handle your coursework while investigating research.

In Year 1 summer, you might take on the Orbital challenge. The Orbital programme, meant to give students a platform to demonstrate self-initiative through the development of a software engineering project driven by your own passion, is the first step towards helping you differentiate yourself as a unique SoCian. At the end of Year 1, CS students with exceptionally strong academic standing will be invited to take part in the Turing programme, a CS special programme devoted to grooming students for graduate studies in Computer Science.

In Year 2 and 3, enrichment pathways open up. Student exchange via SEP and NOC allow you to experience life and studies overseas. Project-wise, opportunities in both research and development project courses are open to strong undergraduates.

Research: UROP and research-oriented CP3106 allow you to experience undergraduate research for 1 year or 1 semester, respectively, and serve as a great first attempt to do research and practice for the FYP.

To prepare for a research career, students can also opt to take CS Research Methodologies, a course that provides insights on the research cycle, by examining case studies in key computing milestones.

1 credit R courses allow you further enhance your involvement and knowledge of a particular subject that you find interest in, taken in parallel with the course, or in the semesters afterwards.

Development: Faculty led developmental CP3106 and CP3108 courses – inclusive of Computing for Voluntary Welfare Organizations (CVWO), Mozilla Open Source and Google Summer of Code projects – lend great development and integrative experiences while garnering international recognition for your involvement in worthwhile, high impact projects.

In Year 4: Project courses culminate with your optional (mandatory for CEG students) enrolment on a final year project. The Final Year Project can take on either a research or developmental flavor and gives you the opportunity to work alongside a research or development team to achieve a significant milestone.

Undergraduate Research Day (SoCUR)

To help our Undergraduates do better at selecting the appropriate UROP, special programme, or Final Year Project pathway, the School of Computing organised its inaugural SoC Undergraduate Research Day (SoCUR), featuring a discussion of the research pathway, and where faculty advisors and their research team showcased and shared their research work.

Undergraduate students met with doctoral students and faculty to learn more about their research interests and expertise during the three hour informal event, that included quick research highlight talks, overview presentations from faculty and poster discussions on specific research topics from doctoral students.

Explore Our Projects