Trinity University
Computer Science Department

Dr. Gerald Pitts
Chair and Caruth Distinguished Professor
Department of Computer Science
Trinity University
715 Stadium Drive
San Antonio, Texas 78212-7200
Voice: (210) 999-7480
Fax: (210) 999-7477
E-mail: gpitts@trinity.edu

Computer Science has evolved into a distinct discipline characterized by three basic paradigms (theory, abstraction and design) with fundamental roots in both Mathematics and Engineering. Computer Science is the systematic study of algorithmic processes - their theory, analysis, design, efficiency, implementation and application - that describe and transform information 1 . The principle mission of the Trinity University Computer Science Department is to provide a state of the art foundation of principles, skills, knowledge and creativity for the development of liberally educated computer scientists of the highest quality. Students in the Department are among the most highly motivated, intelligent and talented Trinity students. The Computer Science program is designed to provied an appropriate mix of current technology and theory and also challenges its majors to think critically and communicate effectively. A student's experience in this discipline would include a substantial interaction with computers, but would also include broad training in the areas of systems, applications and theory of computing. At Trinity, computer science is not limited to programming, but also involves a much broader view of the discipline. The underlying theory of computer science and its range of applications are of equal importance, and this perspective allows for the breadth and depth of study that is essential to keep pace with the rapidly changing and growing field.

Trinity University is rated as one of the finest liberal arts and sciences universities in the country. Not only does Trinity University have an outstanding computer science major, it has excellent companion programs in the Division of Science, Mathematics and Engineering. Our computer science majors often complete optional minors in one of the fields of mathematics, physics, biology, geoscience, engineering, business, economics, communications or accounting.

A recently revised curriculum has been designed following specific guidelines set down by the Association for Computing Machinery (ACM). A major in computer science requires the completion of 42 semester hours of computer science and related disciplines. Courses include programming languages, computer architecture, data structures, computer graphics, software engineering and many others.

The Computer Science Department has been continually developing and revising its curriculum. We are convinced that its present form provides the proper balance between theory and application through a collection of core principles courses. The computer science major also includes a sequence of three seminar courses, taken in the Spring semester of the sophomore, junior and senior years, which emphasize the design process, professional conduct and ethics.

In the Spring of 1970, the University Curriculum Council established a separate Department of Computer Science. Dr. John E. Howland was hired to chair the Department and develop an undergraduate major in Computer Science, as well as to recruit a Computer Science faculty.

Prior to 1970, two computer science courses were being taught: a numerical analysis course in the Mathematics Department and a programming course in the Engineering Science Department.

During the 1970-1971 academic year, a Computer Science curriculum was developed following ACM guidelines (the ACM is the primary professional organization for Computer Science). Several students who were majoring in either Mathematics, Physics or Engineering Science were among the first Computer Science graduates in 1972. This graduation established Trinity University as the first college or University in the Southwest to graduate students with a major in computer science. During the years 1972 through 1975, the number of graduates with majors in Computer Science were 4, 8, 4 and 13. During the years 1976 to the mid 1980's, the number of majors in Computer Science gradually grew from about 20 to more than 150.

In the 1971-1972 academic year, the Computer Science faculty increased to three plus several part-time instructors. During the 1972-1973 year, a fourth faculty member was added to the Department and the faculty remained that size until the 1976-1977 academic year when the Department's first woman faculty member and another new Ph.D. were hired.

During the 1973-1974 academic year, the University Graduate Council approved a Master's degree program in Computer Science. This program continued until the 1987-1988 academic year when, at the recommendation of the University, the Department voted to discontinue its graduate program so that it could devote all its resources towards improving the quality of its undergraduate offerings. This decision was part of a broader University initiative to terminate Master's level programs in all but a few professional programs. During the mid 1980's, when the graduate program was at its peak, each year 60 to 80 graduate students were in varying stages of completion of their Master's degrees.

During the 1981-1982 year, two faculty were added, bringing the Computer Science Department to a total of eight faculty. During the mid-1980's, the faculty grew to a maximum of ten full-time professors, each holding the Ph.D. degree in computer science or a closely related field.

In the early 1990's, the Department was down-sized to seven Ph.D. faculty members due to the discontinuation of the graduate program. The 2000 - 2001 academic year finds the department with eight full-time and three part-time faculty. The Computer Science Department has grown to about 145 majors, making it the second largest department on the campus.

Often colleges and universities use graduate assistants to teach undergraduate courses. Trinity does not use graduate students to teach any of its classes! All computer science classes are taught by full-time faculty who have doctorates in computer science or a closely related area.

The average class size for freshmen level classes ranges from 15 to 30. The average class size for sophomore, junior and senior level classes ranges from 10 to 25. Smaller classes mean that students have an opportunity to work closely with faculty who are dedicated teachers and researchers.

We feel that it is important to be exposed to a variety of hardware systems. All students have the opportunity to use Unix and Windows systems. Many of our laboratory systems have multiple boot software systems so that they may be used as MacOS or Windows systems. Recently, the Linux operating system has been deployed in some of our laboratories allowing the same Unix based software to run on Macintosh and Intel machines as runs on our Silicon Graphics Unix machines. Since Linux, which is distributed under the GNU software license, is free, students can install Linux on their own computers and run the same software systems which the Department uses in its teaching and research.

The Computer Science Department provides 107 computers for student, faculty and staff use. Thanks to grants from the Semmes Foundation, Meadows Foundation and the National Science Foundation, the Computer Science Department maintains three laboratories for student use. The Unix Laboratory (Halsell 228) contains 22 Pentium III Linux workstations which can also run the Windows 2000 operating system. This laboratory is a combined lecture room and laboratory room which operates on a 24-hour per day basis. Since each Unix workstation supports multiple users, the machines in this lab may be accessed by students in other labs or residence halls even while the room is in use as a lecture room. Each machine in the Unix lab is connected to a Cisco 4006 series switch by a dedicated 100MB ethernet cable. The switch allows these 22 machines to participate in the Department's 66 procesor Beowulf parallel processing system.

