Undergraduate Research Opportunities

Prof. Alberto Cerpa, University of California, Merced

I am always looking for undergraduates to do research projects in my group. This can include work over the summer or during the semester as part of CSE 095 Lower Division Undergraduate Research or CSE 195 Upper Division Undergraduate Research. Sometimes, I may have paid undergraduate internship positions for specific projects. The general rule of thumb is that you either get academic credit or salary, but not both.

Note that these research opportunities are for current UC Merced students only. Unfortunately, I don't have the ability to take on students from other universities, except for some students from other UC sister campuses, specially those from UC Berkeley, UC Davis and/or UC Santa Cruz that are in close geographical proximity to UC Merced. In the latter case, an arrangement may be found to have research work done at UC Merced for credit in some of the other UC sister campuses.

Current Projects

I have a lot of active projects and undergrads are involved in nearly all of them. To find out more about the current projects in my group, check out the Adaptive Networked Distributed Embedded Systems (ANDES) Lab web page.

Many of my projects involve OS, programming language, and protocol design for networked embedded systems, including wireless sensor networks. Sensor networks are a new class of computer system consisting of many tiny devices incorporating low-power processor, radio, and various sensors. As a few examples, we work on sensing infrastructure to measure and model occupancy in buildings, wearable sensors exercise physiology pathologies, and networked systems for measuring solar irradiance, among others.

The specific projects in my lab vary from year to year, and based on the state of each project. I recommend that you check out the web pages for the projects listed in the ANDES Research pages, and if any of them seems interesting to you, drop me an email and we'll set up a time to meet and discuss it. You can assume that we are always looking for new undergrad researchers for any of the projects listed on my web page! If you are interested in an undergraduate research assistant position or doing an undergraduate research project in any of these areas, just drop me an email (see my web page for contact details)

Why do research? (good advice courtesy of Matt Welsh and Mark Chew)

I want to give a little background on why doing research as an undergrad is a good idea. There are three big reasons:

What it means to do research

Research means working on open-ended problems that may or may not have a solution. For this reason it is often frustrating for new students since the problems are not always as clean or well-defined as you get in a problem set. Also, you are often required to work on bleeding-edge technology that may be partially (or totally) broken, developed by another student, with no documentation or formal support. So a key factor in your success in doing research is being self-sufficient and able to quickly pick up new things without a lot of help.

When a new student joins my lab, I usually give them a well-defined, fairly self-contained project that they can complete in one semester or one summer. That way you get up the learning curve, hopefully don't hit too many roadblocks, and feel good about accomplishing something. This starter project might not be Nobel Prize material but it should be enough to give you a glimpse of things to come. If you enjoy it and do a good job, then we usually talk about taking on a bigger, more ambitious project that is more open-ended. Part of the idea behind the starter project is to learn about your strengths and weaknesses, rather than dropping you in the deep end of the pool on your own.

I generally like to pair each of the undergrads in my lab with a grad student or postdoc who will be your main line of support and advice. I'm always happy to meet with you and help when I can, but the grad students generally know a lot more of the gritty details and can help you better than I can. Again, it's important to be self-sufficient since everybody in the group is busy and we can't spend a lot of time holding your hand.

Research is a time commitment. Unlike any of your classes, it doesn't entail concrete deadlines, weekly problem sets, or exams. This means you need to carve out time for it and be disciplined about spending time on research, even when it's going slowly and you have other "more pressing" things to do. Otherwise you'll put the research work on the back burner and have a hard time getting back to it. I have seen many students with good intentions fail to execute because they got too busy with classes and other things. Treat research like a class, and carve out a few hours each week where you promise yourself to do nothing but sit in the lab and work on it.

In the following sections I take a closer look to many of the issues mentioned above.

Finding a group

First, figure out the area(s) within EECS in which you would like to do undergraduate research work. If you're not sure, that's OK too. Just go by whatever you're good at or what interests you. Once you've determined one or two areas, start looking for professors whose research interests match yours. Don't worry too much about choosing your area, since a big part of what you'll gain from your undergraduate research work is experience and insight about how research is actually done. Let's assume that you are interested in some of my research areas.

If possible, try to avoid the approach where you walk into my office and say "can I do some research?" Even if I take you in, you're likely to get a pretty extreme form of grunt work to start out with. (going to radio shack to look for parts, for example) If you were in my shoes, you probably wouldn't assign important tasks to undergraduates you don't know either. Instead, try to do a little reading on what I am working on before you talk to me. This way, you'll have more interesting things to say, and I will get the sense that you actually care enough about my work to have read about it beforehand.

Starting Out

