Computer Science
Oberta A. Slotterbeck (1974), Professor of Computer Science
B.S., Ohio State University;
M.A., Ph.D., University of Texas (Austin)
Academic Interest: computer graphics, computer simulation, theoretical computer science, and parallel/distributed computing
Ellen L. Walker (1996), Professor of Computer Science, Chair
Sc.B., Brown University;
M.S., Ph.D., Carnegie Mellon University
Academic Interest: computer vision, fuzzy logic, robotics, and artificial intelligence
http://cs.hiram.edu/~walkerel/
Department web address:
Overview of Program
The computer science program was established in 1974, graduating our first minor in 1976 and our first major in 1977. Our alumni, who include leaders in both industry and academia, have praised the combination of rigorous education in the discipline combined with a broad liberal arts education. Our program stresses a deep knowledge of basic principles and concepts, rather than an emphasis on just the latest hot topics. Our students have combined computer science majors with a wide variety of other majors and minors, and leave Hiram with both a rigorous education and practical experience in implementation of large projects.
As a department, we have articulated the mission of the computer science program as follows, aligned with and inspired by the mission for Hiram College:
The mission of the computer science program is 1) To develop ethical, socially responsible, analytical, and critical thinkers. 2) To instill in our students a foundation for making creative contributions to society in the computing area. 3) To provide challenges to our students within a supportive community.
Preparing for Life After Graduation
Through our Integrated Research Component (IRC) program, we involve each student in undergraduate research. Work produced in the IRCs yields excellent student portfolios when applying for internships, jobs after graduation, and graduate school. The Computer Science program encourages our students to apply for internship opportunities to gain workplace experience, as well as summer undergraduate research programs. Our students have been successful in gaining acceptance to nationally competitive internships and research programs.
Since its inception, over 20% of graduates of the computer science program have completed graduate degrees. Our students have been singularly successful in attaining graduate school acceptances; over the last 10 years, every student who has applied to graduate school has received at least one acceptance. Many of our recent graduates received assistantships from prestigious schools.
Students who complete the bachelor degree in Computer Science at Hiram have been very successful in the job market. Students' first job placements are in a wide variety of areas including programming, support, consulting, and systems administration.
Requirements for Majors and Minors
The department of computer science offers a major and a minor in computer science. Students interested in computer engineering can earn a B.A. in computer science and a B.S. in computer engineering through the dual degree program.
The Computer Science Major requires a total of 13 courses.
I. Core courses:
CPSC 171
CPSC 172
CPSC 201
CPSC 252
II. 2 Integrated research components (capstone)
CPSC 400 + CPSC 3xx (corequisite)
CPSC 401 + CPSC 3xx (corequisite)
The computer science department capstone is a sequence of two integrated research components. An integrated research component (IRC) is an integration of research with a specified course and requires a formal research proposal, a significant software implementation, an oral presentation to faculty and peers, and a research paper. An IRC can be added to selected upper-division courses. Choices must be approved by your departmental advisor and the course instructor.
III. 5 Computer Science Electives
CPSC 2xx
CPSC 2xx
CPSC 3xx
CPSC 3xx
CPSC 3xx
In the course listings, CPSC 2xx means any CPSC course of 3 or more hours at the 200 level or above, and CPSC 3xx means any CPSC course of 3 or more hours at the 300 level or above. The course CPSC 498, if taken for 3 or more hours, can count as one of the CPSC 2xx courses but not as one of the CPSC 3xx courses.
The Computer Science Minor requires seven courses:
I. Core courses:
CPSC 171
CPSC 172
II. 5 Computer Science Electives
CPSC 2xx
CPSC 2xx
CPSC 3xx
CPSC 3xx
CPSC 3xx
Early contact with a departmental advisor is critical to ensure the proper sequencing and choice of computer science courses. A student majoring in computer science must have completed CPSC 171 and CPSC 172 by the end of their sophomore year in order to finish the major within 4 years.
Typical Schedule (4 year)
Year |
Fall Semester |
|
Spring Semester |
|
|
12-week term |
3-week term |
12-week term |
3-week term |
Freshman |
CPSC 171 |
|
CPSC 172 |
CPSC 2xx |
Sophomore |
CPSC 201 |
CPSC 2xx |
CPSC 3xx |
|
Junior |
CPSC 252 CPSC 3xx |
|
CPSC 3xx CPSC 400 |
|
Senior |
CPSC 3xx |
|
CPSC 3xx CPSC 400 |
|
Typical Schedule (3 year)
Year |
Fall Semester |
|
Spring Semester |
|
|
12-week term |
3-week term |
12-week term |
3-week term |
Sophomore |
CPSC 171 |
|
CPSC 172 |
CPSC 2xx |
Junior |
CPSC 201 CPSC 3xx |
CPSC 2xx |
CPSC 3xx CPSC 400 |
|
Senior |
CPSC 252 CPSC 3xx |
|
CPSC 3xx CPSC 3xx CPSC 400 |
|
Students majoring in computer science at Hiram are well-trained for positions in business and industry. Students considering graduate study in computer science should add mathematics courses in consultation with their computer science advisor.
The main academic computing environment at Hiram College is based on a distributed network of Windows machines. Many computers are available in laboratory settings in both academic buildings and the dorms. Students are encouraged to bring their own computers, which can be attached to the network in any dormitory room or used wirelessly throughout campus. Electronic classrooms with PCs, projection systems, and sound systems are the sites of many of our laboratory-based courses. The department maintains its own state-of-the-art laboratory based on Linux and Windows platforms.
Requirements for Departmental Honors
Besides meeting the college grade point average requirements, a student must perform exemplary work in the Integrated Research Components.
Departmental Grade Point Average
Computer Science calculates the departmental grade point average by counting all Computer Science courses, whether meeting the minimum requirements or not.
151 COBOL 1 hour
An introduction to the COBOL programming language. Prerequisite: CPSC 171 and CPSC 172 or permission
152 LISP 1 hour
An introduction to the LISP programming language. Prerequisites: CPSC 171 and CPSC 172 or permission
153 C++ 1 hour
An introduction to the C++ programming language. Prerequisite: CPSC 171 and CPSC 172 or permission
154 FORTRAN 1 hour
An introduction to the FORTRAN programming language. Prerequisites: CPSC 171 and CPSC 172 or permission
165 The Information Age and Computers 3 hours
In today’s world, being able to find, organize, and display information in a myriad of ways is becoming increasingly important. This course introduces students to the use of computers and the Internet for browsing, locating, obtaining, creating, and managing computer-based documents that include, in addition to text, pictures, sound, and animation. Students taking this course early in their college career will find it will enrich their learning experiences in many courses.
171 Introduction to Computer Science MM 4 hours
The introduction to the computer science discipline which establishes a scientific foundation for a variety of topics, including computer programming, computer design, information processing, the algorithmic solution of problems, and the study of the algorithmic process itself. The course will have a formal laboratory each week that satisfies the laboratory requirement in science.
172 Introduction to Programming MM 4 hours
An introduction to the process of program creation. Students will learn to use the principal facilities of a high-level programming language and to transform algorithms into correct programs. The object oriented paradigm will be stressed. Prerequisite: CPSC 171 or permission.
201 Data Structures and Algorithms MM 4 hours
A study of a broad spectrum of data structures and algorithms and the use of advanced language facilities and programming techniques for implementing them. Prerequisite: CPSC 171 and CPSC 172 or permission
202 Problem-Solving and Programming Practicum 3 hours
Successful computer problem-solving relies not only on the development of appropriate algorithms, but also on the recognition of instances of well-defined problem classes for which algorithms already exist. In addition, excellence in computer programming cannot be developed without significant practice in implementing and debugging solutions. This course will provide students with a guided programming practicum, in which they will program solutions to carefully chosen problems that exemplify common problem classes. Many problems will be chosen from recent programming contests. Prerequisite: CPSC 171 and CPSC 172 or permission
205 Systems Programming 3 hours
Systems programming concentrates on an in-depth study of one operating system, such as UNIX, and how to write system programs in that operating system. The course will concentrate on the operating system’s history, file system structure, commands, utilities, multi-tasking capabilities, communication, security, and shell-type programming. Theory is presented in the context of how the operating system implements the ideas. By the end of the course, students should be able to determine how most of the commands are implemented and how to use operating system properties to create tools and applications. Prerequisite: CPSC 171 or permission
221 Testing and Verification 3 hours
An introduction to the theory, principles, and techniques for verifying that a computer system is sound and correct. A spectrum of approaches will be studied ranging from testing techniques through formal proof analysis. Students will design verification plans and implement procedures for a system at different phases in its life cycle. Prerequisite: CPSC 171 and CPSC 172 or permission
222 Interface Design 3 hours
User interface design is complicated by the wide variety of choices and approaches that are possible today. Students will study and apply human factor research to the design of various types of interfaces. Designs will be implemented using software toolkits, and formal usability testing will be performed. Prerequisite: CPSC 171 and CPSC 172 or permission
223 Project Management 3 hours
A study of software metrics, estimation models, risk analysis techniques, scheduling methods, and resource allocation planning approaches for managing extremely large software projects. Students will use available CASE tools to construct a project plan for a software project. Prerequisite: CPSC 171 and CPSC 172 or permission
224 Internet Administration 3 hours
A study of the structuring of Internet services and of the client/server model for providing resources and information in a distributed environment. Students will learn how to design, configure, program, and maintain the major types of services. A special emphasis will be placed on security issues and ethical questions concerning those issues. Prerequisites: CPSC 171and CPSC 172 or permission
CPSC 205 or comparable background would be desirable but not required.
226 Software Evolution 3 hours
The longest and often most costly part of the software life cycle is the “maintenance” phase from the time software is released until it is no longer being used. During this period, changes in user’s needs and environments may require significant evolution of the software. Two well-known examples of environmental effects are Y2K and the impact of the World-Wide Web. Topics to be covered include: legacy software, software engineering and reuse, and design for maintenance. Prerequisite: CPSC 171 and CPSC 172 or permission
227 Software Evaluation 3 hours
An introduction to the design and evaluation of softwareStudents will learn to choose, test, and evaluate commercial software packages (COTS).Prerequisite: CPSC 171and CPSC 172 or permission
240 Computer Ethics ES 3 hours
A consideration of some of the major controversies, key value conflicts, ethical dilemmas, and social choices that drive and shape the computerization of our society. Representative areas of concern will include personal information and privacy, the effect of introducing the computer into the work place, computer crime and fraud, relationships in electronic communities, security and reliability issues, and the use of the information highway. May not be used to satisfy a distribution requirement in the sciences.
252 Computer Organization 4 hours
An introduction to the design, functioning, and control of the subsystems of a computer system: processors, memory, storage, and input/output. Topics include digital logic, combinatorial and sequential circuits, instruction set architecture, interrupt processing, microprogramming, and assembly language. Prerequisite: CPSC 171 and CPSC 172 or permission
280 Seminar 1 - 4 hours
281 Independent Study 1 - 4 hours
320 Computer Vision 4 hours
An introduction to the theory and algorithms needed for automatic interpretation of images. Topics include: image formation, segmentation, stereo, motion and other geometric reasoning techniques, object recognition, and applications. Sources of uncertainty and techniques for recognition in the presence of uncertainty will also be discussed. Students will implement significant parts of a complete object recognition system. Prerequisites: CPSC 172 and at least one computer science course above 200 level or permission.
331 VLSI Design 4 hours
Virtually every electronic device includes one or more VLSI (Very Large Scale Integration) “chips”. This course will look at how such VLSI chips are designed, concentrating on field-programmable logic devices (FPLDs)—the “chips” most commonly used for small-volume consumer devices. The course will cover logic design, schematic capture, and design using a hardware description language. Students will design and implement projects on actual FPLDs. Prerequisite CPSC 171 and CPSC 172 or permission CPSC 252 is recommended.
345 Operating Systems 4 hours
An introduction to operating systems that explores the design principles, internal algorithms, and the abstract data types of operating systems. Topics include concurrent programming principles, storage management techniques, scheduling algorithms, and file management schemes. Prerequisite: CPSC 171 and CPSC 172 or permission.
351 Programming Languages 4 hours
A study of the concepts underlying programming languages. Students will learn to describe the syntax and semantics of programming languages in a formal manner, to analyze a programming language with respect to its capabilities and limitations for the solution of particular classes of problems, to approach the task of learning a new programming language in an effective manner, and to specify desirable characteristics in a language. Prerequisite: CPSC 171 and CPSC 172 or permission.
352 Computer Security 4 hours
An introduction to secure computer systems and a study of their most important responsibilities, including authenticating users, protecting user privacy, and ensuring the privacy, integrity, and availability of the system’s data. The student will gain an understanding of techniques and procedures that are being used as well as the challenges that still remain to attain secure computer systems, networks, and the Internet. Prerequisite: CPSC 171 and CPSC 172 or permission.
354 Systems Administration 4 hours
An introduction to the many tasks of a system administrator. Students will learn to design, implement, install, and maintain systems software as well as establish and monitor system performance, security, and integrity. Prerequisites CPSC 171 and CPSC 172 or permission.
356 Database Design 4 hours
A study of the principles and concepts relevant to the management of complex data systems, especially the relational database model. Students design and implement a complete database system, from requirements analysis through documentation, using a generic database engine. Prerequisite: CPSC 171 and CPSC 172 or permission.
361 Computer Simulation 4 hours
An introduction to simulation as a modeling tool to solve real-world system problems. The emphasis will be on discrete event simulation. Topics covered will include event graphs and other system modeling techniques, simulation languages, techniques for running simulation models, and the analysis of simulation output. Prerequisites: CPSC 171 and CPSC 172 or permission.
363 Computer Networks 4 hours
A study of the fundamentals of the field of data and computer communication. Key topics include the layered architecture, network protocols, and algorithms for accurate and reliable message delivery in both local- and wide-area networks. Current networking standards will be studied. Prerequisite: CPSC 171 and CPSC 172 or permission.
367 Parallel Computing 4 hours
An introduction to parallel and distributed architectures, programming languages, operating systems, and algorithms. Students will design and program parallel and distributed algorithms. Prerequisite: CPSC 171 and CPSC 172 or permission.
375 Software Engineering 4 hours
Students will study both the theoretical and practical aspects of desiging and developing large, complex software systems. Readings will emphasize research results and case studies of all phases of the software lifecycle - requirements, specificaion, design, resource allocation, implementation, integration, and testing. Principles will be applied by the class to various projects. Prerequisite: CPSC 171 and CPSC 172 or permission.
381 Topics in Computer Science 1 - 4 hours
Various advanced topics are offered when need and sufficient interest are demonstrated. Credit hours and prerequisites are established for each offering. May be taken more than once with department consent.
386 Artificial Intelligence 4 hours
A study of the goals, problems, concepts, and methods of artificial intelligence are explored. The emphasis is on computer problem solving paradigms and knowledge representations. Examples of techniques and systems are chosen from the areas of image recognition, human-machine interfacing, game playing, natural language understanding, robotics, expert systems, and automatic reasoning. Students will design and implement relevant algorithms Prerequisites: CPSC 152 CPSC 171 and CPSC 172 or permission.
387 Computer Graphics 4 hours
A study of the algorithms and techniques of computer graphics and animation. Topics include display devices, geometric algorithms for displays, interaction methods, hierarchical modeling, lighting color, and shading models, and hidden edge and surface algorithms. Students will design and implement various three-dimensional algorithms to produce displays in an interactive environment. Prerequisites: CPSC 172 or permission.
388 Compiler Design and Construction 4 hours
An intense treatment of the theoretical and practical considerations involved in implementing translators for high-level programming languages. Students will design and implement parts of a compiler for a high level language. Prerequisites: CPSC 171 and CPSC 172 or permission.
400 Integrated Research Component I 2 hours
The student will propose and complete a plan to investigate a research topic that is integrated with the specified course. The plan must include a substantial implementation demonstrating some aspect of the research, a journal quality research paper and a formal talk presented to peers and faculty. Co-requisite: Specified 300 level CPSC course. Prerequisite: 201 or permission.
401 Integrated Research Component II 2 hours
See CPSC 400 for description. Prerequisite: 400.
465 Design and Analysis of Algorithms 4 hours
An advanced course in the theory of computation. Students will learn to apply important results of computability and complexity theory to problems of program design and to interpret measurements of program performance. Topics will include a selection from the areas of tree and list traversals, sorting and searching, matrix manipulations, linear programming, set operations, shortest-path algorithms, pattern matching, operations of polynomials, and fast Fourier transforms. Mathematical sophistication is expected. Prerequisites: CPSC 201 or permission.
466 Theory of Computation 4 hours
An introduction to the classical and contemporary theory of computation. The topics covered are the theory of automata and formal languages, computability by Turing machines and recursive functions, unsolvability, computational complexity, and mathematical logic. Mathematical sophistication is expected. Prerequisites: CPSC 201 or permission.
481 Independent Research 1 - 4 hours
498 Internship 1 - 4 hours