0% found this document useful (0 votes)
18 views8 pages

Sigcse Bulletin: Vol 2 8 N o - 2 J U N e 1 9 9 6

The document describes an orientation course for beginning computer science majors at Oregon State University. The course aims to provide an overview of the field, introduce students to resources and opportunities, and develop skills like problem solving, teamwork, and use of computing services. It discusses influences on the design like a focus on groups work, problem solving, and awareness of culture and resources. Constraints included not making it a prerequisite for other CS courses.

Uploaded by

Zubair Aziz
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views8 pages

Sigcse Bulletin: Vol 2 8 N o - 2 J U N e 1 9 9 6

The document describes an orientation course for beginning computer science majors at Oregon State University. The course aims to provide an overview of the field, introduce students to resources and opportunities, and develop skills like problem solving, teamwork, and use of computing services. It discusses influences on the design like a focus on groups work, problem solving, and awareness of culture and resources. Constraints included not making it a prerequisite for other CS courses.

Uploaded by

Zubair Aziz
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

A COMPUTER SCIENCE FRESHMAN ORIENTATION COURSE

Curtis R. Cook
Computer Science Department
Oregon State University
Corvallis, OR 97331-3202
cook@cs.orst.edu

ABSTRACT

This paper describes an orientation course for beginning computer science majors. The course is
different from the CS 1 or computer literacy courses, but similar in intent and content to orientation
courses in engineering, business, and other fields. Its purpose is to give students an overview of
computer science and an idea of what computer professionals do so that students can make an
informed career decision. Other emphases for the course axe practice in problem solving,
experience working in groups, teaching basic technical (non-programming) skills, social and
ethical issues, and making students aware of the resources and opportunities available to them
such as internship programs. Influences and constraints on the design of the course and suggested
changes the next time the course is taught are also described.

1. INTRODUCTION

Freshman orientation courses are common in many academic disciplines especially in professional
fields such as engineering, business, and health sciences. The major purposes of these courses are
to give the students an overview of the discipline, an idea of the types of career opportunities, and
a chance to meet the faculty and other students in the program. The course gives freshman an idea
of what the profession is like and what professionals do so that they can make an informed
decision about their educational and career goals. Orientation courses are important because
beginning students spend much of their time in the first two years taking required background
courses in science and mathematics and often lose sight of the reasons why all of this background
is necessary.
Orientation courses do not seem to be that common in computer science. Most first
computer science courses are computer literacy, introductory programming, or introduction to
computer science courses. Computer literacy courses typically cover use of personal computer
productivity packages, computer applications, social and ethical issues, and possibly some
exposure to simple computer programming. Introductory programming courses are offered for
most of the common programming languages such as C and Pascal and primarily focus on
developing programming skills. Introduction to computer science courses approach computer
science as the science of computing with an emphasis on algorithms and provide an overview of
the field. Students do considerable programming in the introduction to computer science classes.
In all of these courses Little time is spent conveying what computer professionals do. Probably the
major reason for devoting little if any time to orientation topics is that many of the students in the
first course are not computer science majors.
In this paper we describe a freshman computer science orientation course that is similar in
content and purpose to orientation courses offered in other disciplines. The course provides an
opportunity to "sell" computer science, make the students feel part of a community, teach some of
the basic technical skills, and give an overview of computer science. I describe the major

SIGCSE
BULLETIN
Vol 28 No. 2 June 1996 49
influences in design of the course as well as major constraints. Finally I describe changes I would
make the next time the class is taught and offer my suggestions about how I feel the course should
evolve.

2. INFLUENCES AND CONSTRAINTS

The following lists the major influences and constraints in the design of the orientation course.

Give students m o r e e x p e r i e n c e w o r k i n g in teams and basic instruction in effective