The Department provides a common password database (NIS) and home directory server (NFS and SMB) for use on all of the Unix and NT machines. Students can develop, for example, OpenGL graphics programs on a Linux machine and then log into a Silicon Graphics workstation and re-compile the program to run at higher levels of performance.

Students may access all University computing services, including e-mail, Internet and World Wide Web from each of the Department's laboratories, as well as student owned machines in residence halls.

Another laboratory is the Graphics/Parallel Processing Laboratory (Halsell 200). This lab contains five high performance Silicon Graphics workstations and a BeBox dual PowerPC processor machine. This laboratory also houses seven dual Pentium III processor machines, each having 1G memory and 18.2G disk, which run the Linux operating system and form a principle computational resource of the Department's 66 processor Beowulf parallel processing system. The Beowulf system also has server machine which has 4 Pentium III processors, 4G memory and 72G of disk space. These machines are used primarily for graphics and parallel processing research projects.

A third laboratory, called the Workstation Laboratory (Halsell 342), is available. This lab contains 22 Intel Pentium III workstations which are configured to boot either Linux or Windows 2000 operating system. Each of these machines is connected to a Cisco 4006 series switch by a dedicated 100MB ethernet cable. The switch allows these 22 machines to participate in the Department's 66 processor Beowulf parallel processing system.

A fourth laboratory, called the Virtual Reality Laboratory (Halsell 330), contains three Silicon Graphics dual processor Windows NT graphics workstations which have large wide-format LCD displays. Also available in this lab are a variety of special peripherals such as head-mounted displays, 3-D glasses, 6-D joysticks, 3-D speakers and a data-glove. These machines are used for simulation and virtual reality research projects.

In addition, the Trinity University Computing Center provides about 1200 computers, approximately 400 of which are available to students. These machines are conveniently located in various campus laboratories such as the Library and Student Center. The Computing Center also maintains the campus internet and various server machines for e-mail, USENET and Web access. The Trinity internet is connected to the Internet by a one-third fraction of a Time Warner DS 3 line and is available in every campus building including residence halls. This network facility provides access to computing services in a convenient and consistent manner from all campus locations.

Trinity maintains about 1200 computers for students, faculty and staff use. About 400 of these machines are available for student use. The Computer Science Department maintains 107 computer systems for its students, faculty and staff. The following listing shows the details of these machines.

