Personal tools
You are here: Home Resources CS 2001 Chapter10

Chapter10

 

Computing Curricula 2001
Computer Science Volume

 

Chapter 10
Professional Practice

As we enter the 21st century, an unprecedented opportunity exists to make professional practice a seamless part of the curriculum in computer science and other computing disciplines. Understanding professional practice is critical for most computer science students since the vast majority will enter the workforce upon graduation. In this chapter, we explore various strategies for incorporating professional practice into the computer science curriculum. The individual sections review the underlying rationale, current practice in education, support for professional practice from both the private and public sector, techniques for incorporating professional practice into a curriculum, and strategies for assessing the effectiveness of those techniques.

10.1 Rationale

The need to incorporate professional practice into the curriculum is based upon real-world issues, such as the needs of the public and private sector, the public's demand for higher quality products, the increasing number of software liability cases, and the need to promote life-long learning after graduation. In most cases, students enter school without a complete knowledge or appreciation for these issues, which is a source of frustration both for those who teach these students and for those who hire them. Indeed, as students learn more about professional practice and the underlying issues, they become more interested in their studies and how they can work well with others. Incorporating professional practice into the curriculum can therefore serve as a catalyst to awaken and broaden a student's interest in computing.

Both the private and public sectors have a vested interest in students learning professional practice. They find that students who have experience with the realities of professional work understand the value of interpersonal skills in collaborating with team members and clients, maintain their focus on producing high-quality work, contribute their time and talents to worthy outside causes, engage in life-long learning, and participate in improvements in their firm. Each year, for example, the National Association of Colleges and Employers conducts a survey to determine what qualities employers consider most important in applicants seeking employment [NACE2001]. In 2001, the top ten factors were

  1. Communication skills (verbal and written)
  2. Honesty/integrity
  3. Teamwork skills
  4. Interpersonal skills
  5. Motivation/initiative
  6. Strong work ethic
  7. Analytical skills
  8. Flexibility/adaptability
  9. Computer skills
  10. Self-confidence

That employers are candidates with these general qualities underscores the importance of making professional practice a central component of the curriculum.

The growing demand for better, less defect-ridden products has also increased the pressure to incorporate professional practice into the curriculum. Haphazard software engineering techniques are widely recognized as a significant factor in producing software with a high number of defects. As a result, clients are demanding proof of sound software processes before they will sign a contract with a software provider. In particular, after losing millions of dollars on unworkable or undelivered software, U.S. Government bodies, such as the Department of Defense, require all government contractors to operate at Level 3 of the Software Engineering Institute's Capability Maturity Model [Paulk95]. To meet these guidelines, contractors must have a solid, sound, organization-wide, and reliable process in place to develop software. Unsatisfied clients, particularly those who do not know their software providers well, are taking their software providers into court to recover their costs, force completion of software, or seek compensation for damages. Students therefore need to understand the value of establishing face-to-face relationships with clients, agreeing to requirements that can be implemented, and producing the highest quality software possible.

Both the IEEE and the ACM promote the development of professional responsibility in several ways.

  • They develop and promote codes of ethics [ACM2001, IEEE2001, SEEPP98] to which members are expected to adhere. These codes, in general, promote honesty, integrity, maintenance of high standards of quality, leadership, support of the public interest, and life-long learning.
  • They sponsor established subgroups -- the Society on Social Implications of Technology (SSIT) and the Special Interest Group on Computers and Society (SIGCAS) -- that focus directly on ethical and professional issues.
  • They develop and refine curricular guidelines, such as the ones in this report and its predecessors.
  • They participate in the development of accreditation guidelines that ensure the inclusion of professional practice in the curriculum [ABET2000, CSAB2000].
  • They support the formation of student chapters which encouraged students to develop a mature attitude toward professional practice.
  • They provide opportunities for lifelong professional development through technical publications, conferences, and tutorials.