group functioning. W h e n computer industry representatives were asked for suggestions or
comments about the computer science curriculum, one comment that is heard over and over is they
would like students to have more experience working in groups. Computer science graduates have
also echoed this suggestion. However, in most computer science courses student program and
problem sets are individual assignments. Students are discouraged from working together. From
the instructor's viewpoint, it is easier to assign grades if students work alone. Furthermore the
instructor is usually careful to watch for instances of student collaboration. But all of this is
contrary to c o m m o n industry practices where work is done by teams and c o l l a b o r a t i o n is
encouraged.
In our curriculum, there are two undergraduate software engineering courses where a major
part of the course involves students working in teams on large projects. These projects are large
compared to previous p r o g r a m m i n g assignments, but cannot be considered large by industrial
standards. In a few of the other courses, such as compiler construction instructors often have
students work in pairs. Even in the courses where students work in teams, there is little if any
instruction on group dynamics and effective team functioning.

P r o v i d e students with e x p e r i e n c e in p r o b l e m solving using a v a r i e t y of m e t h o d s


to solve problems f r o m different domains. Another frequent c o m m e n t from industry and
from faculty is that students are poor problem solvers. Industry would like to hire students with
the skill to tackle difficult and ambiguous problems. One of the primary i~easons for requiring a
year of calculus in the computer science curriculum is that it helps in developing p r o b l e m solving
skills. However, students appear to have difficulty incorporating new p r o b l e m solving methods
and in transferring the methods they do learn beyond the courses in which they are taught.

M a k e students a w a r e of the university and c o m p u t e r science d e p a r t m e n t cultures,


a c a d e m i c regulations, and r e q u i r e m e n t s and encourage t h e m to take a d v a n t a g e of
the available r e s o u r c e s . The University and Computer Science Department are cultures. That
is, each has own concepts, habits, procedures, infrastructure, arts, etc. C o m p u t e r science
students will need to learn how these cultures are organized and function so that they can
effectively j o i n and survive in these cultures for 4 years (or more) and leave with a degree.
Students will need to learn the about the academic requirements, regulations, and rules and how
and where to find information about them. Students also need to learn about what resources and
opportunities are available and be encouraged to take advantage of them. For example, there are a
n u m b e r of internship or coop program opportunities beginning at the j u n i o r level that freshman
should be aware of and plan their schedules accordingly. In short students need to b e c o m e aware
of and be encouraged to take advantage of the opportunities available to them.

F o s t e r the d e v e l o p m e n t of c o m m u n i t y a m o n g c o m p u t e r science m a j o r s and the


d e v e l o p m e n t of i n f o r m a l peer study groups. Faculty felt that compared to other
departments in the College of Engineering there was not as strong a sense o f b e l o n g i n g to a
c o m m u n i t y among computer science students. The only student organization is an A C M Student
Chapter but few students participate. Faculty also felt it was beneficial for students to interact with

S
B IUGLCLS
EETIN vol 28 No. 2 June 1996 50
fellow students and to study in informal peer groups. This recognizes the well k n o w n fact that
much student learning occurs outside the c l a s s r o o m . It was also recognized that formation of
informal study groups had to occur naturally although it could be encouraged through a appropriate
environment.

T e a c h students h o w to effectively and r e g u l a r l y use n e t w o r k s e r v i c e s , e. g.• e-


mail, n e w s and W W W . Faculty believed that most incoming freshman had basic computing
skills - word processing, spreadsheet, database, e-mail, and some p r o g r a m m i n g . (A survey
administered the f'n'st day of class confirmed this.) The survey indicated that most o f the students
used word processors and spreadsheets and nearly half had used e-mail or news. Announcements
and information about job opportunities, courses,• advising, etc. are sent electronically by the
department. Even though every computer science student had a computer account, students were
not reading announcements and information on a regular basis. Furthermore m a n y students were
not taking advantage of the various network resources - e-mail, news, and World W i d e Web
(www).
H a v e faculty m a k e short overview presentations of the m a j o r areas in c o m p u t e r
science and the outstanding problems in each area. Faculty felt that beginning students
had a narrow view of computer science - namely it was programming. Few realized that non-
coding activities account for the bulk of the effort in creating a large application. Students had little
idea of the scope of computer science - major areas and outstanding problems in these areas. It
seemed that students with this background would be more motivated and better understand the
relevance of material in later courses than students without this background. Furthermore, faculty
were very willing to give a short lecture on a major area and outstanding problems in that area.

