Workshop 4: Engaging Our Students
Pacific Rim Summer School in Global Distributed Software DevelopmentJuly 18—30, 2010 - Beijing, China
Course Information & Syllabi
- Global Distributed Software Development (32 hours)
- Prof. Stuart Faulk & Prof. Lian Yu
- Requirements Engineering (8 hours)
- Prof. Steve Fickas
- Cross Cultural Communication (8 hours)
- Prof. Andrzej Proskurowski & Prof. Virginia Lo
- International Computer Ethics (8 hours)
- Prof. Art Farley & Prof. Zhang Xiong
- How Developers Learn in a Software Project
- Prof. Minghui Zhou
- Software Measurement Using Project Repositories
- Dr. Audris Mockus
- Software Resource Management and Reuse
- Dr. Junfeng Zhao
- Introduction to Parallel Programming (8 hours)
- Michael Wrinn
- Cloud Computing with Windows Azure (4 hours)
- Krishna Kumar; Microsoft
Increasingly, industrial software is being developed using teams that are distributed around the world. While offering the potential of increased productivity, distributed development also introduces new risks. Coordinating distributed teams requires overcoming a range of software engineering issues that arise where sites are separated by time zones, languages, and cultures. In this course students will develop an understanding of the problems inherent in distributed development and be introduced to software engineering methods and principles that help address these issues.
Mobile, Social, Software applications (MoSoSo) are popular. In this one-day course, we will study requirements engineering (RE) techniques that can be applied to MoSoSo applications running on a mobile device, e.g., an Android phone. The morning session will introduce several RE methods that have potential. The afternoon session will ask student teams to travel around Bejing and do requirements analysis for a hypothetical MoSoSo application.
We will discuss definitions of "culture" and articulate "cross-cultural communication". In particular, we will concentrate on the role of culture in distributed teams, as related to the dichotomy of individualistic vs. social societies, tendencies in the workplace, and handling conflict. Further, we will discuss sending and receiving "messages", perceptions, redundancy and convention, and the role of language (written and conversational) and non-verbal communication. We will present several case studies. As part of the class, the students will be involved in cross-cultural interaction exercises.
This course will address the wide range of ethical issues that arise from the creation of the global computer-based Internet and related technology. In particular, we will discuss the issues that arise due to differences in cultural perspectives on these issues. We will review the history of information technology, including a look into the future, and discuss differing ethical reasoning systems Ethical topics to be discussed are privacy, intellectual property, freedom of online access and speech, and issues that arise in the creation and application of software. Finally, we will review a code of professional ethics for software engineers and discuss international dimensions to the code.
How developers learn when joining a new project is very critical for both organization and developers. This issue is highlighted not only by the rapid influx of new developers in outsourcing and offshoring, but also by the popularity of global distributed development. This mini-course will discuss how the developers become fluent in software projects, including the dimensions along which developer expertise is acquired, the ways to measure them, and the trajectories of developer learning. The key activities that need to be mastered by a new developer and problems that are facing them will also be described.
Over the last few years software project support tool repositories are increasingly being used for empirical studies of software. This has been primarily driven by the interest in open source projects and the wide availability of their repositories. Unfortunately, the project support tools are not designed as data sources for empirical studies and, therefore, many pitfalls and problems await. This mini-tutorial will discuss and illustrate some of the common things to avoid when analyzing software repositories. The topics range from the high level objectives of empirical study having an irrelevant topic or a too narrow audience to common mistakes related to the impact of systematically missing, default, or tool-generated data.
Software reuse is a key technology to improve software quality and software productivity. Software resource repositories, which provide the management mechanism for software resources, are one of the infrastructures of software reuse. In this course, we present a software resource management method that provides not only effective software resource management but also a software resource search engine on the Internet and trustworthiness management for software resources. The student will learn how to develop software in an effective way.
This laboratpry course will begin with an introduction to thinking and programming in parallel, followed by an in depth look at OpenMP, an API for multi-platform shared memory parallel programming. We will also cover threading building blocks and parallel design patterns. We plan to access Intel USA's Manycore Testing Lab, a suite of 32-core linux servers provided for academic development projects.
Cloud computing is poised to be the next big paradigm shift in the computing landscape by bringing together advances in technologies like Virtualization, massive scale computing, communication formats and flexible data protocols. With advances by Microsoft, Amazon and other leaders in computing, this field is slated as the fastest growing segment of the technology industry in terms of investment, development and recruitment. This Cloud Computing mini-course introduces Windows Azure - Microsoft's internet-scale cloud services platform, which provides an operating system and a rich set of developer services that allow you to build new applications to run from the cloud or enhance existing applications with cloud-based capabilities.
Faculty List
University of Oregon
- Professor Art Farley (Ph.D. Carnegie Mellon University)
- Professor Stuart Faulk (Ph.D. Carnegie Mellon University)
- Professor Steve Fickas (Ph.D. U.C. Irvine)
- Professor Virginia Lo (Ph.D. University of Illinois at Urbana-Champaign)
- Professor Andrzej Proskurowski (Ph.D. Royal Institute of Technology, Stockholm)
Peking University
- Dr. Junfeng Zhao, Peking University (Ph.D. Peking University)
- Minghui Zhou (Ph.D. National University of Defense Technology)
- Lian Yu (Ph.D. Peking University)
Beihang University
- Professor Zhang Xiong
Industry Faculty
- Michael Wrinn (Ph.D. McGill University)
- Dr. Audris Mockus, Avaya Research (Ph.D. Carnegie Mellon University)
- Krishna Kumar, Microsoft
Travel & Housing Information
Travel and housing information will be available soon!
Budget Information
The following budget information is for students coming from outside Beijing, China.
| Item | Your Cost (No Credit) | Your Cost (6 Credits) |
|---|---|---|
| Housing | $400 | $400 |
| Meals | $50 | $50 |
| Plane Ticket | ~$1400 | ~$1400 |
| Visa | ~$200 | ~$200 |
| Registration | $50 | $350 |
| Health Insurance | $50 | $50 |
| Miscellaneous | $150 | $150 |
| Total | $2300 | $2600 |
| NSF Stipend* | -$1000 | -$1000 |
| Final Total | $1300 | $1600 |
*You will receive a $600 stipend upon arrival to Beijing. The remaining $400 of your NSF stipend will go directly to your housing costs.
Housing: The NSF Grant Stipend will cover your housing at the Peking University Shaoyuan Guesthouse for the duration of the workshop.
Food: The Grant Stipend will also cover breakfast and lunch on weekdays as well as the farewell banquet. You will be on your own for dinners and on the weekend.
Plane Ticket: You will need to purchase your own plane ticket to Beijing, China. You will be given a $600 stipend check soon after arrival in Beijing.
Costs: The costs listed above reflect budget spending (eg: taking subways or busses instead of taxis and modest spending on food and tourism).