Both students and society must be educated as to what they can and should expect from people professionally trained in the computing discipline. Students, for example, need to understand the importance of professional conduct on the job and the ramifications of negligence. They also need to recognize that the professional societies, through their codes of ethics and established subgroups emphasizing professional practice, can provide a support network that enables them to stand up for what is ethically right. By laying the groundwork for this support network as part of an undergraduate program, students can avoid the sense of isolation that young professionals often feel and be well equipped to practice their profession in a mature and ethical way.

10.2 Current practice in education

Many strategies currently exist for incorporating professional practice into the curriculum. One of the most common characteristics of these strategies are courses that help students strengthen their communication, problem-solving, and technical skills. These skills may be fostered in computing courses or, alternatively, in courses outside the computer science department, such as a speech class in a communication department or a technical writing class in an English department. Accreditation bodies, however, usually require not only that students acquirethese skills -- either through general education requirements or through courses required specifically for computer science -- but also that students applythese skills in their later courses.

The level of coverage assigned to professional practice varies depending on institutional commitment, departmental resources, and faculty interest. For example, in 1999, Laurie King (Department of Mathematics and Computer Science at Holy Cross College) conducted an informal survey concerning the inclusion of ethics in curricula through the ACM SIGCSE list. Of the 74 schools that reported back, 40 schools had enough coverage of ethics that would meet CSAB Criteria 2000 [CSAB2000]. Although many schools clearly did not consider this material to be essential, it is encouraging that more than half of the schools did. With the growing emphasis on professionalism in accreditation criteria, it is likely that other schools will strengthen their commitment to teaching professional practice.

The following list outlines several potential mechanisms for incorporating additional material on professional practice:

  • Senior capstone courses. These courses typically form a one- to a two-semester sequence during the student's last year. Usually, students must work in teams to design and implement projects, where those projects must involve consideration of real-world issues including cost, safety, efficiency, and suitability for the intended user. The projects may be developed solely for the class, but may also involve other on- or off-campus clients. Although the emphasis of the course is on project work and student presentations, some material on intellectual property rights, copyrights, patents, law, and ethics may be included.
  • Professionalism, ethics, and law courses. These courses are one semester long and expose students to issues of professional practice, ethical behavior, and computer law. Topics included may be history of computing, impact of computers on society, computing careers, legal and ethical responsibilities, and the computing profession.
  • Practicum/internship/co-op programs. These programs are sponsored by the institution (preferably) or department to allow students to have the opportunity to work in industry full- or part-time before graduation. At least one to two coordinators should be hired to oversee the program and it is helpful to have one coordinator at the college level as well as to have a part-time coordinator within a department. Students typically work during the summers and/or from one to three nonconsecutive semesters while they are engaged in their undergraduate degree. The students who do a co-op or internship generally do so off-campus and so may interrupt their education for a summer or a semester. Students are usually paid for their work, but in some cases may also be allowed course credit.
  • Team-based implementation courses. These courses emphasize the process of software development and typically include a team project. Course topics include software processes, software management, economics, risk management, requirements engineering, design, implementation, maintenance, software retirement, software quality assurance, ethics, and teamwork. Topic coverage is usually broad rather than in-depth.
Many courses outside the computer science department can also help students to develop stronger professional practice. Such courses include, but are not limited to, philosophical ethics, psychology, business management, economics, technical communications, and engineering design.

10.3 Supporting professional practice

Support for including more professional practice in the curriculum can come from many sources. The sections that follow look at the responsibilities of the public and private sectors; the relationship between academic preparation and the work environment; and the roles of university administrations, faculty, and students in making professional practice an educational priority.

10.3.1 The private and public sectors

Most students graduating from universities go on to employment in the private or public sector. In their role as the primary consumer of graduating students, industry and government play an important role in helping educational institutions promote professional practice. As an example, students who take advantage of industrial co-ops or government internships may mature faster in their problem-solving skills and become more serious about their education. Such internships may also help the institutions that offer them, in that a student who has an internship with a company may choose to work there again after graduation. With private/public sector support, professional practice coverage is given a necessary augmentation both inside and outside the classroom.