The orientation course should not be a prerequisite for other c o m p u t e r science


courses. Since students in other majors (computer engineering, mathematical sciences, business)
take most of the same computer science courses as computer science majors, the orientation course
should not be a prerequisite for any other computer science class. The curriculum for the first two
years in these other majors is so full that there is not room for another course. In addition there is
also a computer science minor which requires the first two years computer science core as well.

The orientation course should not teach programming. Another constraint is that the
orientation course should not be a programming course. This follows somewhat from the previous
constraint. But at the same time, the orientation course should not give the computer science
students a p r o g r a m m i n g skill advantage over non-computer science students in the computer
science core classes. That is, since C++ is used in the computer science core classes, the
orientation course should not teach C ~ t. If it was seen that the orientation course did give the
computer science majors an advantage and if instructors of later computer science courses assumed
this p r o g r a m m i n g background, then non-computer science majors w o u l d also enroll in the
orientation course. Given all of the material to be covered in the orientation course, probably the
most important reason is there is little if any time to teach programming.

3. COURSE DESCRIPTION

Oregon State University is on the quarter system where each term is 10 weeks. The topical course
outline below describe the course in terms of the four major topics and the time spent on each
topic. Note the in teaching the class, material from the various topics is interspersed throughout
the class. The class met three times each week for one hour. Class meetings varied from lecture to
recitation to laboratory.

SIGCSE
BULLETIN
Vol 28 No. 2 June 1996 51
Course Topics Outline

1. Introduction to Computer Science Department Culture (15%).


This part of the course helps students deal with the culture of the University and the Computer
Science Department. Besides information about the organiTation and functioning of the University
and Computer Science Department, the course gave advice and information about how to cope with
the bureaucracy, important procedures, regulations and requirements, and what helpful resources
and opportunities are available. This is important information because computer students are in the
pre-professional program their first two years and then must apply for a d m i s s i o n to the
professional program. Admission to the professional program is based on pre-professional
academic performance. Early in their academic careers students need to be aware of opportunities
such as the extensive internship programs in the college and the international degree. The
orientation course also provided a chance to discuss and answer questions about a c a d e m i c
dishonesty. The first team problem assignment was for each person in each team to hand in an
academic course schedule for the next four years and to demonstrate that the schedule satisfied the
degree requirements. This assignment made them learn the degree requirements and think about
their schedules for the next four years.
Technical skills such as use of e-mail, news, and W W W were taught in the computer
science laboratory in one class period.

2. Team Problem Solving (60%)

T eam problem solving was the single major area of concentration in the course. Students were
divided into teams of m a x i m u m size four during the first week of class. After the fourth week they
were divided into new teams and again assigned to new teams at eight weeks. After students had
several weeks experience working in teams, a professor from the Speech C o m m u n i c a t i o n s
Department lectured on group dynamics and working effectively in teams. I purposely scheduled
this lecture after the student teams had worked one problem set and had encountered usual team
problems and frustrations (what to do if a team member does not attend team meetings, what to do
if team m e m b e r fails to do his/her share). The students spontaneously applauded after her lecture
because they identified with the points she emphasized and appreciated the practical information
and advice she provided.
The course covered a variety of general problem solving methods - inference, hill climbing,
divide and conquer. I chose to concentrate on a few methods in some detail rather than a large
number of methods. For each method examples were worked in class and problem sets assigned
to each team. A sample problem set is given in Appendix A. (Averbach and Chein [1] is an
excellent source of problems.) The importance of representation (e.g. graph theory as a general
representation method, tables for inference problems) and validation of solutions were highlighted.
Only a small amount of time was devoted to algorithms. Pseudocode and a little algorithm
analysis was covered. Pseudocode was introduced to give students a language in which to write
the algorithms for problem solutions. The algorithm analysis just did worst case analysis and
introduced the Big Oh notation.
I felt it was important to give students experience using a high level problem solving tool so
that they would gain an appreciation of the utility and power of such tools and not always think of
programming in a language such as C as a typical problem solution. I selected the powerful
mathematical manipulation tool Maple V TM. I could have just as well selected Mathematica or
MathLab. Ma p l e V is more than a fancy calculator. It can perform s y m b o l i c and n u m e r i c
mathematics, generate 2- and 3-dimensionaI graphics and animation, and display output in a
mathematical notation to a large number of decimal places and in a format specified by the user.
This is the part of the class where the students did a little programming to solve problems. The