Mon Jul 16 17:47:18 CDT 2001 Name Room IP Admin Machine Mem-M Disk-M CD OS Use Alamogordo.CS HAS201C 131.194.131.182 Howland I-PII400 128 25376 CD Linux/W2K Faculty-WS Ananke3.CS HAS339 131.194.131.51 Hicks I-P400 128 6000 NT 4.0 Faculty-WS Ananke4.CS HAS339 131.194.131.52 Hicks I-P400 128 6000 NT 4.0 Faculty-WS Ariel.CS HAS201C 131.194.131.13 Howland I-PIV1400 256 40000 CD Linux Faculty-WS Athena.CS HAS201L 131.194.131.185 Massingill 2-I-PIII500 128 8000 CD Linux/NT 4.0 Faculty-WS,PPP-Server Atlas.CS HAS200 131.194.131.29 CS-Admin SGI-Indigo 64 1000 CD Irix 6.2 Graphics-Lab, NIS-client Atlas00.CS HAS329 131.194.131.80 CS-Admin I-P233 32 7200 CD Linux/NT 4.0 CS-Lab, NIS-client Atlas01.CS HAS329 131.194.131.81 CS-Admin I-P233 32 7200 CD Linux/NT 4.0 CS-Lab, NIS-client Atlas02.CS HAS329 131.194.131.82 CS-Admin I-P233 32 8900 CD Linux/NT 4.0 CS-Lab, NIS-client Atlas03.CS HAS329 131.194.131.83 CS-Admin I-P233 64 8500 CD Linux/NT 4.0 CS-Lab, NIS-client Atlas04.CS HAS329 131.194.131.84 CS-Admin I-P233 32 7800 CD Linux/NT 4.0 CS-Lab, NIS-client Atlas05.CS HAS329 131.194.131.85 CS-Admin I-P233 32 8900 CD Linux/NT 4.0 CS-Lab, NIS-client Atlas06.CS HAS329 131.194.131.86 CS-Admin I-P233 64 8500 CD Linux/NT 4.0 CS-Lab, NIS-client Atlas07.CS HAS329 131.194.131.87 CS-Admin I-P233 64 8500 CD Linux/NT 4.0 CS-Lab, NIS-client Atlas08.CS HAS329 131.194.131.88 CS-Admin I-P233 64 8500 CD Linux/NT 4.0 CS-Lab, NIS-client Bianca.CS HAS200 131.194.131.17 CS-Admin I-P233 128 11000 CD Linux/W2K Outside Access, NIS-client Callisto.CS HAS200 131.194.131.36 CS-Admin I-P90 32 5300 CD NT 4.0 Graphics-Lab Carme.CS HAS339 131.194.131.38 Hicks I-P233 32 23500 CD NT 4.0 Server Faculty-WS Charon.CS HAS200 131.194.131.27 CS-Admin I-P133 32 5400 CD NT 4.0 Graphics-Lab Cressida.CS HAS201H 131.194.131.5 Prather I-P200 80 2000 CD Linux Faculty-WS, (Web, PPP)-Server Deimos.CS HAS201F 131.194.131.23 Myers I-P450 320 6000 CD NT 4.0 Faculty-WS HAS201F Myers I-P166 64 2000 CD NT 4.0 Faculty-WS Dwarf1.CS HAS200 131.194.131.71 CS-Admin 2-I-PIII550 1024 18200 CD Linux Beowulf Dwarf2.CS HAS200 131.194.131.72 CS-Admin 2-I-PIII550 1024 18200 CD Linux Beowulf Dwarf3.CS HAS200 131.194.131.73 CS-Admin 2-I-PIII550 1024 18200 CD Linux Beowulf Dwarf4.CS HAS200 131.194.131.74 CS-Admin 2-I-PIII550 1024 18200 CD Linux Beowulf Dwarf5.CS HAS200 131.194.131.75 CS-Admin 2-I-PIII550 1024 18200 CD Linux Beowulf Dwarf6.CS HAS200 131.194.131.76 CS-Admin 2-I-PIII550 1024 18200 CD Linux Beowulf Dwarf7.CS HAS200 131.194.131.77 CS-Admin 2-I-PIII550 1024 32200 CD Linux Beowulf Elara.CS HAS201G 131.194.131.169 Allen I-P133 64 6400 CD NT 4.0 Faculty-WS Grumpy.CS HAS330 131.194.131.32 Pitts 2-I-PIII550 512 9100 CD NT 4.0 VR-Lab Hebe.CS HAS201L 131.194.131.186 Massingill I-PII400 128 25376 CD Linux/NT 4.0 Faculty-WS Io.CS HAS339A 131.194.131.16 Eggen 2-I-PIII500 128 8000 CD Linux/NT 4.0 Faculty-WS, PPP-Server, Beowulf Janus00.CS HAS228 131.194.131.150 CS-Admin I-PIII500 128 10200 CD Linux/W2K Unix-Lab, NIS-client, Beowulf Janus01.CS HAS228 131.194.131.151 CS-Admin I-PIII500 128 10200 CD Linux/W2K Unix-Lab, NIS-client, Beowulf Janus02.CS HAS228 131.194.131.152 CS-Admin I-PIII500 128 10200 CD Linux/W2K Unix-Lab, NIS-client, Beowulf Janus03.CS HAS228 131.194.131.153 CS-Admin I-PIII500 128 10200 CD Linux/W2K Unix-Lab, NIS-client, Beowulf Janus04.CS HAS228 131.194.131.154 CS-Admin I-PIII500 128 10200 CD Linux/W2K Unix-Lab, NIS-client, Beowulf Janus05.CS HAS228 131.194.131.155 CS-Admin I-PIII500 128 10200 CD Linux/W2K Unix-Lab, NIS-client, Beowulf Janus06.CS HAS228 131.194.131.156 CS-Admin I-PIII500 128 10200 CD Linux/W2K Unix-Lab, NIS-client, Beowulf Janus07.CS HAS228 131.194.131.157 CS-Admin I-PIII500 128 10200 CD Linux/W2K Unix-Lab, NIS-client, Beowulf Janus08.CS HAS228 131.194.131.158 CS-Admin I-PIII500 128 10200 CD Linux/W2K Unix-Lab, NIS-client, Beowulf Janus09.CS HAS228 131.194.131.159 CS-Admin I-PIII500 128 10200 CD Linux/W2K Unix-Lab, NIS-client, Beowulf Janus10.CS HAS228 131.194.131.160 CS-Admin I-PIII500 128 10200 CD Linux/W2K Unix-Lab, NIS-client, Beowulf Janus11.CS HAS228 131.194.131.161 CS-Admin I-PIII500 128 10200 CD Linux/W2K Unix-Lab, NIS-client, Beowulf Janus12.CS HAS228 131.194.131.162 CS-Admin I-PIII500 128 10200 CD Linux/W2K Unix-Lab, NIS-client, Beowulf Janus13.CS HAS228 131.194.131.163 CS-Admin I-PIII500 128 10200 CD Linux/W2K Unix-Lab, NIS-client, Beowulf Janus14.CS HAS228 131.194.131.164 CS-Admin I-PIII500 128 10200 CD Linux/W2K Unix-Lab, NIS-client, Beowulf Janus15.CS HAS228 131.194.131.165 CS-Admin I-PIII500 128 10200 CD Linux/W2K Unix-Lab, NIS-client, Beowulf Janus16.CS HAS228 131.194.131.172 CS-Admin I-PIII500 128 10200 CD Linux/W2K Unix-Lab, NIS-client, Beowulf Janus17.CS HAS228 131.194.131.173 CS-Admin I-PIII500 128 10200 CD Linux/W2K Unix-Lab, NIS-client, Beowulf Janus18.CS HAS228 131.194.131.174 CS-Admin I-PIII500 128 10200 CD Linux/W2K Unix-Lab, NIS-client, Beowulf Janus19.CS HAS228 131.194.131.175 CS-Admin I-PIII500 128 10200 CD Linux/W2K Unix-Lab, NIS-client, Beowulf Janus20.CS HAS228 131.194.131.176 CS-Admin I-PIII500 128 10200 CD Linux/W2K Unix-Lab, NIS-client, Beowulf Janus21.CS HAS228 131.194.131.177 CS-Admin I-PIII500 128 10200 CD Linux/W2K Unix-Lab, NIS-client, Beowulf Krypton.CS HAS339B 131.194.131.79 Hicks I-PIV1400 256 40000 CD W2KServer Faculty-Lab Larissa.CS HAS330A 131.194.131.193 Pitts HP HP-JetDirect HP Print Server Laurel.CS HAS330 131.194.131.21 Pitts I-PIV1400 256 40000 CD W2K Faculty-WS Leda.CS HAS201C 131.194.131.178 Howland Mac9500 128 6000 CD Linux/MacOS Faculty-WS, (Web, PPP, DNS)-Server Louie.CS HAS330A 131.194.131.187 Pitts I-PIII1000 256 10000 CD W2K Faculty-WS Metis.CS HAS329 131.194.131.39 CS-Admin I-P200 32 9600 CD Linux/NT 4.0 CS-Lab, NIS-client Miranda.CS HAS329 131.194.131.15 CS-Admin I-P133 128 9600 CD Linux/NT 4.0 CS-Lab, NIS-client Moof.CS HAS201N 131.194.131.60 Konstam I-P233 64 5000 CD Linux/Win95 Faculty-WS, PPP-Server Nemesis.CS HAS329 131.194.131.59 CS-Admin I-PPro-200 96 9800 CD Linux/NT 4.0 CS-Lab, NIS-client Nereid.CS HAS200 131.194.131.40 CS-Admin SGI-Indy 32 2000 Irix 5.3 Graphics-Lab, NIS-client Oberon.CS HAS201J 131.194.131.35 CS-Admin I-P233 128 6000 CD Linux/W2K Faculty-WS Pandora.CS HAS201 131.194.131.57 CS-Admin I-P133 32 1000 CD NT 4.0 Secretary-WS () Phoebe.CS HAS201 131.194.131.1 CS-Admin I-P133 32 1000 CD NT 4.0 Secretary-WS (Barb) Portia.CS HAS201 131.194.131.56 CS-Admin HP4050 16 HP JetDirect HP Print Server Prometheus.CS HAS200 131.194.131.61 Eggen BeBox-2-603 48 540 CD BeOS Graphics-Lab Puck.CS HAS200 131.194.131.8 CS-Admin SGI-O2 64 2000 CD Irix 6.2 Graphics-Lab, NIS-client Rhea.CS HAS201 131.194.131.28 CS-Admin HP-500X 16 HP-JetDirect HP Print Server Satori.CS HAS330A 131.194.131.69 Pitts 2-I-P400 64 10800 CD NT 4.0 Server Faculty-WS, NT-Server Shrew.CS HAS339A 131.194.131.4 Eggen I-PIV1400 256 40000 CD Linux/W2K Faculty-WS Sleepy.CS HAS330 131.194.131.33 Pitts 2-I-PIII550 512 9100 CD NT 4.0 VR-Lab Sneezy.CS HAS330 131.194.131.34 Pitts 2-I-PIII550 512 9100 CD NT 4.0 VR-Lab SnowWhite.CS HAS200 131.194.131.78 CS-Admin 4-I-PIII550 4096 72700 CD Linux Beowulf Sol.CS HAS120 131.194.131.168 CS-Admin 2-I-PIII550 1024 51834 CD Linux (NFS, NIS, SMB, MAIL, Web, PPP, Unix-Print)-Server Stylus.CS HAS201 131.194.131.114 CS-Admin HP4000N 8 HP JetDirect HP Print Server Tethys.CS HAS330 131.194.131.44 Pitts VR-Glove VR-Lab HAS201E 131.194.131.58 Semmes I-P450 64 4000 CD NT/ 4.0 Faculty-WS Thebe.CS HAS201E 131.194.131.58 Semmes I-PIII733 128 10200 CD Linux/W2K Faculty-WS Thor.CS HAS200 131.194.131.31 CS-Admin SGI-RealEng 128 2000 CD Irix 6.1 Graphics-Lab, NIS-client Titania.CS HAS201 131.194.131.6 CS-Admin Mac7500 32 1500 CD Linux/MacOS Graphics-Lab, NIS-client Tori.CS HAS330 131.194.131.55 Pitts 2-I-PIII733 128 9000 CD W2K-Server Faculty-WS, W2K-Server Triton.CS HAS200 131.194.131.37 CS-Admin SGI-I-II-E 128 4000 CD Irix 5.3 Graphics-Lab, NIS-client Umbriel.CS HAS201 131.194.131.41 CS-Admin Mac7500 32 1500 CD Linux/MacOS Graphics-Lab, NIS-client Uranus.CS HAS330A 131.194.131.11 Pitts I-P366 128 4600 CD Win98 Faculty-WS Venus.CS HAS329 131.194.131.2 CS-Admin I-P133 64 8600 CD Linux/W2K CS-Lab, NIS-client Xena00.CS HAS342 131.194.131.90 CS-Admin I-PIII550 128 10200 CD Linux/W2K WS-Lab, NIS-client, Beowulf Xena01.CS HAS342 131.194.131.91 CS-Admin I-PIII550 128 10200 CD Linux/W2K WS-Lab, NIS-client, Beowulf Xena02.CS HAS342 131.194.131.92 CS-Admin I-PIII550 128 10200 CD Linux/W2K WS-Lab, NIS-client, Beowulf Xena03.CS HAS342 131.194.131.93 CS-Admin I-PIII550 128 10200 CD Linux/W2K WS-Lab, NIS-client, Beowulf Xena04.CS HAS342 131.194.131.94 CS-Admin I-PIII550 128 10200 CD Linux/W2K WS-Lab, NIS-client, Beowulf Xena05.CS HAS342 131.194.131.95 CS-Admin I-PIII550 128 10200 CD Linux/W2K WS-Lab, NIS-client, Beowulf Xena06.CS HAS342 131.194.131.96 CS-Admin I-PIII550 128 10200 CD Linux/W2K WS-Lab, NIS-client, Beowulf Xena07.CS HAS342 131.194.131.97 CS-Admin I-PIII550 128 10200 CD Linux/W2K WS-Lab, NIS-client, Beowulf Xena08.CS HAS342 131.194.131.98 CS-Admin I-PIII550 128 10200 CD Linux/W2K WS-Lab, NIS-client, Beowulf Xena09.CS HAS342 131.194.131.99 CS-Admin I-PIII550 128 10200 CD Linux/W2K WS-Lab, NIS-client, Beowulf Xena10.CS HAS342 131.194.131.100 CS-Admin I-PIII550 128 10200 CD Linux/W2K WS-Lab, NIS-client, Beowulf Xena11.CS HAS342 131.194.131.101 CS-Admin I-PIII733 128 10200 CD Linux/W2K WS-Lab, NIS-client, Beowulf Xena12.CS HAS342 131.194.131.102 CS-Admin I-PIII733 128 10200 CD Linux/W2K WS-Lab, NIS-client, Beowulf Xena13.CS HAS342 131.194.131.103 CS-Admin I-PIII733 128 10200 CD Linux/W2K WS-Lab, NIS-client, Beowulf Xena14.CS HAS342 131.194.131.104 CS-Admin I-PIII733 128 10200 CD Linux/W2K WS-Lab, NIS-client, Beowulf Xena15.CS HAS342 131.194.131.105 CS-Admin I-PIII733 128 10200 CD Linux/W2K WS-Lab, NIS-client, Beowulf Xena16.CS HAS342 131.194.131.106 CS-Admin I-PIII733 128 10200 CD Linux/W2K WS-Lab, NIS-client, Beowulf Xena17.CS HAS342 131.194.131.107 CS-Admin I-PIII733 128 10200 CD Linux/W2K WS-Lab, NIS-client, Beowulf Xena18.CS HAS342 131.194.131.108 CS-Admin I-PIII733 128 10200 CD Linux/W2K WS-Lab, NIS-client, Beowulf Xena19.CS HAS342 131.194.131.109 CS-Admin I-PIII733 128 10200 CD Linux/W2K WS-Lab, NIS-client, Beowulf Xena20.CS HAS342 131.194.131.110 CS-Admin I-PIII733 128 10200 CD Linux/W2K WS-Lab, NIS-client, Beowulf Xena21.CS HAS342 131.194.131.111 CS-Admin I-PIII733 128 10200 CD Linux/W2K WS-Lab, NIS-client, Beowulf