One of the most important ways that the private and public sectors can support the education process is to encourage their employees to play a greater role in helping to train students. These employees can offer support in a number of ways:

  • They can function in the role of mentors to students working on projects.
  • They can give special presentations to classes for telling students and faculty about their firm, their work, and their development processes.
  • They can take part-time positions as adjunct instructors to strengthen a university's course offerings.
  • They can provide in-house training materials and/or classes to faculty and students in specialized research, process, or software tool areas.
  • They can serve on industrial advisory boards, which allows them to provide valuable feedback to the department and institution about the strengths and weaknesses of the students.
In each of these ways, institutions in the private and public sectors can establish important lines of communication with the educational institutions that provide them with their future employees.

In addition to the various opportunities that take place on campus, industry and government also contribute to the development of strong professional practice by bringing students and faculty into environments outside of academia. Students and faculty may take field trips to local firms and begin to establish better relationships. Over a longer term, co-op, practicum, and internship opportunities give students a better understanding of what life on the job will be like. In addition, students may become more interested in their studies and use that renewed interest to increase their marketable potential. Students may also form a bond with particular employers and be more likely to return to that firm after graduation. For faculty, consulting opportunities establish a higher level of trust between the faculty member and the company. As a result of these initiatives, employers, students, and faculty know more about each other and are more willing to promote each other's welfare.

In what remains one of the most important forms of support, private and public sectors may also make donations or grants to educational institutions and professional societies in the form of hardware, software, product discounts, money, time, and the like. Often, these donations and grants are critical in providing updated resources, such as lab hardware and software, and in funding student scholarships/awards as well as faculty teaching/research awards. They serve to sponsor student programming, design, and educational contests. Grants can enable more research and projects to be accomplished. At this level, private/public sectors help to ensure the viability/progress of future education and advances in the computing field.

Through patience, long-term commitment, understanding of each other's constraints, and learning each other's value systems, private/public sectors and education can work together to produce students skilled in professional practice and behaviors. Their cooperative agreement is essential for producing students who value a high ethical standard and the safety of the people who use the products the students will develop as professionals.

10.3.2 Modeling local and international work environments

Just as industry representatives increasingly seek graduates who are "job ready," most students expect to practice computing in the workplace upon graduation without significant additional training. Although the educational experience differs from that of the workplace, educators need to ease the transition from academia to the business world by:

  • Mimicking the computing resources of the work environment
  • Teaching students how to work in teams
  • Providing significant project experiences

Introducing these points into the curriculum makes it possible to model significant issues in the local and international work environment. Faculty can discuss and have students apply international, intercultural, and workplace issues within the context of computing resources, teamwork, and projects.

Because computing environments change rapidly and several different ones exist, it is not possible to predict the exact environment that students will use upon graduation. As a result, it is not advisable to focus attention in the curriculum on a particular set of tools. Exposure to a wide variety of computing platforms and software tools provides good preparation for professional work, resulting in flexible learners rather than students who immaturely cling to their one familiar environment.

Learning how to work in teams is not a natural process for many students, but it is nonetheless extremely important. Students should learn to work in both small and large teams so that they acquire planning, budgeting, organizational, and interpersonal skills. Ample course material should support the students in their teamwork. The lecture material may include project scheduling, communication skills, the characteristics of well-functioning and malfunctioning teams, and sources of stress for team environments. Assessment can be based on the result of the team's work, the individual work of the members, or some combination thereof. Team member behavior may also play a factor in the assessment.

Significant project experiences can enhance the problem-solving skills of students by exposing them to problems that are not well defined or that do not have straightforward solutions. Such projects may be a controlled, in-class experience or have a certain amount of unpredictability that occurs with an outside client. The project should serve to stretch the student beyond the typical one-person assignments that exercise basic skills in a knowledge area. Beyond that, projects can also cut across several knowledge areas, thereby helping students to bring all their basic skills together.

