2020-2021 Undergraduate Catalog 
    
    Apr 19, 2024  
2020-2021 Undergraduate Catalog [ARCHIVED CATALOG]

Computer Science, B.S.


Return to {$returnto_text} Return to: Tagliatela College of Engineering

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.

 

Program Requirements


A total of 128 credits, including the University Core Curriculum, is required for the degree of bachelor of science in computer science.

University Core Curriculum


Core Tier 1

Core Tier 2

Other Requirements


  • Laboratory science restricted elective (see definition, below)
  • Mathematics restricted elective (4 credits) (see definition, below)
  • Two Restricted electives (see definition, below)
  • Three Restricted electives at 3000-level or higher (see definition, below)
  • Free elective (see definition, below)

Definitions of elective categories and restrictions:


  • CC 3.1: any Tier 2 course, or any Tier 1 course from CC 1, 2, 5, 6, 7, 8, 9 or any science course listed in CC 4.1, or MATH 2228
  • CSCI Sophomore or higher elective: any CSCI course with a number above 2000
  • CSCI Senior elective: any CSCI course with a number above 4000
  • Laboratory Science I, II, and Science elective: a laboratory science course that is intended for scientists or engineers
  • Mathematics elective: EASC 3345 or ELEC 3320 or a MATH course beyond the level of MATH 1118
  • Restricted elective: any course approved by the advisor that supports the student's academic focus (Math, Science, Engineering, Computer Science, Finance, Economics, or Accounting)
  • Free elective: any college course that is beyond the level that is considered as remedial in this program, and does not duplicate material of another required or elective course.  Remedial courses are those below the level of ENGL 1105, MATH 1117, CHEM 1115, PHYS 1150, and BIOL 2253

Return to {$returnto_text} Return to: Tagliatela College of Engineering