Computer labs in most buildings are open on a daily basis until 12:00 p.m. Most computer labs have doors with numeric keypad locks. After 5:00 p.m. lab doors are locked to provide security and access to students who know the lock access codes. Computer Science Department machines, being Unix based, are accessible 24 hours per day over the internet. This allows convenient access to machines and software from other locations, such as residence hall locations.

The campus internet provides Microsoft SMB networking services, TCP/IP and AppleTalk networking protocols. Higher level protocols such as WWW, FTP, e-mail, USENET, etc., are also available. The Trinity internet is connected to the Internet through a firewall so that all machines, including student owned machines located in residence halls, have the full range of Internet services, but are protected by the firewall from outside access. Students are able to buy, for a nominal fee, a network connection package which includes a network interface (if necessary) and network software drivers and utilities. Some limited dial-up access facilities are available to support students, faculty and staff who live off campus, however, most off campus use of Trinity's networks comes through commercial Internet Service Providers.

There are a variety of computing career opportunities for students who have learned a minimal amount of mathematics. Computer Science majors are required to take MATH 1311 (Calculus I) and at least two of the courses MATH 1312 (Calculus II), 1320 (Statistical Methods), 2324, PHIL 2340 (Symbolic Logic)

Several computer science students have received prestigious scholarships for undergraduate research. One of our students was awarded the Goldwater Scholarship, which amounted to approximately $7000.00 per semester. One of our Spring 1995 graduates received a National Science Foundation Fellowship to pursue a Ph.D. in computer science. This award was one of only 43 made to computer science students nationwide and covered all expenses at the University of Texas at Austin. Paradigm Simulation, Inc., Old Crows Foundation, USAA and Trident each have offered several scholarships for computer science students. The Department grants the Turing Award, Charles Babbage Award and SGI Award to the top graduating seniors in research and academic achievement, respectively. In addition, the Department maintains a file on scholarships and fellowships available to our students and always encourages students to seek these awards.