10.3.3 Administration, faculty, and student roles

At the highest institutional level, the administration must support faculty professional and departmental development activities. Such activities may include consulting work, professional society and community service, summer fellowships, obtaining certifications and professional licensure, achieving accreditation, forming industrial advisory boards with appropriate charters, establishing co-op/internship/practicum programs for course credit, and creating more liaisons with the private and public sectors. Such activities can be extremely time-consuming. They are, however, enormously valuable to both the individual and the institution, which must take these activities into account in decisions of promotion and tenure.

Faculty and students can work together by jointly adopting, promoting, and enforcing professional society ethical and professional behavior guidelines. Faculty should join professional societies and help to establish student chapters of those societies at their institutions. Through the student chapters, awards may be given for significant achievement in course work, service to the community, or related professional activities. In addition, student chapters may provide a forum for working with potential employers and be instrumental in obtaining donations, speakers, and mentors from outside the institution.

10.4 Incorporating professional practice into the curriculum

The incorporation of professional practice must be a conscious and proactive effort because much of the material must be interwoven into the fabric of existing curricula. For example, the introductory courses in the major can include discussion and assignments on the impact of computing on society and the importance of professional practice. As students progress into their sophomore-level courses, they can start to keep records of their work as a professional might do in the form of requirements, design, and test documents.

Additional material, such as computer history, techniques for tackling ill-defined problems, teamwork with individual accountability, real-life ethics issues, standards and guidelines, and the philosophical basis for ethical arguments, may also be covered either in a dedicated course or distributed throughout the curriculum. The distributed approach has the advantage of presenting this material in the context of a real application area. On the other hand, the distributed approach can be problematical in that professional practice is often minimized in the scramble to find adequate time for the technical material. Projects, however, may provide a natural outlet for much of this material particularly if faculty can recruit external clients needing non-critical systems. When they engage in service-learning projects in the community or work with external clients, students begin to see the necessity for ethical behavior in very different terms. As a result, those students learn much more effectively how to meet the needs of the client's ill-defined problem. No matter how professional practice is integrated into the curriculum, however, it is critical that this material be reinforced with exercises, projects, and exams.

For departments with adequate faculty and resources, courses dedicated to teaching professional practice may be appropriate. These courses include those in professional practice, ethics, and computer law, as well as senior capstone and other appropriate courses. More advanced courses on software economics, quality, safety, and security may be included as well. As noted at the end of section 10.2, these courses may be from disciplines outside of computer science and still have a profound effect on the professional development of students.

10.5 Assessing professional practice work

Faculty can promote the positive assessment of professional practice work by establishing an infrastructure where student work is evaluated under common standards and where professional completion of assigned work is actively encouraged. The infrastructure may be built upon the following:

  • Outcomes-based assessment
  • Reviewing assignments, projects, and exams for appropriate inclusion of professional practice material
  • Critically reviewing and establishing sound measurements on student work to show student progress and improvement
  • Getting students involved in the review and assessment process so that they get a better sense of the assessment process
  • Employing professionals in the private and public sectors to help in assessing student project work
  • Using standardized tests to measure overall student progress
  • Taking post-graduation surveys of alumni to see how well alumni thought their education prepared them for their careers
  • Obtaining accreditation to demonstrate that certain education standards for professional practice have been met

The assessment process should encourage students to employ good technical practice and high standards of integrity. It should discourage students from attempting to complete work without giving themselves enough time or in a haphazard manner, such as starting and barely completing work the night before an assignment is due. The assessment process should hold students accountable on an individual basis even if they work collectively in a team. It should have a consistent set of measurements so that students become accustomed to using them and learn how to associate them with progress or lack thereof.


CC2001 Report
December 15, 2001
Document Actions