Bachelor of Science in Computer Science
March 19, 2025 2025-03-24 11:04Bachelor of Science in Computer Science

The Bachelor of Science in Computer Science at Western Covenant University offers a forward-thinking education designed to equip students with in-demand technical and problem-solving skills. Combining rigorous theory with hands-on experience, the program prepares graduates for careers in software development, AI, cybersecurity, and beyond.
What makes this program unique? A focus on real-world application. You’ll collaborate on industry-sponsored projects, compete in hackathons, and gain exposure to emerging technologies—all within a supportive, innovation-driven community. Whether you aim to launch a startup, join a tech giant, or pursue advanced research, this degree provides the foundation to excel in a rapidly evolving field.
The Bachelor of Science in Computer Science (BSc CS) is a dynamic four-year degree that prepares students for high-impact careers in technology. Combining theory and real-world application, the program begins with core courses in programming, algorithms, and software engineering before branching into advanced specializations like:
Artificial Intelligence & Machine Learning
Cybersecurity & Ethical Hacking
Data Science & Big Data Analytics
Game Development & Computer Graphics
Cloud Computing & Distributed Systems
Through hands-on projects, internships, and collaboration with industry partners, students gain not just technical skills but also the problem-solving mindset needed to thrive in tech. Graduates leave ready to innovate—whether as software engineers, AI specialists, cybersecurity analysts, or tech entrepreneurs.
Program Requirements:
Required Courses = 72 units
Total Elective Courses = 60 units
General Education = 48 units
Total = 180 units
Bachelor of Science in Computer Science Curriculum
General Education Electives: 56 Credit Hours / Required Units: 48 Credit Hours
Communication
- GC 140 Research and Writing (4 units)
Social Sciences
- GS 150 Introduction to Leadership (4 units)
- GS 172 Introduction to US Law and Government (4 units)
- GS 260 Introduction to Business (4 units)
- GS 499 Senior Integrative Seminar (4 units)
Arts and Humanities
- GS 110 Introduction to Psychology (4 units)
- GH 250 Christian Ethics (4 units)
- GH 260 World History (4 units)
Natural Sciences/ Computer
- GN 120 Earth Science (4 units)
- GM 170 Introduction to Computers (4 units)
Theology
- BS 200 Introduction to Bible (4 units)
- TH 101 Introduction to Christianity (4 units)
Electives: 8 Credit Hours
Prerequisite
- MAC1140 Pre-Calculus (4 units)
- STA2023 Statistics for Business and Economics (4 units)
Professional Core Studies: 124 Credit Hours / Required: 72 Credit Hours
- CDA 103 Fundamentals of Computer Systems (4 units)
- CDA 201 Structured Computer Organization (4 units)
- CEN 301 Software Engineering 1 (4 units)
- CEN 403 Introduction to Cloud Computing (4 units)
- CGS 192 Introduction to Computing (4 units)
- CGS 209 Technology in the Global Arena (4 units)
- CNT 313 Net-centric Computing (4 units)
- COP 100 Intro to Programming OR IDC1000 Computer Science for Everyone (4 units)
- COP 221 Computer Programming 1 (4 units)
- COP 333 Computer Programming 2 (4 units)
- COP 338 Computer Programming 3 (4 units)
- COP 353 Data Structures (4 units)
- COP 455 Principles of Programming Languages (4 units)
- COP 461 Operating Systems Principles (4 units)
- COP 471 Database Management (4 units)
- ENC 324 Professional and Technical Writing for CS (4 units)
- COT 310 Discrete Structures OR MAD2104 Discrete Mathematics (4 units)
- MAD 351 Introduction to Theory of Algorithms (4 units)
Professional Electives: 52 Credit Hours / Choose three elective courses from the following list or as approved by advisor.
- CAP 330 Artificial Intelligence (4 units)
- CAP 341 Natural Language Processing (4 units)
- CAP 370 Data Mining (4 units)
- CEN 402 Software Engineering 2 (4 units)
- CEN 407 Software Testing (4 units)
- COP 400 Windows Programming (4 units)
- COP 422 Advanced Windows Programming (4 units)
- COP 452 Introduction to Parallel Computing (4 units)
- COP 453 Algorithm Techniques (4 units)
- COP 460 Advanced UNIX Programming (4 units)
- COP 472 Survey of Database Systems (4 units)
- COT 354 Logic for Computer Science (4 units)
- COT 452 Computational Geometry (4 units)
- CTS 440 Database Administration (4 units)
- MAD 330 Graph Theory (4 units)
Course Descriptions
CDA 103 Fundamentals of Computer Systems (4 units)
This course will provide students with an understanding of computers and how they operate as well as a basic understanding of how to manage and maintain computers and computer systems. These skills will provide students with the ability to configure computers and solve computer problems.
CDA 201 Structured Computer Organization (4 units)
This course is the study of how the various components of Computer Systems fit together and interact. This course will focus in particular on the interaction of computer architecture (high-level hardware design) with compilers and operating systems.
CEN 301 Software Engineering 1 (4 units)
The course is designed to present software engineering concepts and principles in parallel with the software development life cycle. You will also learn about project management for the purpose of delivering high-quality software that satisfies customer needs and is within budget.
CEN 403 Introduction to Cloud Computing (4 units)
This course provides a hands-on comprehensive study of Cloud concepts and capabilities across the various Cloud service models including Infrastructure as a Service (IaaS), Platform as a Service (PaaS), Software as a Service (SaaS), and Business Process as a Service (BPaaS).
CGS 192 Introduction to Computing (4 units)
This course, using both lecture and laboratory practice, introduces students to basic computer concepts in hardware, software, networking, computer security, programming, database, e-commerce, decision support systems, and other emerging technologies such as blogs, wiki, RSS, etc.
CGS 209 Technology in the Global Arena (4 units)
This course aims to introduce students to the legal, social, and ethical issues that are brought about by the globally-connected Internet and continuing increases in computing power.
CNT 313 Net-centric Computing (4 units)
This course deals with the structure, design and implementation of applications enabled by networking technology. This course will examine the fundamentals of network programming and the client-server architecture as well as exploring the role of protocols, authentication, distributed objects and security.
COP 100 Introduction to Programming (4 units)
This course teaches fundamental concepts and terminology of computer programming. Students will develop skills in designing and writing simple computer programs. … Able to design and implement basic programming solutions including statements, control structures, and methods. Able to develop simple GUI programs.
COP 221 Computer Programming 1 (4 units)
This course teaches fundamental concepts and terminology of computer programming. Students will develop skills in designing and writing simple computer programs. The course requires no programming background. Able to design and implement basic programming solutions including statements, control structures, and methods.
COP 333 Computer Programming 2 (4 units)
Students explore more advanced concepts in computer science through Python. Students learn modular design, analyze data from files, explore object-oriented programming, interface with a hardware device, and implement graphical user interfaces.
COP 338 Computer Programming 3 (4 units)
The course covers the principles and use of object-oriented programming as exemplified in Java. Students will study searching, sorting, and the relative efficiencies algorithms implementing these tasks. Students will study recursively implemented algorithms, lists, stacks, queues, and tress together with further study of abstract data types. Students will complete a large programming project.
COP 353 Data Structures (4 units)
Topics include elementary data structures, (including arrays, stacks, queues, and lists), advanced data structures (including trees and graphs), the algorithms used to manipulate these structures, and their application to solving practical engineering problems.
COP 455 Principles of Programming Languages (4 units)
To convey the central principles in specifying, designing, and implementing programming languages. … This course focuses on the principles of programming languages. Topics covered include programming paradigms, concepts of programming languages, formal syntax and semantics, and language implementation issues.
COP 461 Operating Systems Principles (4 units)
This course teaches the basic operating system abstractions, mechanisms, and their implementations. The core of the course contains concurrent programming (threads and synchronization), inter process communication, and an introduction to distributed operating systems.
COP 471 Database Management (4 units)
The course, Database Management Systems, introduces the management of database systems. The course emphasizes the understanding of the fundamentals of relational systems including data models, database architectures, and database manipulations.
ENC 324 Professional and Technical Writing for CS (4 units)
This course introduces students to the expectations of written and verbal communication in the computer science profession, and explores the ways in which technology and media help shape professional communication.
COT 310 Discrete Structures OR MAD2104 Discrete Mathematics (4 units)
The purpose of this course is to understand and use (abstract) discrete structures that are backbones of computer science. In particular, this class is meant to introduce logic, proofs, sets, relations, functions, counting, and probability, with an emphasis on applications in computer science.
MAD 351 Introduction to Theory of Algorithms (4 units)
This course is a traditional introduction to the theory of algorithms for computer science students. It covers methods to construct algorithms and to analyze algorithms mathematically for correctness and efficiency (e.g., running time and space used).
CAP 330 Artificial Intelligence (4 units)
This course is a research field that studies how to realize the intelligent human behaviors on a computer. The main research topics in AI include problem solving, reasoning, planning, natural language understanding, computer vision, automatic programming, machine learning, and so on.
CAP 341 Natural Language Processing (4 units)
This course is to present an introduction to Natural Language Processing (NLP, a.k.a. computational linguistics), the study of computing systems that can process, understand, or communicate in human language.
CAP 370 Data Mining (4 units)
The course provides you the opportunity to learn concepts, principles, and skills to practice and engage in scalable pattern discovery methods on massive data; discuss pattern evaluation measures; study methods for mining diverse kinds of frequent patterns, sequential patterns, and subgraph patterns; and study.
CEN 402 Software Engineering 2 (4 units)
This course is a discipline that allows us to apply engineering and computer science concepts in the development and maintenance of reliable, usable, and dependable software. … The course is designed to present software engineering concepts and principles in parallel with the software development life cycle.
COP 400 Windows Programming (4 units)
This course emphasizes the fundamentals of structured design, development, testing, implementation, and documentation. Includes language syntax, data and file structures, input/output devices, files and databases.
COP 452 Introduction to Parallel Computing (4 units)
With every smartphone and computer now boasting multiple processors, the use of functional ideas to facilitate parallel programming is becoming increasingly widespread. In this course, you’ll learn the fundamentals of parallel programming, from task parallelism to data parallelism.
COP 453 Algorithm Techniques (4 units)
Students study techniques for designing algorithms and for analyzing the time and space efficiency of algorithms. The algorithm design techniques include divide-and-conquer, greedy algorithms, dynamic programming, randomized algorithms and parallel algorithms.
COP 460 Advanced UNIX Programming (4 units)
This class covers some of the more advanced topics in UNIX™ programming such as working with file and directory functions, system I/O, understanding signals, working with and synchronizing Pthreads, and TCP client and server design.
COP 472 Survey of Database Systems (4 units)
This course in database covers basic concepts and techniques in the implementation of a DBMS, notably data storage and index structures, query processing, concurrency control and transaction management. The course also introduces students to advanced research topics.
COT 354 Logic for Computer Science (4 units)
This course introduces mathematical logic from the perspective of computer science, emphasizing decidable fragments of logic and decision procedures. Course Objectives. The goal of the course is to prepare students for using logic as a formal tool in computer science.
COT 452 Computational Geometry (4 units)
This course introduces students to the essentials of Computational Geometry and presents an in-depth study of the fundamental geometric structures and techniques used in this field.
CTS 440 Database Administration (4 units)
As each student is required to have a working knowledge of the Relational Database Model as well as SQL and PL/SQL programming skills, this course focuses on the administration of a DBMS including creation, management, maintenance, and operation of a database management system.
MAD 330 Graph Theory (4 units)
This course is a study of graphs, trees and networks. Course Objectives: The successful student will know the definitions of relevant vocabulary from graph theory and combinatorics, and know the statements and proofs of many of the important theorems in the subject, and be able to perform related calculations.
CSP 220 Probability and Computing (4 units)
Probability and Computing” is a course that explores the intersection of probability theory and computer science. It examines how probabilistic concepts and techniques can be applied to solve computational problems and make informed decisions in uncertain environments. The course typically equips students with a deeper understanding of probabilistic reasoning and its relevance in solving real-world computational challenges. It is valuable for those interested in algorithm design, data analysis, machine learning, and related fields.
CSE 310 Data Analytics (4 units)
Data analytics is the process of examining, cleaning, transforming, and interpreting data to discover valuable insights, patterns, and trends. It involves various techniques and tools to make data more understandable and useful for decision-making, often with the goal of solving complex problems, optimizing processes, or identifying opportunities. Data analytics is a crucial tool for businesses and organizations in various industries. It helps them make data-driven decisions, improve efficiency, identify opportunities, reduce risks, and gain a competitive edge in the modern data-driven world.