Recent graduates have been accepted directly into master's and doctoral programs at Princeton, Yale, Purdue, Ohio State, Penn State, University of California at Davis, University of Tennessee, University of Texas at Austin, Texas A&M, Duke, University of New Mexico, University of Wisconsin, Arizona State, Brown University, California Institute of Technology, Carnegie Mellon University, Harvard University, Indiana University, Michigan Institute of Technology, Notre Dame University, Pepperdine University, Rice University, Southern Methodist University, University of Colorado at Boulder, University of Houston, University of North Carolina at Chapel Hill, University of Oregon etc. Graduates have also entered law schools at Pepperdine, Harvard, Washington and Lee University and the University of Texas. Our graduates have received scholarships and fellowships from individual universities and the National Science Foundation. Recently, one of our graduates received one of only 42 National Science Foundation scholarships which covered all expenses for a Ph.D. degree at the school of her choice. The number of graduates attending graduate school varies from year to year. Recently, intensive job recruiting and high salaries have caused a decrease in the number of students entering graduate school. Also, some employers provide job benefits which pay for graduate school.

While in their undergraduate studies, students may secure part-time jobs, internships and summer employment with the many companies that call the Department seeking assistance. Many of these positions lead to full-time employment after graduation. About half of our graduates go on to work with larger companies such as Apple, IBM, Microsoft, Cisco, Texas Instruments, Ferranti International Control, Exxon, TRW, Fairchild Aircraft, Texaco, Motorola, General Dynamics, Tesoro Petroleum, Paradigm Simulation, Inc., EDS, USAA, UNISYS, EDP, DSC, Metier Management Systems, Southwestern Bell, Lockheed, USAF, Sandia National Laboratory, Apple, Dell, Compaq, Chrysler Corporation, Arthur Andersen, Southwest Research Institute, Origin Systems, etc. Because of the wide variety of opportunities for summer internships, undergraduate research and the extensive selection of elective courses, graduates accept jobs involving systems analysis, software design, software testing, computer graphics, database management, research and design as well as programming. Starting salaries for last year's graduates ranged from the high 40's to the mid 50's. Several graduates received signing bonuses as well.

The Department offers a program which leads to a Bachelor of Science degree with a major in computer science. A wealth of opportunity is open to a student who earns this degree. Because the discipline of computer science is experiencing explosive growth, it is estimated that the need for experienced professionals in this field will double by the year 2002. Several recent Trinity computer science graduates, who have chosen advanced studies, have been successful in gaining admissions to doctoral programs at the finest universities. Other recent graduates have entered highly sought industrial positions. Cisco, IBM, Exxon, EDP, Arthur Andersen, University of Texas Medical Center, Armstrong Laboratory and Southwest Research Institute are examples of companies who recruit undergraduate summer interns and co-op applicants. These positions often lead to permanent positions with the company.

The policy of the Department is to provide theory courses essential to graduate school, as well as applied courses essential in industry. Extensive advising sessions enable students to select courses which best compliment their occupational goals. Many doctoral programs prefer students which have the combination of theory course-work, as well as practical application courses. All students are encouraged to take the Graduate Record Exam (GRE).

More than one third of our undergraduate majors are actively involved in research with a faculty mentor. The Departmental computing laboratories support research projects in computer graphics, virtual reality, genetic algorithms, software engineering, functional programming, artificial intelligence, parallel processing, combinatorial mathematics and related fields. The Department recently completed a National Science Foundation Research Experience for Undergraduates program. This three year REU grant brought undergraduate students to the Trinity campus during the summer to work on virtual reality research projects. The Department encourages student researchers to publish research results by faculty co-authorship of papers and by student paper participation in the National Undergraduate Research Conference each year. During the last three years, student researchers have produced an average of 12 papers per year.

