Bachelor of Science in Computer Science

Program Highlights

The online Bachelor of Science in Computer Science degree is designed to give students a state of the art education in both the theory and practice of Computer Science. Upper-level courses involve students in team projects that emphasize industrial processes and practices, laying the foundation for graduate studies and career success. This excellent affordable program provides students with a blend of theory and applications which can be applied to all current business and industry areas, preparing students for a variety of Computer Science, Systems and Software Engineering positions. The Online BCS program trains students to create solutions for information systems-based needs and problems in commercial, financial, government and other organizations. Our expert faculty use a revolutionary teaching approach which integrates theory with hands-on application of information technology and business systems. VIU Online's innovative curriculum emphasizes the design and use of computer technology to develop information processing systems. 

Potential career paths may include Application Developer, Programmer, IT Analyst, Network and Systems Administrator, Technical Architect, Database Administrator, Web Developer, Network Engineer and Technical Writer.

Degree at a Glance

The Online Bachelor of Science in Computer Science (BCS) degree is earned by completing a total of 40 courses (120 Credit Hours). This program is generally completed within 8 semesters. Both on-campus and online BCS programs are offered. When students enter the BCS program, they will complete the 12 General Education courses (36 Credits Hours) essential to the VIU BCS degree. Then, students will take 18 Professional Core Courses (54 Credit Hours), consisting of seven Fundamental Courses (21 Credit Hours), four Programming courses (12 Credit Hours) and seven Application courses (21 Credit Hours). Finally, students will select 10 Elective Courses (30 Credit Hours).
Additional program requirements are listed below:

  • Students enrolled in the undergraduate program must maintain a cumulative grade point average of at least 2.0 (B).
  • No degree credit is earned for any grade below 0.7 (D-), out of 4.0. However, all grades received, including those lower than 0.7 (D-) out of 4.0, will be included in the grade point average calculation.
  • The maximum time permitted for the completion of any undergraduate program is 6 years.
  • Undergraduate student may transfer up to 60 credit hours earned at other accredited institutions. However, credit hours previously counted towards a bachelor's degree obtained from another institution may not be transferred.
Area # of Courses Credit Hours
General Education 12 36
Professional Core 18 54
Elective 10 30
Total 40 120

 

GENERAL EDUCATION COURSES (GEC) (7 Courses – 21 Credit Hours)
*Students must take 12 General Education Courses (36 Credit Hours)
Course Code Course Code Credit Hours
GEC 101

English Composition I

Prerequisite: GEC 101 At this stage, the student will use strategies that focus on writing as a communicative process, to include invention, drafting, revision, and editing. They will also learn to recognize and write within different rhetorical situations, to include purpose and audience.

3
GEC 102

English Composition II

Prerequisite: GEC 101
At this stage, the student will use strategies that focus on writing as a communicative process, to include invention, drafting, revision, and editing. They will also learn to recognize and write within different rhetorical situations, to include purpose and audience.

3
GEC 103

Oral Communication Skills

Prerequisite: None This course provides the skills needed to prepare and deliver informative and persuasive speeches. Students will focus on adapting communication styles and content to diverse speakers and audiences. The course emphasizes how to compose meaningful and coherent messages; conduct research; and develop effective presentation skills. Students will be required to deliver several oral presentations in front of the class during the course of the semester.

3
GEC 105

Oral Communication Skills

Prerequisite: None
The short story holds a privileged place in the field of American literature. Students will read a selection of short stories by women and men from different cultural backgrounds in order to view the diversity of this genre, and to examine issues relevant to life as an ordinary American.

3
ENG 145

Academic writing

Prerequisite: None
Academic and Business Writing focuses on reviewing the fundamentals of standard written English. Students will practice writing common forms business and academic documents. This interactive class provides students an opportunity to improve their communication abilities that are necessary for success in college and beyond.

3
MATH 101

Pre-Calculus

Prerequisite: None Academic and Business Writing focuses on reviewing the fundamentals of standard written English. Students will practice writing common forms business and academic documents. This interactive class provides students an opportunity to improve their communication abilities that are necessary for success in college and beyond.

3
MATH 151

Calculus I

Prerequisite: Math 101
This course covers functions, limits, the derivative, maximum and minimum problems, the integral, and transcendental functions.