SIGCSE
BULLETIN vol. 28 No. 2 J u n e 1996 52
required computations and plots can usually be stated in few simple high level Maple commands. I
attempted to emphasize that Maple V has the same advantages over using a programming language
as a calculator has over pencil and paper. Using Maple V the answers can be obtained much faster,
with considerably less effort, and are more likely to be correct and accurate to more decimal places.
I felt that was important for students to be exposed to a tool with symbolic mathematics. Finally
Maple V is available for a variety of platforms and operating systems including the Macintosh, MS
Windows, X Windows, and UNIX.

3. Introduction to Social and Ethical Issues in Computer Science (10%)

The major goal of this part of the course is to make students aware of the social and ethical issues
and to give them some practice dealing with them. Since only one week was devoted to this
section, the issues covered were: piracy, privacy and professional responsibility. These issues
seemed the most relevant to students at this level. Software piracy is a continual problem at high
schools and colleges. In this section of the course I emphasized that piracy is illegal, but also
discussed what is "fair use" of software. Privacy is more abstract but a few well chosen examples
can make it quite real for the students. Responsibility when the software malfunctions is certain to
become a serious liability question in the future. Most of class time was spent working on and
discussing scenarios. Teams were assigned several scenarios to work through and hand in.

4. Introduction to M a j o r Areas in Computer Science and Major P r o b l e m s in each


Area (15%)

Early in the course I presented a brief the history of computing, the basic functional organization of
computers, and the representation of information inside the computer. This provided the basic
background for the 25 minute presentations on the major areas of computer science by faculty in
the department. For example, since I covered the typical yon Neumann architecture, students
understood what faculty member lecturing on parallel computing meant when he referred to the
"yon Neumann bottleneck" problem. Areas covered in the faculfy presentations: software
engineering, artificial intelligence, parallel programming, computer networks, programming
languages, and algorithms. Students were required to hand in short summaries of each
presentation. I should comment that it is convenient to schedule these lectures when the instructor
must miss a class.

4. T E X T B O O K S AND G R A D I N G

There is no textbook that includes the wide range of topics covered in the orientation course. Since
I felt that it was essential that students have a textbook, I selected Brookshear [2] which is used as
a supplement in our first core computer science class. It includes material on the history of
computing, functional organization of a computer, representation of data, algorithms, and chapters
on the major areas of computer science.
The textbook was weak in the problem solving area and contained no material on social and
ethical issues or high level software tools such as Maple V. For the problem solving I made
extensive use of material from general and mathematical problem solving books [1, 3, 5, 6, 8].
These books contain a wealth of examples and problems.
Next time I teach the class I will use Schneider and Gersting [ 7 ]. This text covers basic
hardware and software, history, and social and ethical issues. It also contains material on the
major areas in computer science. However, it is weak in the problem solving area.
I wanted to give students enough of the flavor of using a high level tool in order for them to
experience first hand the advantages (e.g. symbolic computation, nearly unlimited precision) of a
tool such as Maple V. Obviously not all of the features of Maple had to be covered. I prepared a

