Project modules 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 modules (UROP, R modules, 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 modules (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 modules 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 modules 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 module that provides insights on the research cycle, by examining case studies in key computing milestones.
- 1 credit R modules allow you further enhance your involvement and knowledge of a particular subject that you find interest in, taken in parallel with the module, or in the semesters afterwards.
- Development: Faculty led developmental CP3106 and CP3108 modules – 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 modules 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.
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.
Please note that both FYP and UROP also have specific FAQs within their documentation. Please access the secondary menu (usually on the right hand side for desktop browsers) to learn about specific, frequently asked questions for those project modules.
1. How do I get good reference letters?Good references (and their eventual letters of recommendation) are an important part of getting that first job or securing a strong graduate school placement. Project modules provide a key avenue for this important outcome in your CV and résumé, as you get to work on one with faculty members and their student teams. Devoting sufficient time, energy and initiative towards your project modules greatly enhances your ability to achieve a strong outcome in your project, and the ability of your faculty mentor to write a solid recommendation on your behalf.
2. What do I need to get into graduate school?
Strong graduate schools (inclusive of NUS) generally have two separate criteria for admissions. There is a minimum standard for consideration, usually fanthomed from standardized test scores and undergraduate transcripts. After the consideration bar, staff or faculty individually assess applicants as to their fit for the school. This step is subjective and admissions faculty and staff do not just look at academic credentials but also examine the prospective candidates fit for the school, in terms of diversity and non-traditional credentials. The acceptance bar for graduate studies can be influenced by letters of recommendation from coursework and project mentors, as well as internship advisors. Hence, doing well in project modules is a good pathway towards graduate admissions. Publishing original work through a thesis or peer reviewed publication are also strong quality markers that world class doctoral programmes will consider.
3. How do I balance research with coursework?
Project and time management is a key factor in project module success. Unlike coursework, project modules do not necessarily have clearly demarcated deadlines and deliverables - each project is a unique mix of challenges, prior work and personnel. As such, coursework that has a much more regimented timeframe tends to be prioritized by students given their concrete deadlines. This means that much a project module progress may be best loaded to the beginning parts of the semester when deliverables for coursework are significantly less. Make sure to balance sufficient time for reporting and communicating results in a polished manner, as the communicated results are what evaluators judge you on and often not the effort made.
4. What is the role of a supervisor?
The faculty supervisor serves to give you the framewoek to do your project.That said, each student-faculty pairing is unique and when you look for a project supervisor, consider interviewing multiple prospective faculty members before deciding. Each has a different style of supervision and a good fit will enhance your performance. For FYP and UROP, you should "shop around" during the discussion period.
5. What about CS2309, CP3106, CP3108 and R modules?
See the project module overview page and the respective NUS bulletin pages.
6. Is research mostly non-coding?
Yes. SImilar to most IT projects, coding is a small fraction of the total time on a project. Theoretical projects may not involve coding whatsoever. Certain areas of CS/IS/BZA have more exposure to systems work and require more development, and others less. Remember, research involves the entire research lifecycle: from problem inception, to investgation, to innovation, and finally, to communication. Coding is only a part of the second and third steps.
7. How can someone with zero prior research experience contribute to complex research projects?
Most complex research projects involve multiple, interdependent parts. Your faculty mentor is responsible for guiding your involvement in scoping your involvement such that you get to experience part or all of the research lifecycle. Significant contribution also usually requires proportional background knowledge in the particular research area. A key point to note is that modular coursework often is too broad to give the necessary background for research. To prepare for a particular project, you might ask faculty to prescribe specific pertinent readings rather than take a background module.
8. What are the pros and cons of doing research pathway as opposed to internship pathways for SoC students?
At its core, the research pathway embues students with the capability to do independent study: that is to take vague interests or challenges, formalize them into crisp problem statements and conduct inquiry to solve the problems. Research is also specific to subdisciplines of computing, and hence students will develope expertise in their area of exploration. These outcomes are important for jobs requiring independent initiative and skills development.
Internships complement the research pathway by allowing students to acquire particular in-demand skills and building theur commercial exposure to real-world problems and career opportunities. This pathway can help students find a better match for the first career and often higher pay.
9. What all should students be doing in their undergraduate studies to pursue a career as a research scientist in companies?
Both the research pathway of research-oriented project modules as well as research-oriented interships will help develop your capability to pursue an eventual research scientist position. Many companies will require evidence of your ability to conduct independed investigations, and hence higher studies through doctoral or masters are often required.
10. Do I need to have done UROP or FYP to go to graduate research?
No, generally you do not need to UROP or FYP to go to graduate doctoral programmes or masters by research. While some strong schools like NUS have research opportunities for undergraduates, others may not have such opportunities. UROP and FYP can enhane your chance of admission and distinguish yourself from other applicants with similar backgrounds and academic performance.
11. Hypothetically, which one would you pick: a research area with a beautiful goal but messy process/method, or one with a really elegant process/method but whose goal you are unsure of?
This is a personal preference, and this tradeoff is evident in certain areas of computing as well. While not exactly an answer to this question, often prodcution computing systems need to use heuristic tricks and optimization beyond core, elegant algorithm or theory in order to work at scale or within time-bounds.
We welcome additional questions to add (of course with their answers) to this FAQ. Please send your queries to the Undergraduate Office (firstname.lastname@example.org).