3
Total Credits Required 21
SOCIAL SCIENCES COURSES: (Choose 1 Course - 3 Credit Hours)
Course Code Course Code Credit Hours
GEC 130

Psychology

Prerequisite: None
This course examines human and animal behavior, relating experimental studies to practical problems. The course includes topics such as learning, memory, motivation, stress, emotion, intelligence, development, personality, therapy, psychopathology and social psychology.

3
GEC 131

Sociology

Prerequisite: None
This course examines patterns in political institutions, public policy, and conflict within and between communities and interest groups.

3
GEC 132

Philosophy

Prerequisite: None
This course examines patterns in political institutions, public policy, and conflict within and between communities and interest groups.

3
Total Credits Required 3
LABORATORY SCIENCES COURSES: (Choose 2 Courses – 6 Credit Hours)
Course Code Course Code Credit Hours
GEC 120

General Chemistry

Prerequisite: None
This course introduces the fundamentals of chemistry including atomic and molecular structure, thermo chemical changes and conservation of energy.

3
GEC 122

College Physics

Prerequisite: None
This course covers the principles of mechanics, heat, electricity, magnetism, optics, and atomic and nuclear physics.

3
GEC 124

General Biology

Prerequisite: None
This course is an introduction to the fundamentals of Biology. The course includes cell structure, chemistry and function, adaptation, and ecology.

3
GEC 126

Introduction to Geology

Prerequisite: None
This course provides the introduction to the dynamics of the Earth-volcanoes, earthquakes, plate tectonics, streams, groundwater, glaciers, waves, wind, and landslides, with emphasis on the environmental applications of these processes. Also the course will cover the tools of the geologist--minerals, rocks, maps, and aerial photographs.

3
Total Credits Required 6
WORLD LITERATURE: (Choose 2 Courses – 6 Credit Hours)
Course Code Course Code Credit Hours
GEC 110

World History

Prerequisite: None
World History is the only course offering students an overview of the entire history of humankind. The major emphasis is on the study of significant people, events, and issues from the earliest times to the present. Traditional historical points of reference in world history are identified as students analyze important events and issues in western civilization as well as in civilizations in other parts of the world.

3
GEC 112

World Geography

Prerequisite: None
A survey of physical, cultural, and economic aspects of world regions. An introduction to how constituent parts of the world differ from one another in their associated resources, cultures and economics. Attention is given to the interrelationships, interdependencies, and associations that bind together the diverse communities of the world.

3
GEC 114

Comparative Government

Prerequisite: None
This course will do comparison of political processes and governing structures in European nations, the former Soviet Union, China, and the United States.

3
Total Credits Required 6
CORE COURSES:
*Student must take 18 Computer Science Core courses including Senior Computer Design Project I and II (CMP 498 and CMP 499)
PROFESSIONAL CORE COURSES: Fundamental Courses (7 courses – 21 Credits)
Course Code Course Name Credit Hours
CMP 110

Introduction to Computing

Prerequisite: GEC 101
At this stage, the student will use strategies that focus on writing as a communicative process, to include invention, drafting, revision, and editing. They will also learn to recognize and write within different rhetorical situations, to include purpose and audience.

3
CMP 120

Programming Logic

Prerequisite: None
This course introduces algorithmic thinking and problem solving without focusing on any particular language. Students will learn the basic constructs of programming, including variables, constants, expressions, control structures, functions pointers and arrays, and are introduced to functional, decision-based and iterative processing of data.

3
CMP 130
3
CMP 230

Discrete Mathematical Methods for Computing

Prerequisite: MATH 151 Calculus I
This course is intended to be a college-level introductory Discrete Mathematics course for either undergraduate or graduate students. The course focuses on the following seven key topics: Combinatorial Problems and Techniques, Sets, Relations and Functions, Coding Theory, Graphs, Matching, Counting Techniques, Recurrence Relations and Generating Functions.

3
CMP 250

Computer Architecture

Prerequisite: CMP 110 Introduction to ComputingThis course is an introduction to the architecture of computer systems. Topics include: computer hardware organization; floating-point arithmetic; central processing units; instructions set design issues; micro-programmed control; addressing and memory hierarchies; bus control and timing; hardwired control; parallelism, pipelining; input/output mechanisms, peripheral devices; interrupt systems; software versus hardware trade-offs.