SIGCSE
BULLETIN vol. 28 No. 2 June 1996 5~
handout that provided e n o u g h basic information about using it so that students could solve the
assigned problems. Also because of Maple's extensive on-line documentation and the truly helpful
Help C o m m a n d s , once students became familiar with the basic features they could easily m o v e on
to the more advanced features.
Although students were somewhat familiar with the concepts i n v o l v e d in the three ethical
issues covered - software piracy, privacy, and professional responsibility- it w o u l d h a v e b e e n
useful i f the textbook contained basic m a t e r i a l on them. I used material for the lectures f r o m
Johnson [4] and would r e c o m m e n d it as a reference.
A final c o m m e n t on textbooks. I read the sections that discussed types o f j o b s and careers
in several c o m p u t e r science and engineering" books. One noticeable d i f f e r e n c e b e t w e e n these
books was the engineering books seemed to emphasize the professional aspects o f engineering, the
relation and interaction b e t w e e n the branches o f engineering and how they fit together, a n d the
social responsibilities of engineers. This m a d e the treatment in c o m p u t e r science books appear
superficial and narrow in comparison.
The orientation course was graded on a Pass/No Pass basis. That is, a student n e e d e d to
achieve a certain m i n i m a l level of performance to earn a grade of Pass. The decision to use the
Pass/No Pass grading was based on several factors. First the p r i m a r y purpose o f the orientation
course is not t o "weed out" students, but rather to help t h e m m a k e i n f o r m e d d e c i s i o n s about a
major and a career. The knowledge and technical and survival skills learned in the course apply to
all majors. Furthermore, most students in the course are in their first term at the University w h i c h
is a time o f adjustment. Finally m u c h o f the student work is done in teams for w h i c h it is difficult
to assign individual grades.
Grading,was based on 200 possible points. 50% o f the points were based on t e a m projects
and p r o b l e m assignments some of w h i c h individual, 20% for the m i d t e r m and in-class quizzes,
20% for the final, and 10% for class participation and individual writing assignments. A student
had to earn more than 119 points for a grade o f Pass. O f the 75 students in the class, all but I0
earned a Pass.

5. WHAT I WOULD DO DIFFERENTLY T B ' E N E X T TIM'F~.

The m a j o r change I would make would be to include more information about careers for computer
science graduates. I w o u l d arrange for outside speakers to give short class p r e s e n t a t i o n s and
answer questions. Currently I am contacting alumni about becoming "electronic pen pals/mentors"
for students in the orientation class. This will give students an opportunity ask w o r k i n g
professionals specific questions about what they do and seek advice about to best take advantage of
the opportunities and resources available at the University.
Most of the e x a m p l e and assigned problems were mathematical. To e m p h a s i z e general
problem solving more, I would choose problems that are less mathematical and more open-ended.
C h a n g e from the three one hour classes per week to two one hour classes plus a 90 m i n u t e
recitation/laboratory. T h e c l a s s w o u l d b e d i v i d e d into two e q u a l s e c t i o n s f o r the
recitation/laboratory.
A group o f five students in the class volunteered to serve on a Total Quality M a n a g e m e n t
(TQM) team for the course. The students received extra credit points for volunteering. W e tried to
meet weekly, but not e v e r y o n e could attend each time. The meetings gave me an opportunity to
b o u n c e ideas and plans, to seek advice on student preferences and a chance for students to share
their ideas and comments. Students were free to m a k e suggestions about any aspect o f the course
other than the content. For e x a m p l e , they decided that there s h o u l d be three d i f f e r e n t t e a m
assignments during the term and whether the m i d t e r m and final would be open or closed book. I
plan on m a k i n g more use of the T Q M teams in the future.

SIGCSE
BULLETIN vol. 28 No. 2 June 1996 $4
6. POSITIVE OUTCOMES