Some of our majors choose to complete a three semester Bachelor's thesis or an Honors thesis. Thesis options involve research and thesis writing as a substitute for completion of all or part of the senior software engineering project.

Many of our faculty have taught at large universities where class size is sometimes larger than 100 students. We are pleased that Trinity offers the opportunity to work with talented young people in much smaller classes. Student-faculty relationships are fostered by classroom interaction, office visitations, social gatherings, research collaborations, professional organizations, atheletic competition and programming competition.

MIRELA DJORDJEVIC
Rank Visiting Assistant Professor
Degrees Ph.D. University of Maryland
Research Interests Programming Languages
MAURICE EGGEN
Rank Associate Professor
Degrees B.S., Northern Montana College, M.A., Ph.D., Western Michigan University
Research Interests Combinatorics, Numerical Algorithms, Parallel Processing, Software Engineering
Hobbies Basketball, Racquetball, Music, Audio & Video
THOMAS E. HICKS
Rank Associate Professor
Degrees B.S., M.S., Ed.D., West Virginia University
Research Interests Software Engineering, Software Testing, Data Structures, Interactive Systems Design
Hobbies Bridge, Golf, Computers, Chess and Logic Games
JOHN E. HOWLAND
Rank Professor
Degrees B.S., Anderson College, M.S., Ohio State University, Ph.D. University of Oklahoma
Research Interests Computer Graphics, Functional Languages, Human Computer Interface
Hobbies Marathon Racing, Hunting
AARON H. KONSTAM
Rank Professor Emeritus
Degrees B.S. Polytechnic Institute of Brooklyn, Ph.D. Pennsylvania State University
Research Interests Expert Systems, Genetic Algorithms, Parallel Programming Languages
Hobbies Traveling, Bicycling
BERNA MASSINGILL
Rank Assistant Professor
Degrees B.S. University of Texas at Austin, M.S., Ph.D. California Institute of Technology
Research Interests Parallel and Distributed Computing, Design Patterns, Formal Methods
Hobbies
J. PAUL MYERS Rank Associate Professor Degrees B.A., M.S., M.A., Ph.D., University of Denver Research Interests Software Engineering, Software Testing, Constructivity, Logic and Computer Science Hobbies Fencing, Chess, Music, Twin Peaks GERALD N. PITTS Rank Caruth Distinguished Professor and Chair Degrees M.S. American Technological University, B.A., M.S., Ph.D., Texas A&M University Research Interests Expert Systems, Intelligent Agent Simulation, Operating Systems, Network Design, Artificial Intelligence, Software Engineering, Virtual Reality Hobbies Hunting, Water Skiing, Classic Car Restoration, Weight Lifting RONALD E. PRATHER Rank Professor Emeritus Degrees B.S., M.S., M.A., University of California, Berkeley, Ph.D., Syracuse University Research Interests Software Engineering, Software Metrics, Programming Languages, Theory of Computation, Computational Musicology Hobbies Music

PAT SEMMES Rank Instructor Degrees B.A. The American University, M.A., University of Maryland, Ph.D. University of Texas at Austin Research Interests Mathematics Education, Computer Science Education Hobbies Walking

