Mission Statement
The Computer Science Program at Transylvania University believes that
all students, no matter what career or vocation they choose, may benefit
from knowing how to use the computer as a tool. Thus, providing an environment
where these skills may be kept up-to-date in a rapidly changing technological
world is important. For those students choosing to major in Computer Science,
the program's purpose is to provide the opportunity to prepare for advanced
study or a career specifically related to computers. Since the field is
changing so rapidly, the program must continually balance the student's
acquisition of knowledge with the ability to apply that basic knowledge
to current trends.
Goals Statement
With the program's mission in mind, the goals are:
Goals will be assessed by one or more of the following methods:
Developing up-to-date computer usage skills
The primary vehicle that we have used to enable us to reach the first
goal, helping students develop basic computer skills, has been the introductory
course for non-majors: CS 2014 Introduction to Computers.
This course has been very popular - every section always filled to capacity
(and beyond) - even though we offer at least 4 sections per year. Part
of the course's popularity is due, no doubt, to it satisfying a general
education requirement. However, we still anticipate high interest in
the course even after the new GE requirements are in place. We currently
have to limit the number of students in each section to 24, due to the
number of computer stations available in our teaching lab.
The content and focus of the Intro course have changed over the past three years to reflect the growing use of the Internet. Students not only learn how to use the Internet as a tool, but study the problems it poses. In addition to the traditional computing tools (word processing, database management, spreadsheets) students now learn how to publish documents on the Internet, create web sights, use audio and visual plug-ins, and intelligently search the Internet. Telecommunications now is an important component of this course. The way we teach the traditional computing tools has also changed. Rather than using a specific application program (such as Microsoft Works for word processing), we now teach generic concepts that apply to all such programs and we make available for student use several of the most popular ones. We believe this gives students the ability to adapt to whatever software they will encounter in the future, rather than be dependent on a particular program. All of these changes may be seen in the syllabi from the two current sections being taught this term, found in Appendix B. The 1998 catalog will reflect the new number for this course, CS 1014, indicating more clearly that it has no prerequisite.
Another way in which we try to enable students (who are not computer science majors) to develop the computer skills in which they are interested, is through some of the regular courses. For example, a biology major with an interest in design was allowed to take the Computer Graphics course. Of course it necessitated extra work with the instructor in order to learn some programming skills, but the student was successful. This semester two art majors who are interested in using their creative abilities in Web programming are taking a Special Topics course (Perl, CGI, and Java) along with CS majors. Again, it is requiring extra work on their part but they are able to contribute a lot to the class. Another course, CS 4034 Artificial Intelligence, is open to non-cs majors. During the past few years we have had students from Biology, Philosophy, and Psychology in the class with CS majors. This has proved to be very successful and has produced tremendous classroom discussions. This experience led to the development of an interdisciplinary course in May Term, 1994, Foundations of Cognitive Science. The course was taught by professors in Computer Science (Tylene Garrett), Philosophy (Jack Furlong), and Psychology (Meg Upchurch) and included students from all three areas.
The Computer Science Curriculum
In attempting to reach the second goal, to provide foundation in the most current basic core curriculum for Computer Science majors, several changes have been necessary. The most important change was going from basically two different majors, Computer Science/Mathematics Emphasis and Computer Science/Business Emphasis to one major, Computer Science. During the early formative years of computer science, two different paths were necessary and relevant. In the 1990's, this is no longer true. Students are better served by a revamped Computer Science major, augmented with a minor in a business field for those desiring emphasis in that area.
The computer science field changes more rapidly than any other field.
It is very obvious that the technology is constantly changing. But it is
not quite so obvious that the algorithms and basic concepts that must form
the core of any program are also changing to reflect the available technology.
This poses a challenging task for any computer science program at any university.
It is all the more challenging for us because of our small numbers (two
full-time CS faculty and one other who must divide his time with the Mathematics
Program and with his duties as chairman of the division.) We do not want
to be constantly changing the program requirements and we want as much
continuity as possible. However, we want our students to be confident they
are receiving the most up-to-date education possible. Thus, we have implemented
the following changes in our major pattern, as summarized in the following
table:
|
|
|
|
| CS 2114 Introduction to Computer Science | CS 1124 Computer Science I | renumbering,
renaming |
| CS 2124 Computer Logic in Problem Solving | CS 2124 Computer Science II | renaming |
| CS 2134 Assembly Language Programming | CS 2144 Computer Organization | combination of CS 2134 and CS 3034 (Computer Architecture) |
| CS 3004 Data Structures | CS 2444 Data Structures | renumbering |
| CS 3024Compiler Construction | CS 3024 Compiler Construction | unchanged |
| CS 3074 Operating Systems | CS 3074 Operating Systems | unchanged |
| CS/MA 3054 Discrete Computer Math | previously an option in Allied Courses | |
| CS 4004 Senior Seminar -- Algorithm Theory | new course
(capstone) |
|
| 4 other 3000 - 4100 level courses | 3 other 3000 - 4100 level courses | one less course |
| Allied Courses:
MA2124 Calculus I and either MA2134 Calculus II or CS 3054 Discrete Computer Math |
Allied Courses:
MA2124 Calculus I MA 2134 Calculus II |
CS 3054 is now a required core course. |
We have established eight core courses that are required of all majors. These courses adhere to the content and organization of the courses recommended by the Association of Computing Machinery (ACM), the organization that coordinates the computing efforts of industry, government, and education. One of these core courses, Computer Organization, is a combination of two current courses: Assembly Language and Computer Architecture. Previously, only the Assembly Language course was required - the Architecture course was an elective. It became apparent from the results of the ETS Field Test in Computer Science, which we have been administering to graduating seniors since 1995, that this was an area of concern. As a whole, our lowest test scores have been in the area of machine architecture. We had assumed that students majoring in computer science would either take this Architecture course or learn the material on their own. It is now obvious that many did neither. Another concern was with the Assembly Language course. We no longer believed the material warranted an entire semester, but thought it would be more appropriate combined with an Architecture course, since it is the language of choice for dealing with such systems. Thus, combining the two courses (which ACM recommends) into a required course in Computer Organization seems to go a long way in solving both problems. All majors will have the machine architecture course now and assembly language will be taught in a context where it is actually used.
An addition to the new core curriculum is CS/MA 3054 Discrete Computer Mathematics. Previously this was an optional allied course (could be taken instead of Calculus II.) Although we had recommended the course to all majors, we had strongly suggested it to those students planning to attend graduate school, in addition to Calculus II. Discrete Math was the most theory-oriented course that we offered. Since the second lowest area in our testing results was theory, the decision was made to require it of all CS majors.
There is one entirely new course in our core offerings, CS 4004 Senior Seminar - Algorithm Theory. With this course we hope to fulfill several needs. We want to have a course serve as a capstone experience; we want a course that emphasizes theory of algorithm design; we want a course that emphasizes technical reading and writing. Course descriptions for the new core courses are found in Appendix C.
Within the core courses themselves, several major changes have been
made over the past two years with respect to the programming languages
used. The programming language C has replaced Pascal as the primary
computer programming language in the first two courses (currently CS 2114
and CS 2124). The programming language C++ has replaced
Pascal in the Data Structures course (currently CS 3004). Beginning
with the fall of 1997 the Data Structures course added a lab component.
The Computer Science I course will follow suit in the fall of 1998.
Opportunities for Application to Current Topics in Computer Science
We have traditionally provided students with ample elective courses outside of the core courses where they may explore ways in which basic concepts and algorithms are applied. These include some courses which are offered on a regular basis - Computer Graphics, Advanced Computer Graphics, Computer Music, Artificial Intelligence, Theory of Programming Languages, Numerical Analysis. But it also includes courses whose content and frequency offered are determined by what is current in the field of computer science. Some of those topics have been suggested by employers in industry and by graduate school programs. During the past four years those topics have included
Due to the tremendous popularity and influence of the Internet, programming languages that take advantage of its features are currently important. For this reason we are offering a Special Topics course this semester in Perl, CGI, and Java. There is also a great demand for a Networking course but we have only been able to offer this once. People who are able to teach this course are generally very much in demand actually doing networking and do not have time to teach it. We hope to get some of our current faculty trained in this area so that we may offer this course to our students on a regular basis.
Our course offerings afford students breadth in computer science while
Independent Study in Computer Science and Honors in Computer
Science allow for depth in a particular area. In order to pursue an
Independent Study topic, the student must have taken the necessary
background courses and must submit a proposal to the instructor during
the semester prior to the work. In order to do an Honors topic,
the proposal must be submitted to the entire CS faculty for approval before
the project is allowed. Formal papers and presentations are required at
the conclusion of each Honors project. Since the winter term of
1995, twenty-five students have completed Independent Studies and
twelve students have completed fourteen Honors in CS projects. (One
student completed three honors projects.)
Non-classroom Experiences
In addition to the May Term experience in Munich, Germany, we have also offered May Term experiences working with NASA in Cleveland, Ohio. But, by far, the most important component of our non-classroom experiences has been the internship program. Since Winter Term, 1995, thirty students have successfully completed internships. The companies that have used our students as interns include IBM, Perot Systems, Lexmark International, and Kentucky State Government. These internships have resulted in job offerings after graduation in nearly every case. We have been able to place in an internship position every student who desires one. The internship program has proved to be very valuable for our CS program as well. A CS faculty member personally visits each student on the job and meets with the student's supervisor.
The feedback we get from interns is important to our program. We are also able to get feedback from the supervisor as to how our program is preparing the student for the job. Both have been very important to us and has resulted in several changes to how we do things. For example, as a direct result of what we have learned from industry, in addition to requiring students to solve problems by writing complete programs from scratch, we now require them to
Closely related to the internship program is the part time work experience. Although not earning formal credit, many of our majors work part time during the school term (and full time during school vacations) with many of the same companies that offer internships. Each student desiring a part time job in computing is able to be placed in one. Although we strongly encourage students to wait until their junior year, many begin working with the companies during their sophomore year; some even begin during the freshman year. While we prefer that they wait until they are more able to balance college life with work, the pay being offered makes it is very difficult to resist. We believe this work experience is a vital complement to our course work. Students have the opportunity to gain experience with the latest technology and the latest methods. Our students perform valuable work, often working independently on projects as well as functioning as members of a team. They write code for programs that are in use around the world. They are able to participate in planning, implementation, testing, and documentation of real solutions to real world problems in computing. Again, most of these work experiences lead to full time employment offers after graduation.
Although job opportunities for undergraduates are plentiful, it is somewhat harder for students to find undergraduate research opportunities in computer science. One recent graduate applied for and received a grant to research a project through the Space Grant Consortium; another worked with a senior researcher at Washington University in St. Louis; another was selected to do summer research at Argonne Labs. Four recent graduates have worked on research projects with University of Kentucky computer science professors. A current student received a prestigious SERS fellowship to do research at Argonne Labs in Illinois for the fall semester of his junior year. We would like to be able to offer more summer research opportunities at Transylvania. During the summer of 1997 one student was funded to work with the computing aspect of a Transylvania math professor's research project. We hope to receive outside funding for two students to do research with a Transy computer science professor's research with computer imaging during the summer of 1998.
Technical Communication Skills
Reading technical reports and writing for technical manuals are components
of many of our courses. Additionally, as previously mentioned, each student
is provided with problem-solving opportunities that emphasize solving only
one portion of a larger problem. The student is unaware of how his/her
portion will fit into the final solution. Thus, the ability to adhere to
written specifications, without the advantage of oral communication, is
a premium. Writing a technical report is required of all students doing
Independent Study and Honors in CS classes.
Although there are several computer labs available to students at Transy, there had never been a lab specifically for computer science students. This resulted in a very unfortunate situation. The computers had to be equipped and configured for the needs of the general Transy student, which was not the same as the needs for a computer science major. As mentioned by many seniors in their exit questionnaires, Transy did not provide experience with the Unix operating system, which handicapped them in some situations, especially graduate school. Beginning in January, 1997, we were able to begin a computer science lab. Initially, the lab was equipped with three new Silicon Graphics O2 workstations (one with a digital video camera), an old IBM PC 486, and an old Next computer, networked together. Since then we have added a fourth Silicon Graphics workstation and two IBM Pentium computers. This has allowed us to do many things:
This semester we have begun a weekly series for computer science students
in which we meet on Tuesdays during the open hour from 12:30 - 1:15 for
a speaker and discussion about current topics. Topics have included the
Year 2000 Problem, Firewalls, and The Graduate School
Experience. Although we are featuring outside speakers, we have planned
for some of the presentations to be by students. This series has been enthusiastically
supported by the students.
|
|
|
Year |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
During the ten year period from 1987 - 1997, the Computer Science Program
has graduated 152 majors -- 39 women and 113 men. The average number
of graduates over the most recent four years is on par with the ten year
average.
There is no doubt that Transylvania is preparing students very well for jobs in business and industry. Our graduates are highly sought after and command very good starting salaries. See Appendix E for placements of recent graduates. We have been disappointed, however, in the percentage of our students who go on to graduate school. Four out of seventeen graduates in 1997 entered graduate school in computer science, one entered law school, and twelve obtained full time employment - ten in the Lexington area. Of the seventeen 1996 graduates, one entered law school and only two went to graduate school in computer science. Of the six graduate students produced in the last two years, four continued their part time employment, despite receiving fellowships and teaching assistantships. Two have since yielded to pressure from their employers to accept full time employment and have put off graduate school until a future date. That is one of the problems that we face in trying to persuade students to attend graduate school: the lure of the big salary.
Another problem we face is convincing students that there are exciting
opportunities available through graduate school. One way we are trying
to address this problem is by pursuing a liaison with Carnegie Mellon,
one of the premier computer science graduate programs in the nation. We
visited with them in Pittsburgh on November 11 and discussed ways this
might be accomplished. The first things we hope to accomplish include setting
up visits to their campus by our students in order to see student research
projects, arranging summer research projects at Carnegie Mellon for two
of our students each summer, and having a member of the teaching faculty
visit Transy in order to help assess our program and talk with our students
about graduate school. We look forward to pursuing many other possibilities
with them.
All of our students who want to go to graduate school in computer science are able to do so. Most have been admitted to their first choice in graduate schools. Only two graduates have had to settle for their second choice. All but one has been offered a fellowship or assistantship. Some have received very prestigious fellowships. Kenneth Moorman, 1991 graduate, received The Fannie and John Hertz Foundation Fellowship for graduate study at Georgia Tech from 1991 through 1996. This was a national fellowship and was worth about $100,000. (He also earned a Presidential Fellowship from Georgia Tech.) One of our 1996 graduates received a Presidential Fellowship from the University of Kentucky. Another 1996 graduate received a fellowship to North Carolina specificially to study with one of the top computer graphics people in the world. This person was able to hand pick the student with whom he wanted to work and he chose a Transy computer science graduate. Additionally, our students score well on their Core Examinations in graduate programs that require them. When Moorman entered Georgia Tech, he was one of only two graduate students (out of 13) who passed all five core area exams in computer science upon arrival there. The Tech core exams were designed to make sure the entering graduate student possessed the same degree of competence as a student who had completed the Georgia Tech undergraduate curriculum in computer science. (The other person who passed the exam was a Georgia Tech graduate.) Two of our 1997 graduates still in graduate school at UK have recently reported that they have passed their foundational exams on the first try. The foundational exams at UK serve about the same purpose as the core exams at Georgia Tech. The student at North Carolina also passed all of his foundational exams on the first try.
Students' job placement has been very successful. As Appendix E indicates, all have been placed. Our graduates are very much in demand. Of the twelve graduates in 1997 who did not want to attend graduate school, all were offered jobs within the same general salary range. Two chose to turn down those offers, for various reasons, in favor of lower paying jobs. Another chose to accept a position in another state. The remaining nine all received starting salaries above $40,000. Three out of the four students who went to graduate school were also offered these salaries but chose to attend graduate school and work part time instead. The starting salaries for our graduates in computer science are about $10,000 above the national average for computer science graduates with a bachelor's degree.
Another indicator of our success was the fact that IBM chose Transylvania's computer science program for its employees. Through the years many Transy graduates went to work at IBM and were very successful. IBM recognized this and decided to expose more of their employees to the Transy curriculum. Rather than training on sight or allowing them to take courses elsewhere, IBM decided to select twenty-five students per year and let them work half-time and take computer science courses at Transy half-time (financed by IBM.) This program began in 1986 and continued through 1994. IBM believed that they were best served by having key employees learn their computer science skills at Transylvania. We take this to be a positive indication of the job we are doing.
Since the spring of 1995 we have been giving the ETS Field Test to graduating seniors. We have not done this in any formal way, but have simply announced to the students that it was being given and we would appreciate it if they took it. The results for 1995, 1996, and 1997 are given in Appendix F. We have learned several things from these results.
We still need to find a way to offer a course in Networking, probably using Windows NT.
Dr. James E. Miller
Chair, Division of Natural Sciences and Mathematics
Professor, Mathematics and Computer Sciences
Coordinator, Computer Services
Dr. Tylene S. Garrett
Chair, Computer Science Program
Associate Professor, Computer Science
Dr. Kenneth M. Moorman
Assistant Professor, Computer Science
Director of Computer Science Laboratory
Please see Appendix A for Faculty Curriculum Vita