It is too early to access the impact of the course. Did the class provide the needed overview of
computer science? Will students make better career decisions? Will students take more advantage
of the available resources and opportunities? Did the course improve student p r o b l e m solving
skills? W i l l students regularly read announcements and make more effective use o f network
resources? These questions may never be answered.
However, there were some noticeable changes from students working in teams. Students
got to know more their peers and it encouraged the formation of informal study groups. I noticed
almost immediately that students in the same group began to sit next to each other in class. Shortly
after students were assigned to their second teams, several students indicated that they preferred
their original group to the their new group. In fact several students continued to study and work
with m e m b e r s of their original group. Another positive outcome is experience o f working in
teams carried over to the next computer science course. The instructor of this course had students
do some work in teams. He immediately noticed that students who had taken the orientation
course were prime movers in the most effective teams.

7. HOW THE ORIENTATION COURSE SHOULD EVOLVE

A major problem in teaching an orientation class is fitting in all of the material and topics you
would like to present. I have presented my view of what topics should be covered and what I feel
is important in the orientation class. I expect there to be some disagreement about my choice of the
topics. Where I would expect most disagreement would be in the depth of topic coverage. I
placed heavy (perhaps too much) emphasis on team problem solving. Our course had to satisfy
constraints (no programming, not a prerequisite for another computer science course) that may not
be applicable at all universities. Actually my use of Maple V violated the letter, but not the spirit of
the "no p r o g r a m m i n g constraint." M y advice for designing an orientation course is to first
determine the goals and constraints. Determine what skills and knowledge you want students to
learn from the orientation course and how it fits within your curriculum. Then select the topics and
decide how much time to devote to each.
Rather than re-inventing the wheel, I think computer scientists can learn m u c h f r o m
engineering departments who have much experience teaching orientation courses. A task force of
faculty who teach the orientation courses in College of Engineering at Oregon State University met
recently. The charge to task force was to look at improving the orientation courses with a side
benefit of sharing what each did and what works well and what does not.
They discovered a set of 8 core topics common to all of the courses:
1. College of Engineering and Getting into Pro School
2. Rudimentary Computing Skills
3. Library Resources
4. Professionalism and Ethics
5. Time Management Skills
6. Engineering Disciplines
7. Team Management Skill.~
8. S u m m e r Work, Internships, and Survival Skills
The task force recommended that all orientation courses should devote a m i n i m u m amount
time (1 hour) to each of the core topics and that "teaching modules" be developed for each of the
core topics including the materials needed for an instructor to incorporate the topics in a way that
ensures a reasonable level of quality and consistency across the college. The recommendations
were accepted and faculty have been funded to develop these modules.
*********************************** References C o n t i n u e d On Page ************************

SIGCSE
BULLETIN Vol. 28 NO. 2 June 1996 55
[3] "Virtual Reality - through the new looking glass", Ken Teixeira and Pimental K, Windcrest 1993.
Distributed by McGraw-Hill.

[4] http://www.cs.umd.edu/projects/eve/vrtp.html is the home page address for the information


produced by an undergraduate course on VR and telepresence run by Prof. Ben Shneiderman at the
University of Maryland.

[5] http://vrml.wired.com/is the VRML discussion group.


http://sdsc.edu/vrml/is the VRML repository.

************************************ References From Page ********************************

8. REFERENCES

1. B. Auerbach and O. Chein, Mathematics: Problem Solving Through Recreational Mathematics.


W.H. Freeman, San Francisco, 1980.

2. J. Brookshear, Computer Science: An Overview. Benjamin/Cummings, Redwood City,


California, 1993.

3. S. Hedetniemi and S. Goodman, Introduction to the Design and Analysis of Algorithms.


McGraw-Hill, New York. 1977.

4. D. Johnson, Computer Ethics. Prentice-Hall, Englewood Cliffs, N J, 1994.

5. D. Miller, Problem Solving Explorations. Macmillan, New York, 1994.

6. G. Polya, How to Solve It: A New Aspect of Mathematical Method. Princeton University
Press, Princeton, N J, 1973.

7. M. Schneider and J. Gersting, An Invitation to Computer Science. West Publishing,


Minneapolis/St. Paul, 1995.

8. W. Wickelgren, How to Solve Problems. W.H. Freeman, San FranciSco, 1974.

SIGCSE
BULLETIN vol. 28 No. 2 June 1996 61

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy