2016-2017 Academic Catalog: Bachelor of Science in Computer Science

Computer Science (BCOS)
Leading to the Bachelor of Science Degree

Bachelor of Science in Computer Science program is accredited by the Computing Accreditation Commission of ABET, http://www.abet.org.

Students in Computer Science (BCOS) gain valuable skills in software design, programming languages, systems, and development in high-level computer languages. Related courses including databases, software engineering, networking, and operating systems are also integral in this program. Elective courses are available in a wide variety of computing areas including web development, mobile development, embedded computing, artificial intelligence, and machine learning. Students also apply these skills directly in the work environment through two required co-op work semesters beginning junior year.

Program Educational Objectives for Computer Science

Within three to five years of graduation:

  • Graduates are proficient in applying computer science principles and best practices to problems in the workplace.
  • Graduates attain productive and challenging computer science and/or software engineering careers in private practice, industry, or government.
  • Graduates are engaged in continuing professional development or professional societies in computer science or a related computing field.
  • Graduates follow standards set forth by professional societies of which they are members.

Student Outcomes for Computer Science

By the time of graduation, students will attain:

  • An ability to apply knowledge of computing and mathematics appropriate to the discipline.
  • 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 of the tradeoffs involved in design choices.
  • An ability to apply design and development principles in the construction of software systems of varying complexity.

Curriculum for Computer Science (BCOS)

 Total credits for degree: 128

This is a four-year program, starting in the fall semester of the student’s first year and planned to end in the summer semester of the student’s fourth year.  The courses are as follows:

Freshman Year, Fall Semester (total credits 16)

  • COMP1000, Computer Science I
  • MATH2300, Discrete Math
  • MATH1750, Engineering Calculus I
  • ENGLISH, English Sequence, See ENGL/HSS note below *

Freshman Year, Spring Semester (total credits 16)

  • COMP1050, Computer Science II
  • COMP1200, Computer Organization
  • MATH1850, Engineering Calculus II
  • ENGLISH, English Sequence, See ENGL/HSS note below *

Sophomore Year, Fall Semester (total credits 16)

  • COMP2000, Data Structures
  • COMP2100, Network Programming
  • MATH2860, Linear Algebra & Matrix Theory
  • HSS ELECTIVE,  See ENGL/HSS note below *

Sophomore Year, Spring Semester (total credits 16)

  • COMP2350, Algorithms
  • COMP2650, Databases
  • MATH2100, Probability and Statistics for Engineers
  • HSS ELECTIVE,  See ENGL/HSS note below *

Sophomore Year, Summer Semester (total credits 0)

  • COOP3000, Pre-Cooperative Work Term (Optional)

Junior Year, Fall Semester (total credits 16)

  • COMP3400, Operating Systems
  • COMP ELECTIVE, Computer Science Elective, see ** below
  • MATHSCI ELECTIVE, Math or Science Elective, see *** below
  • HSS ELECTIVE,  See ENGL/HSS note below *

Junior Year, Spring Semester (total credits 0)

  • COOP3500, Co-op Work Term I

Junior Year, Summer Semester (total credits 16)

  • COMP3350, Programming Languages
  • COMP3450, Parallel and Distributed Computing
  • COMP ELECTIVE, Computer Science Elective, see ** below
  • MATHSCI ELECTIVE, Math or Science Elective, see *** below

Senior Year, Fall Semester (total credits 0)

  • COOP4500, Co-op Work Term II

Senior Year, Spring Semester (total credits 16)

  • COMP4960, Software Engineering
  • COMP ELECTIVE, Computer Science Elective, see ** below
  • COMP ELECTIVE, Computer Science Elective, see ** below
  • HSS ELECTIVE,  See ENGL/HSS note below *

Senior Year, Summer Semester (total credits 16)

  • COMP5500, Senior Project
  • COMP ELECTIVE, Computer Science Elective, see ** below
  • MATHSCI ELECTIVE, Math or Science Elective, see *** below
  • HSS ELECTIVE,  See ENGL/HSS note below *

* ENGL/HSS Note:  

Day program students are required to complete at least:  

  • One course in Humanities  
  • One course in the Social Sciences  
  • The remaining courses may be from either Humanities or Social Sciences category 

Students with a three English course sequence may use the third English course to satisfy a Humanities requirement.   For more information about the English, Humanities, and Social Science requirements please refer to the Graduation Requirements – Undergraduate section of this catalog.  

Of the five listed humanities and social science electives, BCOS students must include the following HSS Directed Electives:

  • An Ethics elective

** Computer Science Electives

Computer Science students take a total of five computer science electives. At least two of these electives must be selected from the Advanced Computer Science Elective list below.  The Computer Science Elective courses to be offered in a particular semester will be selected by the Computer Science and Networking department. Note that some courses are required in other programs.  Students may take these courses provided that they have passed the course prerequisites.  The Computer Science Elective courses may include, but are not limited to:

  • COMP1150, Routing and Switching
  • COMP2150, Network Administration
  • COMP2160, Wireless Networks
  • COMP2500, Security Principles
  • COMP3070, Assembly Language
  • COMP3100, System Administration
  • COMP3470, Advanced System Administration
  • COMP3800, Special Topics BCOS BSCN

The Advanced Computer Science Elective courses may include, but are not limited to:

  • COMP3571, Cryptography and Network Security
  • COMP3671, Database Applications
  • COMP3672, Introduction to Bioinformatics
  • COMP3673, Introduction to Biostatistics
  • COMP3770, Introduction to Artificial Intelligence
  • COMP4050, Machine Learning
  • COMP4070, Computer Graphics
  • COMP4470, Compiler Design
  • COMP4472, Systems Programming
  • COMP4650, Web Development
  • COMP4672, Bioinformatics Algorithms

*** Math or Science Electives

BCOS students must take three math or science electives total. Of these, at least one must be a 3-2-4 science elective with the exception of PHYS1000, College Physics I and PHYS1500, and College Physics II. Math electives include any Applied Math minor course.

Minor in Computer Science

The minor in Computer Science provides students with the fundamentals of computer programming.  Students will become proficient with at least two different programming languages. 

To earn the minor in Computer Science, students must complete the courses (20 total credits) as outlined below with a final grade of “C” or better in each course. All courses are 4 credits.

Core Sequence (12 credits, three courses, select one sequence)

  • COMP1000, Computer Science I; COMP1050, Computer Science II; COMP2000, Data Structures
  • COMP1099, Computer Science I using C; COMP1050, Computer Science II; COMP2000 Data Structures

Advanced Electives (8 credits, select two courses from the list)

  • COMP1200, Computer Organization (or ELEC244 or ELEC486)
  • COMP2100, Network Programming
  • COMP2350, Algorithms
  • COMP2650, Databases
  • COMP3070, Assembly Language
  • COMP3350, Programming Languages
  • COMP3400, Operating Systems
  • COMP3450, Parallel and Distributed Computing
  • COMP3671, Database Applications
  • COMP3770, Introduction to Artificial Intelligence
  • COMP4050, Machine Learning
  • COMP4470, Compiler Design
  • COMP4650, Web Development
  • COMP4960, Software Engineering