Automated Software Engineering Research Group @NCSU |
|
Saturday Oct 04, 2008
Research skills
Yesterday I gave a talk on research skills, whose slides are here. Feedback is welcome. Posted at 03:12PM Oct 04, 2008 by XIE, TAO in Research Skills | Comments[1]
Friday Aug 03, 2007
Levels of research committments
Four levels of research commitments can be classified for students (see below). Each of you shall classify yourself to one of these levels. Each of you shall try you best to reach or keep in Level 1. Not many students are currently
reaching or staying in Level 1. There are positive iterations when you reach Level 1. When a student is efficient and effective in finishing research tasks, the advisor will work with the student on coming out new good ideas for the next research project. If the student stays on an existing old research project for a long time, before the advisor works with the student on a new good research project, the advisor will wait for the student to finish the old one up or wait for the student to tell the advisor that the existing old project has no hope and the student would give it up. Some students fall into Level 4. It is a very dangerous situation. Staying on Level 4 can cause you to stay in the program for a long time without producing any research results. Level 1. Self-propose timeline in research tasks and often succeed in accomplishing the research tasks Level 2. Self-propose timeline in research tasks but often lag or fail in accomplishing the research tasks Level 3. No self-proposed timeline in research tasks but be willing to discuss with the advisor in research timeline Level 4. No self-proposed timeline in research tasks and even no responses upon the advisor?s requests on checking research status Posted at 12:27AM Aug 03, 2007 by XIE, TAO in Research Skills | Comments[0]
Thursday Apr 26, 2007
How to meet your advisor?
In my view, the major purposes of individual (i.e., one-on-one) meetings include several parts: Posted at 11:42PM Apr 26, 2007 by XIE, TAO in Research Skills | Comments[2]
Tuesday Apr 24, 2007
Answers to "The Global Educator" Magzine Interview Questions
The Global Educator magzine addresses students of science and engineering. The
focus of the magazine is to provide information to students about educational
institutions (specifically focusing on engineering and technology) in India and
overseas, inform them about developing opportunities in
engineering, offer practical tips on how to manage education abroad, carry
interviews and profiles of achievers in the field of science, technology,
engineering and business as role models. 1.
How did you discover your interest in Software Engineering? I learned programming in my high school years and found software construction fascinating. In my undergraduate senior year, I participated in software project development in research labs within the university and in companies outside the university. When I got more involved in real-world software development, experiencing real difficulties faced by software practitioners, I became more interested in techniques and tools for addressing these real difficulties in software development. When I had a choice in choosing my research area when pursing my M.S. research at Peking University, I chose to focus on software engineering research. Since then, I have developed strong interest in automated software engineering, with a focus on automated software testing and mining software engineering as well as their applications in practice. 2. Could you tell us about your career so far? I am currently an Assistant Professor in the Department of Computer Science of the College of Engineering at North Carolina State University since August 2005, after I received my Ph.D. in Computer Science from the University of Washington, advised by David Notkin. Before that, I received an M.S. in Computer Science from the University of Washington in 2002, an M.S. in Computer Science from Peking University in 2000, advised by Hong Mei, and a B.S. in Computer Science from Fudan University in 1997. I lead the Automated Software Engineering Research Group at North Carolina State University. In my career, I have been very fortunate to have great mentors to help me and to have great students to work with.
3. Has teaching always been a career aspiration or did teaching and research interest you over time? Teaching has always been a career aspiration to me. Teaching students and seeing them grow are always very enjoyable. Teaching students is also a learning process for myself because often the time I learn new research ideas or thinking from students through interactions with them. 4. What are the important skills a person needs to be an academician? There are many important skills for being a good academician: a good researcher, a good educator, a good collaborator, and a good citizen in the research community. Some important skills include being able to teach and advise students, being able to generate many good research ideas, being able to assess and judge research work, being able to manage and coordinate a team of students and collaborators to carry out research tasks, etc.
5. Do you think faculty members should maintain a good balance of teaching and research? Both teaching and research are important in a faculty member?s career. Successful teaching can attract good students to the research area, and excite and inspire them to learn more about doing research. On the other hand, successful research can be incorporated in teaching so that students can learn state-of-the-art research in the field and prepare them with important skills for conducting research or solving real-world problems. 6. For a dynamic field like software engineering where in each day brings in new changes in terms of technologies, how do students keep themselves updated since curriculum cannot be changed so fast? Although new changes in technologies occur frequently, many of these new technologies share the same underlying foundation as previous technologies. So students need to have a deep understanding and grasp of the underlying foundation and then they can easily absorb and adopt the emerging technologies. Furthermore, students shall have the capability of self-learning, self-training, or self-educating in order to keep up with new changes in technologies.
7. For PhD aspirants, how do they decide on their research topics? Could you advise them on the preparation they need to do before entering into a doctorate program and how do they work over the years?
Ph.D. students can decide research topics based on their research interests, their research background and expertise, and the significance and impact of research topics. In other words, students shall work on what interest them most, on what they can do well, and on what matter to software engineering research and practice. In addition, students shall also make sure that the evaluation of research results in research topics can be feasibly conducted (given available resources); otherwise, the students may not be able to convince either researchers or practitioners with their research results. Before students enter into a doctorate program on software engineering, students need to prepare themselves to have strong basic software engineering skills, including design, programming, testing, debugging, maintenance, etc., as well as general problem solving skills. Many research sub-areas in software engineering require building software tools and conducting experiments so the basic software engineering skills would be critical. Over the years in their doctorate programs, students need to learn how to carry out good research and how to write good research papers, and eventually learn how to be independent in research (independently coming up new research ideas and developing them). 8. Are all research projects in software engineering usually a collaboration between academic community and the industry? Some but not all academic research projects in software engineering involve collaborations with the industry. In these collaborations, the industry can help provide sources of research problems, resources of research infrastructures, platforms of research-result evaluation, transfer of technologies, and supports of funding. Many academic research projects have produced impact on the industry. ACM Special Interest Group on Software Engineering (SIGSOFT) has initiated the Impact project (http://www.sigsoft.org/impact/) to determine the impact of software engineering research upon software engineering practice.
9. Could you talk about the career opportunities open to software engineers? There are many career opportunities open to software engineers. Like in other areas of computer science, a Ph.D. graduate can seek career opportunities in academia (either research or teaching institutes) or industry (either research labs or companies). An M.S. or B.S. graduate can seek many career opportunities in companies. There are various job types of software engineers, including software testers, software developers, software architects, etc. On April 24, 2006, CNNMoney.com (http://money.cnn.com/magazines/moneymag/moneymag_archive/2006/05/01/8375749/index.htm) reported that software engineers have the best jobs in the US. It said ?software engineers are needed in virtually every part of the economy, making this one of the fastest-growing job titles in the U.S.? 10. Could you name some of the top employers of software engineers in the US? Some of the top employers of software engineers in the US include Microsoft, IBM, Google, Yahoo, Cisco Systems, Oracle, etc. Many more companies than I can name here employ a large number of software engineers. Posted at 12:36AM Apr 24, 2007 by XIE, TAO in Research Skills | Comments[2]
Monday Apr 23, 2007
Become the owner/driver of your research projects
Students have different levels of ownership of their research projects. Sometimes some students feel that they are doing the work primiarly "for their advisor" not primiarly "for themselves". They feel that they need to catch a submission deadline simply because their advisor wants them to make the deadline. I have been trying to pay attention to this issue lately. Posted at 10:04PM Apr 23, 2007 by XIE, TAO in Research Skills | Comments[0]
Thursday Apr 19, 2007
Research skills required to conduct research (on automated software engineering)
In the past, I told my students that three levels of research
performance/skills could be assessed (an analogy with CMMI levels?:):
*. Level 1: Independently carry out/implement
research ideas (including implementing tools and doing experiments) given by the
advisor or other more senior people
*. Level 2: Independently write research
papers
*. Level 3: Independently generate (good) research
ideas; sometimes, coming up new research ideas can be categorized as (1) coming
up with a new research problem or (2) coming up with a new research solution to
an existing research problem; the former is often more challenging
"High effectiveness" and "high
effciency" are two cross-cutting quality attributes for these three
levels.
Reading other people's papers, playing around
existing tools, and getting hands-on experiences are important factors for
helping to come up with good new ideas. But that is not enough. On another future entry, I will discuss the issue of educating students to think and come up new ideas. This task is a very challenging one and I am still struggling on finding effective solutions.
Posted at 07:20PM Apr 19, 2007 by XIE, TAO in Research Skills | Comments[4] |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||