The objective of the undergraduate program in computer science is
to produce graduates with:
- A thorough understanding of and ability to apply the core principles and practices of computing;
- The professional skills to meet the immediate needs of regional and other employers,
while being able to adapt to rapidly changing technology;
- A foundation in the supporting areas of communication, science, and mathematics;
- An understanding of ethical responsibilities in the social context in which their
contributions occur;
- The motivation and preparation to engage in life-long learning, including entering advanced
degree programs in computer science.
To achieve these objectives students should master the following expected competencies
(learning-based outcomes).
A. Knowledge
Students should acquire knowledge of:
- Computing at all levels of abstraction, including: (a) Circuits and computer architecture;
(b) Operating systems; (c) Programming languages, and (d) Algorithms.
- The management and sharing of persistent data.
- The interdependence of hardware and software.
- Engineering principles used to meet the challenge of large-scale software production.
- Mathematical foundations of computer science.
- The impact of computing on society.
- The ethical and legal responsibilities of computing professionals.
B. Skills
Students should acquire the ability to:
- Develop program specifications from a variety of informal descriptions.
- Develop program designs from specifications under a variety of software paradigms/architectures.
- Use analytical techniques to evaluate and compare different designs that meet specifications.
- Adapt algorithms and data structures drawn from a large standard repertoire to new problems.
- Implement selected designs as programs in a variety of programming languages.
- Debug and test programs.
- Perform quantitative evaluation of program behavior by experiment.
- Assess new developments in computer science.
- Present the results of their work orally.
- Present the results of their work as written technical documents.
- Communicate with other members of development teams and with customers.
Return to bachelor of science program