3
CMP 260

Operating Systems

Prerequisite: CMP 110 Introduction to Computing
The course is an introduction to the fundamentals of operating systems. Topics included: concurrent processes and synchronization mechanisms; processor scheduling; memory management, virtual memory; paging, file management; I/O management; deadlock management; interrupt structures, interrupt processing; device management; performance of operating systems; synchronization in a multi-programmed OS and with virtual memory management. Formal principles are illustrated with examples and case studies of one or more contemporary operating systems.

3
CMP 270

Essentials of Networking

Prerequisite: None
This course includes the fundamentals of network standards, concepts, topologies and terminologies including LANs, WANs, Internet Protocol (IP) addressing, subnet masking and network design, and various protocols. This course teaches concepts from the Open Systems Interconnection (OSI) Networking Reference Model, developed by the International Standards Organization (ISO) to describe the function and structure of network communications protocols.

3
Total Credits Required 21
PROFESSIONAL CORE COURSES: Programming Courses (4 Courses – 12 Credits)
Course Code Course Name Credit Hours
CMP 210

Programming I

Prerequisite: CMP 120 Programming Logic
This course examines the fundamental data structures and analyzes algorithms such as files, sets, strings, and linked lists. It introduces searching and sorting algorithms and algorithm analysis. This course also covers abstract data types and essential data structures such as arrays, stacks, queues, and trees. The major emphasis of this course is on program development through various programming projects.

3
CMP 220

Programming II

Prerequisite: CMP 210 Programming I
This course concentrates on the concepts of object oriented programming (OOP) paradigm. Concepts presented are exemplified using a selected object oriented programming language. Topics include: fundamental abstraction, modularity and encapsulation mechanisms in OOP, classes, inheritance, polymorphism, exception handling, concurrent programming, data structures. Students complete a term project that utilizes object oriented programming.

3
CMP 330

Data Structures and Algorithm Analysis

Prerequisite: CMP 220 Programming II
This course introduces the analysis of algorithms and the effects of data structures on them. Topics include algorithms selected from areas such as sorting, searching, shortest paths, greedy algorithms, backtracking, divide and conquer, and dynamic programming. Data structures include heaps and search, splay, and spanning trees. Analysis techniques include asymptotic worst case, expected time, amortized analysis, solution of recurrence relation and reductions between problems.

3
CMP 340

Principles of Programming Languages

Prerequisite: CMP 210 Programming I
This course covers the fundamental concepts of programming language design and implementation. Topics include: language paradigms, syntax and semantics; names, binding, allocation, data structures, data types; scopes; control structures, data flow, concurrency; exception handling; subprograms; comparison of imperative, functional, logical, and object-oriented programming languages.

3
Total Credits Required 12
PROFESSIONAL CORE COURSES: Application Courses (7 Courses – 21 Credits)
Course Code Course Name Credit Hours
CMP 343

Computer Security Principles

Prerequisite: CMP 270 Essentials of Networking
The course is an introduction to computer security. Course topics include: access control methods, authentication technologies, computer forensics, locks and keys, operating system security, malware and antimalware; an introduction to network security covering network security concepts, link, network and transport layers, denial-of-service attacks, web security for clients and servers; firewalls, tunneling and intrusion detection; an introduction to cryptography covering symmetric and asymmetric cryptography, hash functions and message authentication codes; database and e-mail security, spam and cybercrime.

3
CMP 350

Database Concepts

Prerequisite: CMP 120 Programming Logic
This course introduces the fundamental concepts for design and development of database systems. Topics include: review of relational data model and the relational manipulation languages SQL and QBE; integrity constraints; logical database design, dependency theory and normalization; query processing and optimization; transaction processing, concurrency control, recovery, and security issues in database systems; object-oriented and object-relational databases; distributed databases; emerging database applications.

3
CMP 360

Web Development Methods

Prerequisite: CMP 120 Programming Logic Internship /CPT Qualified
This course introduces web development technologies. The topics include: web page design techniques, using web design editors, designing graphical user interface with image processing tools, client and server side scripting, and development of database applications. Upon completion, students should be able to employ advanced design techniques to create high impact and highly functional web pages and have hands-on experience in designing a website.

3
CMP 375