The requirements for the degree of Bachelor of Science with a major in Computer Science are as follows:

  1. The common curriculum
  2. Departmental requirements: 42 semester hours of computer science including:
    1. The Principles: CSCI 1320, 1321, 2320, 2321, 2322, 3320, 3321, 4320
    2. Additional Requirement: CSCI 1323
    3. Professional/Ethical/Design Seminar (3 hours)
    4. Senior Software I, CSCI 4285 and Senior Software II, CSCI 4286; or Senior Software I, CSCI 4285 and Senior Thesis, CSCI 4295; or Honors Reading, CSCI 3398 and Honors Thesis, CSCI 4398 and 4399
    5. Sufficient computer science electives to total 42 semester hours

    FULL-ACCEPTANCE is granted if the following requirements are met at the time of application:

    1. Completion of CSCI 1320, 1321, 1323 and 2322 with grades of C or better.
    2. Completion of MATH 1311 with a grade of C or better.
    3. Good academic standing at the university

    PROVISIONAL-ACCEPTANCE may be granted if it is apparent that the applicant can meet the requirements for full acceptance by the end of the semester in which application is made. If provisional acceptance is not removed in the semester following application, the application will be canceled. The student may re-apply in a future semester.

    Transfer Students will be accepted provisionally pending completion at Trinity of at least one upper division Computer Science course with a grade of C or better, and transfer hours equivalent to CSCI 1320, 1321, 1323, and 2322.

    1. Overall grade point average of at least 3.3.
    2. Grade point average of at least 3.3 in Computer Science.
    3. Two faculty letters of recommendation.
    4. Application for admission to the honors program in the fall semester of the junior year. Application is made to the chair of the Computer Science department.
    5. Applications must be approved by majority vote of the faculty of the Computer Science department.
    6. Identification of the faculty committee and submission of the thesis proposal during the spring semester of the junior year. The thesis committee consists of three Trinity faculty members, two of which must be from Computer Science. (The third may also be from Computer Science.)
    7. Register for CSCI 3398, Honors Reading, during the spring semester of the junior year. Note: Only 3398 may be used as a Computer Science Major Elective, counting toward the required 42 hours.
    8. Register for CSCI 4398, Honors Thesis, during the fall semester of the senior year. Note: 4398 is required in addition to the 42-hour requirement.
    9. Register for CSCI 4399, Honors Thesis, during the spring semester of the senior year. Note: 4399 is required in addition to the 42-hour requirement.
    10. The requirement of CSCI 4286 is met for those students successfully completing the Honors Thesis, CSCI 4398 and 4399.
    11. Students must make formal presentation and defense of the Honors Thesis during the spring semester of the senior year.
    12. If the student successfully completes each of the above requirements, then the student is a candidate for Honors in Computer Science, and is recommended to the Vice President for Academic Affairs for graduation with Honors.
    13. Successful thesis will be bound and placed in the library. Binding costs will be paid by the student.

    For the liberal arts student, the department offers a minor in Computer Science. This minor is designed to provide students with entry level career skills in computer science, as well as prerequisite preparation for graduate study in applied areas of computing science. This minor consists of at least 21 hours of Computer Science and at least 6 hours of Mathematics.

    The Computer Science requirements are CSCI 1320, 1321, 1323, 2322, and 2320, plus at least three additional upper division Computer Science electives.

    The Mathematics requirements are MATH 1311 and at least one of MATH 1312, 1320, 2324, PHIL 2340, or CSCI 2324.

    For the business oriented student, the department offers a minor in Management Information Systems. This minor is designed to provide students with some knowledge of business principles and the necessary background to permit them, through the use of computer operations, to efficiently manage and transmit information.

    The requirements are as follows:

    1. Those courses required for the B.A., B.S., or minor in Business Administration;
    2. CSCI 1302, 1320, 1321, 1323, 2320, and one of CSCI 3352, 3353, or 3343.

    Each of the following courses is offered at least once each year. Note that these course offerings include some courses which are offered only at the graduate level at some colleges and universities.

    An introduction to computer skills. Computing hardware, software, files and formats. Text processing. Numbers and quantitative analysis. Information structure and retrieval. Graphics and visualization. Communication, networking and the World Wide Web. Computer ethics, privacy and legal use of software and data. Solution of several problems illustrating each of these skill areas.

    Laboratory experiments in computer science. Techniques for constructing experiment software and analysis of experimental data.

    Prerequisite: None. Must be taken concurrently with CSCI 1301.

    Introduction to computer science topics for students majoring in disciplines other than computer science. Topics include computer organization, computer arithmetic, computer circuits, algorithms, data structures, programming methodology, software engineering, language translation, program execution time, computer networks, parallel computation, computability and artificial intelligence. Impact of computer science on modern society.

    Prerequisite: None. Must be taken concurrently with CSCI 1101.

    An introduction to computers and programming with special emphasis on applications for non-scientists, including business and data processing. Introduction to programming in BASIC. Applications packages including spreadsheet, database and word processing. Computer solution of several business and data processing applications and interpretation of results. No credit after completion of CSCI 1303 or 1304.

    An introduction to computers and programming with special emphasis on applications in the sciences and mathematics. Programming in a high level programming language. Computer solution of several science and mathematics applications and interpretation of results. No credit after completion of CSCI 1302 or 1304.

    An examination of the impact of computer technology on issues of society and culture. The course will contain several components: an introduction to computing (software and hardware concepts); an introduction to problem-solving using one or more high-level languages / software applications to include information retrieval and processing (numeric, text, and graphics); computer communications; and discussions of the uses and ethical issues surrounding computers in our society.

    No credit after completion of CSCI 1300, 1302, or 1303.
    Prerequisite: None.

    Introduction to the notion of an algorithm. Survey of algorithmic problem solving principles in relation to computer solutions: divide and conquer, searching and sorting strategies, recursion, and structured programming. Top-down design and analysis of algorithms. Computer organization. Computer programming solutions to several laboratory exercises. May be taken concurrently with CSCI 1323 or 2322.

    Algorithm development, program logic, program design strategies, program implementation strategies. Program correctness and program verification, algorithm analysis and computational complexity. User defined structures, data types, specification requirements, sequential and direct access files, sorting, searching, and computer organization. Abstract data types including stacks, queues, and linked lists. Computer programming solutions to several laboratory exercises. May be taken concurrently with CSCI 1323 or 2322.

    Prerequisite: CSCI 1320 or consent of instructor.

    Algebra of sets including mappings, relations and functions. Algebraic structures including semi-groups, groups and propositional logic. Boolean algebra. Elements of the theory of directed and undirected graphs. Application of these structures to various areas of computer science. May be taken concurrently with CSCI 1320 and CSCI 1321.

    Emphasis changes each semester. Topics include professional concerns (legal issues including software licensing, warranties, patents, copyrights, etc.) and history of the field, ethical issues in computing, introduction to large-scale design through examples of good versus bad design.

    Prerequisite: Consent of instructor.

    Software tools for music applications. Historical development of musical encoding systems, including DARMS, MUSTRAN, SML, and MIDI. Musical applications programming. Chronological survey of the uses of computers in music. Common themes in the development of music programming languages. Examples of the use of sophisticated software in the development of solutions to elementary musical analysis tasks.

    Prerequisites: Sophomore standing, computer literacy and music literacy.

    Abstract data types and their implementation in an object-oriented environment. Axiomatic systems describing the classical computer science data structures: stacks, queues, lists, trees, graphs, and the like. Analysis of the computational complexity of alternative implementation strategies in the context of the typical algorithmic applications.

    Prerequisite: CSCI 1321.

    A study of computer organization and design including emphasis on logical design, the role of performance, the structure of instructions, computer arithmetic, processor control and methods of performance enhancement. Some attention will also be given to assembly programming.

    Prerequisite: CSCI 1321.

    An introduction to functional programming. Functional composition, recursion and iteration. Procedure and data abstraction using functions. Managing state, streams, delayed evaluation and continuations. Using functional languages as an analytic notation for reasoning about programs. Solution of several laboratory problems.

    Prerequisite: None; may be taken concurrently with CSCI 1320 or 1321.

    Introduction to the numerical algorithms fundamental to scientific computer work. Elementary error analysis, interpolation, quadrature, linear systems of equations, and introduction to the numerical solution of ordinary differential equations. (Also listed as MATH 2324.)

    Prerequisites: CSCI 1320, MATH 1311.

    Credit will vary depending on work done.

    Prerequisites: Consent of department chair and instructor.

    Topics will vary depending on student interest. May be taken for a maximum of six (6) semester hours credit.

    Prerequisite: Consent of instructor.

    Independent study in selected areas in preparation for Honors Thesis. May be taken up to three hours of credit.

    Prerequisites: Consent of instructor and Commission on Honors Studies.

    Emphasis changes each semester. Topics include professional concerns (legal issues including software licensing, warranties, patents, copyrights, etc.) and history of the field, ethical issues in computing, introduction to large-scale design through examples of good versus bad design.

    Prerequisite: CSCI 2194 or consent of instructor.

    New developments in the field of computer science, beyond the scope of standard courses, of interest to faculty and students. May be taken more than once, as long as course content changes.

    Prerequisite: CSCI 2320; others determined by course content.

    Core topics from finite Automata, languages and the theory of computation. The Chomsky hierarchy, abstract machines and their associated grammars. Models of computation (e.g., Turing machines), Church's thesis, unsolvability and undecidability. Computational complexity, intractability and NP-completeness.

    Prerequisites: CSCI 2320, 1323, and junior standing.

    Issues involved in developing large-scale software systems. Models for the software life-cycle; techniques and tools of analysis, design, programming, testing, debugging, and maintenance. May include formal methods, CASE, expert systems, case-studies.

    Prerequisites: CSCI 2320, 1323, and junior standing.

    Local area networks, high-speed networks and bridges. Wide area networks and internets. Network protocols including OSI protocols. Network security, reliability and performance. Laboratory experience with one or more network protocols.

    Prerequisite: CSCI 2320.

    The goals of DBMS including data independence, relationships, logical and physical organizations, schema and subschema. Entity relationship diagrams. Hierarchical, network and relations models. Data definition and data manipulation languages. Query languages, relational algebra and relational calculus. Data normalization techniques, data security integrity and recovery. Case studies of several existing systems.

    Prerequisite: CSCI 2320.

    The purpose of this course is to update the student on state of the art artificial intelligence concepts, such as heuristic programming, state-space search techniques, and/or graphs for problem solving, game playing techniques, theorem proving procedures for propositions and first-order logic, knowledge representation and examples of knowledge-based systems.

    Prerequisites: CSCI 1323, 2320.

    Methods of solution of algebraic and transcendental equations, simultaneous linear algebraic equations, numerical integration and differentiation, initial and boundary value problems or ordinary differential equations. (Also listed as MATH 3351.)

    Prerequisites: CSCI 1321, MATH 2336.

    Introduction to simulation, discrete simulation models, queuing theory and stochastic processes. Survey of simulation languages. Simulation methodology including generation of random numbers, design of simulation experiments and validation of simulation models.

    Prerequisites: CSCI 1320 or 1303 and Knowledge of Statistics.

    Survey of display devices, display data structures, graphics input, 2D transformations, windowing, clipping, viewing, 3D transformations, perspective, depth, hidden line removal. Graphics programming techniques and several laboratory problems using available graphics devices.

    Prerequisites: MATH 1311, CSCI 2320.

    Complexity of algorithms, time and space requirements and trade-offs. Searching and sorting, mathematical algorithms, graph and combinatorial algorithms. Divide and conquer, branch and bound, dynamic programming, exhaustive search. Limitations, intractability and NP-completeness, approximation algorithms.

    Prerequisites: CSCI 1321 and 1323.

    An introduction to parallel processing with particular emphasis on algorithm development. Comparison between sequential and parallel algorithm development. Survey of hardware and software for parallel processing. Comparison of symmetric multiprocessors and parallel processors. Discussion of architectures and mappings of virtual to physical machines. Models of parallel computation including parallel random access machines, circuits and networks. Students will be expected to implement several projects in a suitable parallel programming environment.

    Prerequisites: CSCI 2320 and junior standing.

    An introduction to the syntax and semantics of programming languages. This will include a study of data structures and control structures, proof of programs, a comparison of functional and imperative programming languages, parameter passing, storage allocation schemes and concurrent language features.

    Prerequisite: CSCI 2320.

    Emphasis changes each semester. Topics include professional concerns (legal issues including software licensing, warranties, patents, copyrights, etc.) and history of the field, ethical issues in computing, introduction to large-scale design through examples of good versus bad design.

    Prerequisite: CSCI 3194 or consent of instructor.

    The analysis and design of an actual large scale software system. Application of the analysis and design tools within the software life cycle presented in CSCI 3321 (Software Engineering). Students work in teams under direct supervision of the faculty.

    Prerequisites: 21 hours of Computer Science, including CSCI 3321.

    The implementation, testing and maintenance of the large scale software systems designed in CSCI 4285. Students working in teams under direct supervision of faculty implement and demonstrate the deliverable software package.

    Prerequisite: CSCI 4285.

    A significant research project chosen by the student and completed under the direction of a thesis advisor (a Computer Science department faculty member). The purpose of a research project is to introduce the student to research methods and investigative techniques sufficient to produce research results which are a recognized contribution to the body of knowledge encompassing a Computer Science area. Each thesis will be bound with copies being placed in both the university library and the department.

    Prerequisites: Senior level status and acceptance by a thesis advisor.

    Introduction to operating systems, batch systems, multiprogramming systems, multiprocessor systems, input-output systems, interrupt handling, language processors, file management systems, concurrency, teleprocessing systems.

    Prerequisite: CSCI 2321.

    Geometric modeling, algorithms for hidden surface removal, shading models, rendering, texture mapping, reflectance mapping, ray tracing and radiosity. Introduction to animation. Several laboratory programming problems using available graphics devices.

    Prerequisite: CSCI 3353.

    Advanced topics in theory. Closure properties, ambiguity, contact-sensitive and recursively enumerable languages, alternate models of computation, non-determinism, decidability, Ackermann's function, computational complexity speed-up.

    Prerequisite: CSCI 3320.

    Individual research and scholarly investigation under faculty supervision leading to the preparation of an Honors Thesis. To be taken only by Senior Honors students in both terms of their Senior year. Includes participation in Senior Colloquium where students present reports on their Thesis work.

    Some universities offer special topics courses, whose content changes from time to time, to supplement their regular course offerings. The Department has offered seminar and special topic courses on:

    Footnotes

    . information 1 Peter Denning et. al., ``Computing as a Discipline'', Communications of the ACM , Volume 32, Number 1, January, 1989, 9-23.
    2005-08-20