Program Coordinator: Alice Fischer, Ph.D.
The bachelor's degree program in computer science is nationally accredited by the Computing Accreditation Commission of the Accreditation Board for Engineering and Technology (CAC/ABET). Its objectives are to inform, challenge, and train our diverse student body for a constantly changing world of technology. This program develops a solid body of knowledge and understanding of computer hardware, software, and theory, as defined by the Association for Computing Machinery (ACM) curriculum guidelines.
At the time of graduation, every student should have achieved the following program outcomes:
- An ability to apply knowledge of computing and mathematics appropriate to computer science.
- An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution.
- An ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs.
- An ability to function effectively on teams to accomplish a common goal.
- An understanding of professional, ethical, legal, security, and social issues and responsibilities.
- An ability to communicate effectively with a range of audiences.
- An ability to analyze the local and global impact of computing on individuals, organizations, and society.
- Recognition of the need for and an ability to engage in continuing professional development.
- An ability to use current techniques, skills, and tools necessary for computing practice.
- An ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension in the tradeoffs involved in design choices.
- An ability to apply design and development principles in the construction of software systems of varying complexity.
The program consists of a required core that exposes students to a wide range of computing and technology topics, including the study of databases, hardware, networks, programming, software design, and security. Advanced courses and the senior design project are selected from one of several areas: software development, web and database applications, mobile applications, cyber forensics, or cyber security.
Typical initial job titles include applications developer, software engineer, digital forensic examiner, cyber security analyst, or security engineer. Later titles might be system analyst, team leader, software consultant, or system administrator.
Program Outcomes
1.Demonstrate understanding of a solid body of knowledge of computer hardware, as defined by the
Association for Computing Machinery (ACM) curriculum guidelines. Student can solve problems in the areas of digital circuits, basic computer architecture, instruction sets, networking devices and protocols.
2. Demonstrate understanding of a solid body of knowledge of computer software, as defined by the Association for Computing Machinery (ACM) curriculum guidelines. Student can write and debug a program of moderate complexity. Student can design and use a data base with multiple tables.
3. Demonstrate understanding of a solid body of knowledge of computer theory, as defined by the Association for Computing Machinery (ACM) curriculum guidelines. Student understands logic, Boolean algebra, elementary complexity theory, algorithms, syntax specification, types, parsing, and compilation.
4. Demonstrate understanding of a solid body of knowledge of computer systems, as defined by the Association for Computing Machinery (ACM) curriculum guidelines. Student can name the major subsystems of an operating system and explain how scheduling, resource allocation, file storage, and security are managed. Student can use a command shell, make system calls and write a concurrent program.
5. Communicate effectively with clients and peers, in writing, orally and graphically.Written material is clear, well organized, neat, grammatical, and spelled correctly. Presentations are clear, well organized, and presented in a manner appropriate for the audience.
6. Analyze, design, and develop an application that meets professional standards for a client.
7. Explain the choices and trade-offs involved in doing business: ethical, financial, environmental, personal, and social.
Internship Requirement
An internship enriches the academic experience of the student, providing exposure to a working computing environment and the interpersonal relationships of a workplace. Each internship is a partnership between the student and an employer or organization, with oversight by the academic advisor. Students must complete 60 credits toward the bachelor's degree before an internship is attempted. To complete the internship, a student must perform at least 200 hours of relevant computer or network-oriented work, submit an essay about the experience, and submit evaluations completed by both the student and the work supervisor. The internship requirement may be satisfied through employment, community service, or some other activity that is approved by the student's advisor.
UPE Honor Society
The university has a chapter of the national honor society for computer science, Upsilon Pi Epsilon. Outstanding juniors and seniors are invited by the chapter to join this organization and participate in its service projects.