Search Printer Friendly Page Email this link to a friend

 

Computer Science

In an age of technology computers touch all aspects of life.  Students will gain experience in software development, network security, computer architecture, creating and troubleshooting networks and the science behind programming.  In addition to the common computer science core, students choose a focused concentration, providing targeted experience.

The computer scientist is concerned with the theory and practice of making computers do useful things. The knowledge required for such endeavors involves understanding of both the hardware and software of computer systems, the tools and techniques to combine existing components into appropriate configurations to solve a problem of interest, and the ability to create new components as needed. Our program provides a core of courses designed to provide students with the tools they need to solve problems involving computers in general.

The application of computer science skills in the work place requires some cross-disciplinary background, to provide understanding of the domain from which the problem comes. In addition to the core of foundational courses, each student acquires depth in an application area through completion of a concentration chosen to complement talents, interests and vocational goals.

Major programming tasks in the industry are carried out by teams; the worker in the field needs to be able to work in groups, communicate clearly, take responsibility and assume various roles of leadership.  Team members need to be sensitive to the views of others, and they should put serving clients' needs above their own personal preferences. 

General studies
The computer program draws heavily on the program of general studies to provide students with skills in writing, speaking, understanding other points of view, and ethical and service considerations. 

Technical courses
It is helpful for programmers to have some knowledge of the science and technology that underlies the computer.  Interfacing computers with various devices also suggests some knowledge of technical details.  Programmers who are likely to serve in technical environments also need to be familiar with the terminology and concepts used by workers in these fields. 

Software engineering
Software engineering is the field of computer science concerned with the efficient production of software.  In view of the increased role of the computer in every sector of activity, computer scientists with experience and training in software engineering will be in demand in the foreseeable future. 

Our program incorporates the methodology of software engineering into a variety of courses.  Topics such as requirements specification, analysis, design, implementation, testing and validation, operations and maintenance supplement the standard programming instruction using an object-oriented language.  Quality assurance, modular programming, and team projects are other important aspects of the modern software manufacturing process that are incorporated into various courses throughout the curriculum. 

Software engineering theory and methodology are covered in depth in a dedicated course. This material is later applied in a project course designed to give the opportunity to work in a software development team, which is assigned to a client to produce a real software product.

Computer facilities
Course and project work are primarily supported by Windows-based microcomputers available in two classroom labs with 30 workstations each and a general purpose lab with 12 workstations.  In addition to the general labs, the Networks course is supported by a lab in the Technology Services Department where practical, hands-on activities are performed.

Equipment for advanced project work is dependent upon the particular project and the client's resources. During the spring 2005 semester, a project team provided communication software for the commencement ceremony between a PDA and laptop. The Technology Services Department works closely with the computer science faculty to meet project needs whenever possible. Access to a Beowulf-style computing cluster is also available through the Physics Department for special projects requiring parallel computing facilities.

For questions about the Computer Science Major contact: 
Leila Wallace, Department Chair
724-847-6695 
llwallac@geneva.edu