The next thing you need to do is figure out what you'll be working on. This is a choice you need to make carefully because it will affect the quality of your experience in the year or so to come. You want to be selective, but not overly picky either. Some questions to ask yourself when deciding on a project are:

In addition, it's important to have realistic expectations. I'll be honest with you here. Undergraduates can't do a whole lot, especially in EECS, because EECS is the type of knowledge that builds upon itself. It takes a long time to acquire enough knowledge to be able to do really groundbreaking research, so what you'll probably be doing as an undergraduate is smaller tasks that fit into a graduate student's overall scheme. You can definitely contribute something significant to our group, but you should expect to work hard before this happens.

It's likely that the first project you work on will be a "grunt work" project. Maybe some graduate student wants you to buy parts for him or write a simple script to do some testing of some code. If this happens to you, don't react violently or anything; this is just part of the normal process of assimilating someone new into a group. While you're in the grunt-work stage, make sure to get your stuff done, but also try to get a feel for the entire group. Who's good at what? What is each person working on? If you don't know, ask them! Most graduate students are happy to talk about their work, as long as you don't pester them about it. Also, this will give you a chance to hear the more difficult and interesting projects that need to be done. The more interesting projects you know of, the better your chance of eventually finding one that suits you.


Rarely does engineering work go according to plan. You're likely to run into more strange obstacles doing a research project than you would doing a class project because there's a lot less structure. No one's tested the project out beforehand to iron out the technical problems. Expect things to go wrong when you're doing research work; if it wasn't difficult, then I would just pull any random undergraduate walking the halls of SE1 to work on my smaller projects.

Deadlines: Since you're probably going to be working on your project during the middle of a semester, you'll be bombarded with homework and project deadlines, not to mention time-demands from your personal life, as well. Because of this, it's going to be easy for your research project to drop down on your priority list to the point where you're in danger of not getting anything meaningful done, the entire semester. Trust me, this can happen to anyone.

My advice in this area is to set a schedule, especially if you know you can become the procrastinator type. Talk with your graduate student about this. Tell them that you work much better when you're under a deadline, and have them help you come up with a reasonable schedule of deadlines that make you work at a comfortable, but not a burn-out-in-3-weeks pace.

Determination: IMO, whether you finish your project or not on time came down to a matter of determination. Since you'll be working in a fairly unsupervised atmosphere, it's likely that this will be true for you. Part of doing research is just saying to yourself, "When there's a will, there's a way - I don't care what it takes to get this is done." And then you pull an all-nighter and do it.

Reference Letters: You're probably going to me to write you a reference letter at some point. All I'm going to say is this: if at all possible, ask me after you've accomplished something. If you're a junior right now, plan it out so you'll have enough time to finish something at least moderately significant before you ask for your reference.

Remember that most professors (including myself) aren't as interested in how hard you work as they are in what you can produce for them. It's just like in the business world. When you feel helplessly stuck on something, remember that it's almost always better to be ugly and produce something than to have a great approach and not come up with anything.

Wrapping Up

If you're fortunate enough to have successfully completed the design phase of a project (like designing and testing a complete software module, for example), you may have the opportunity to publish. Whether this is appropriate will depend on the project; it's best to talk to a graduate student about this because they will have a better feel than you whether your work is even worth publishing. Even if you don't publish, it's important to document your work for the sake of the next person who tries to use what you've done.

Other Miscellaneous Tips

Learning how to do Research: It's also important to make the most of your experience as an undergraduate researcher, apart from the project you're working on. For example, try to observe the graduate students. What do they do when they get stuck? How does one do research in a systematic way? If you can, even try to observe the way they think. When they have an idea, how do they talk about it with other people? When and why do they decide to give up and try something else? Thinking about these kinds of things will greatly add to your experience.

Communication: Talk to people! Don't just sit there and work on your project, without interacting with both the graduate students in the group and me. I could elaborate on this, but I'll just let you fill in the details yourself, with your own style.

Evaluation: You never want to get into a situation where you're working on a project that you don't believe in anymore. What I mean by that is, if you stop believing that what you're doing is useful or even that you're able to complete it, you're already dead. You'll lose motivation, and you won't have the determination to get past the next difficult stage of the project. My advice would be to constantly evaluate what you're doing to see if the project is both finish-able, and useful. If you're not sure, ask me. (Communicate with me!)

Undergraduate research can become a dead end, where you talk a lot and accomplish little. Or it can be an experience that prepares you to be a graduate student (or whatever next step you take in EECS) and helps you understand the field in new ways. Remember, the quality of your undergraduate research experience is up to YOU!