Human-Computer Interaction

Prerequisite: CMP 130 Ethical, Societal and Legal Aspects of Computing
Topics that this course covers include effective, productive information systems, design and evaluation of interactive computer systems, input and output devices, screen layouts, machine design, health issues and ergonomics, and organizational impacts.

3
CMP 440

Software Engineering

Prerequisite: CMP 220 Programming II
This course covers the techniques in software design and development. Topics include: modern software engineering practice for long-term, large-scale programming projects; methods for requirements, specification, design, analysis, implementation, verification, and maintenance of large software systems; advanced software development techniques and large project management approaches; project planning, scheduling, resource management, accounting, configuration control, and technical documentation. Students organize, manage and develop a software engineering project.

3
CMP 498

Capstone Project I

Prerequisite: All 300-Level core courses
This is the first phase of a technical project that emphasizes engineering design principles on a specific topic in any field of computer science or engineering. It will be carried out by the senior student under the supervision of a faculty member. The first phase of the project includes identification of a topic and completion of the preliminary work. A progress report must be submitted at the end of the semester detailing the problem description, proposed solution approach, and a list of deliverables

3
CMP 499

Capstone Project II

Prerequisite: CMP 498 Capstone Project I
This is the second phase of the technical project that emphasizes engineering design principles on a specific topic in any field of computer science or engineering. It will be carried out by the senior student under the supervision of a faculty member. The first phase of the project must be completed in CMP 498. A written report summarizing the accomplishments of the project and an oral presentation are required in this course.

3
Total Credits Required 21
ELECTIVE COURSES (10 Courses – 30 Credits)
Code Course Name Credit Hours
CMP 353

Application Software Security

Prerequisite: CMP 343 Computer Security Principles Internship /CPT Qualified
This course studies the security concepts in developing software applications. Topics include design principles for secure software development, and some of the security issues in current programming and scripting languages, database systems Web servers, as well as issues in web applications security.

3
CMP 355

Programming with C/C++

Prerequisite: CMP 120 Programming Logic
This course covers the fundamental concepts of C/C++ programming language. Topics include variables, expressions and interactivity, relational and logical operators, looping, functions, arrays, pointers, classes, file operations, inheritance, polymorphism and virtual functions. Student completes a term project that utilizes C/C++.

3
CMP 365

Information Technology Project and Service Management

Prerequisite: Completion of the program core courses
This course introduces the fundamentals of project management, beginning with project definition and culminating in the post-project review. Students learn techniques, terms and guidelines that are used to manage costs, schedules, risk, group dynamics and technical aspects throughout the life cycle of the project. The course also investigates peculiarities of projects when services are outsourced in another department in the organization, domestically, and internationally.

3
CMP 373

Operating Systems Security

Prerequisite: CMP 343 Computer Security Principles
This course discusses security concepts and issues relative to a wide range of operating systems, as well as existing tools and technologies for setting up a secure system. Topics include vulnerabilities and risk assessment in operating systems, secure passwords, and trusted operating systems.

3
CMP 389

Independent Study

Prerequisites: All fundamental for the program, and approval from the Dean
Offers opportunity and challenge of self-directive, independent study; develops the individual's ability as an independent student; and enables the student to pursue needed study in a field in which appropriate courses are not being offered during a given term.

3
CMP 391

Internship Level I

Prerequisite: Permission from the Dean
This course provides practical experience through hands on activities for undergraduate students in direct connection with the core courses taken in their program. Students will have the ability to apply theoretical concepts in real life applications, and to extend their knowledge base examples of real life applications. Students are expected to work at least 135 hours per semester. Students are required to attend two meetings/seminars with their faculty advisor to determine learning objectives and assess how well learning objectives are being accomplished.

3
CMP 392

Internship Level II

Prerequisite: Permission from the Dean
This course provides practical experience through hands on activities for undergraduate students in direct connection with the core courses taken in their program. Students will have the ability to apply theoretical concepts in real life applications, and to extend their knowledge base examples of real life applications. Students are expected to work at least 135 hours per semester. Students are required to attend two meetings/seminars with their faculty advisor to determine learning objectives and assess how well learning objectives are being accomplished.

3
CMP 420

Usability Evaluation and Interface Development

Prerequisite: CMP 375 Human-Computer Interaction Internship /CPT Qualified
This course surveys methods for evaluating user interfaces. For projects, students will perform a heuristic evaluation, a cognitive walkthrough, a usability test and a comparison study. Class meetings will also introduce, discuss and occasionally practice additional methods such as user modeling and questionnaires.

3
CMP 443

Network Security

Prerequisite: CMP 343 Computer Security Principles Internship /CPT Qualified
This course discuses the Network Security principles and applications, including authentication applications. IP security, Web security, network management security, wireless security and system security.

3
CMP 445

Distributed Systems

Prerequisites: CMP 250 Computer Architecture Internship /CPT Qualified
This course introduces the fundamentals of distributed systems and algorithms. Topics include: distributed systems architecture; IO subsystems; distributed shared memory; load-balancing; cache coherency; message passing; remote procedure calls; group communication; naming and membership problems; asynchrony, logical time and consistency; fault-tolerance and recovery.

3
CMP 463

Computer Forensics

Prerequisite: CMP 343 Computer Security Principles Internship /CPT Qualified
This course surveys the processes of performing computer crime investigations. The course covers the recovery and analysis of digital evidence, addressing legal and technical issues. Forensic examination techniques of common systems are used to illustrate typical investigative processes.

3
CMP 465

Theory of Computation

Prerequisites: CMP 330 Data Structures & Analysis
This course covers theoretical frameworks of computing and their relations to formal grammars and languages. Topics include: finite state machines; regular languages and their limitations; tape automata, pushdown automata; context free languages, normal form grammars; Turing machines, halting problem; unsolvable decision problems.

3
CMP 466

Programming for Mobile Devices

Prerequisite: CMP 356 Web Programming Internship /CPT Qualified
This programming course is designed to introduce and familiarize the student to programming mobile devices using current platforms and mobile device emulators. An overview of the most common tools and techniques for writing mobile applications are examined, with focus on the development of the user interface and the usability of the application.

3
CMP 467

Database Systems for Web Applications

Prerequisite: CMP 350 Database Concepts Internship /CPT Qualified
The student explores the software development life cycle for Web applications. It provides an in-depth coverage on critical Web application development topics combined with technical foundations and hands-on experiences, and implementation of real-world Web applications and secure Web transactions.

3
CMP 471

Special Topics in Computer Science

Prerequisites: All fundamental courses in the program Internship /CPT Qualified
This course will cover topics of current interest selected by the faculty. Subjects will be announced before each semester.

3
CMP 472

Special Topics in Information Technologies and Systems

Prerequisites: All fundamental courses in the program Internship /CPT Qualified
This course will cover topics of current interest selected by the faculty. Subjects will be announced before each semester.

3
CMP 489

Independent Study

Prerequisites: All fundamental and Core courses for the program, and approval from the Dean
Offers opportunity and challenge of self-directive, independent study; develops the individual's ability as an independent student; and enables the student to pursue needed study in a field in which appropriate courses are not being offered during a given term.

3
CMP 491

Internship Level III

Prerequisite: Permission from the Dean
This course provides practical experience through hands on activities for undergraduate students in direct connection with the core courses taken in their program. Students will have the ability to apply theoretical concepts in real life applications, and to extend their knowledge base examples of real life applications. Students are expected to work at least 135 hours per semester. Students are required to attend two meetings/seminars with their faculty advisor to determine learning objectives and assess how well learning objectives are being accomplished.

3
CMP 492

Internship Level IV

Prerequisite: Permission from the Dean
This course provides practical experience through hands on activities for undergraduate students in direct connection with the core courses taken in their program. Students will have the ability to apply theoretical concepts in real life applications, and to extend their knowledge base examples of real life applications. Students are expected to work at least 135 hours per semester. Students are required to attend two meetings/seminars with their faculty advisor to determine learning objectives and assess how well learning objectives are being accomplished.

3
CAR 100

Career Planning and Development

Prerequisite: None.
In-depth exploration and assessment of career values, occupational interests, skills, personality style, work environment preferences; concentration and career exploration; exposure to career and occupational information resources. Students learn and practice job search strategies and tools, including resumes and interviewing skills; decision-making, goal-setting and action planning; and self-marketing techniques for effective career management.

3
Total Credits Required 30