What can I do with a BSCS degree?
Upon graduation, students with a Bachelor of Science in Computer Science have a wide range of career opportunities available to them. They can work as software developers, systems analysts, data scientists, network administrators, cybersecurity specialists, software engineers, artificial intelligence researchers, and more. Additionally, some graduates choose to pursue further education by enrolling in master's or doctoral programs in computer science or related fields.
How long does it take to study an BSCS? Full-time students can complete the program in 4 years; part-time student may complete it in 4-6 years.

Why Study at WCU?

The Bachelor of Science in Computer Science is an undergraduate degree program that focuses on the study of computers, computational systems, and their applications. It combines theoretical knowledge with practical skills to prepare students for careers in various areas of computer science.

 

The program typically takes four years to complete and usually starts with foundational courses that cover essential topics such as programming, data structures, algorithms, computer organization, and software development. These courses lay the groundwork for more advanced studies.  As students progress through the program, they have the opportunity to specialize in specific areas of computer science based on their interests.

Some common specialization areas include artificial intelligence, data science, computer graphics, human-computer  interaction, software engineering, cybersecurity, and computer networks.

 

A Bachelor of Science in Computer Science equips students with a solid foundation in computer science principles, problem-solving skills, and practical experience necessary for a successful career in the field.

REQUIRED COURSES

Course Name
Units

Fundamentals of Computer Systems

4

Structured Computer Organization

4

Software Engineering 1

4

Introduction to Cloud Computing

4

Introduction to Computing

4

Technology in the Global Arena

4

Net-centric Computing

4

Intro to Programming 

4

Course Name
Units

Computer Programming 1

4

Computer Programming 2

4

Computer Programming 3

4

Data Structures

4

Principles of Programming Languages

4

Operating Systems Principles

4

Database Management

4

Professional and Technical Writing for CS

4

Course Name
Units

Discrete Structures OR MAD2104 Discrete

4

Introduction to Theory of Algorithms

4

Program Requirements:

Required Courses = 72 units
Total Elective Courses = 60 units
General Education = 48 units

Total = 180 units

ELECTIVE COURSES

Course Name
Units

Artificial Intelligence

4

Natural Language Processing

4

Data Mining

4

 Software Engineering

4

Software Testing

4

Course Name
Units

Windows Programming

4

Advanced Windows Programming

4

Introduction to Parallel Computing

4

Algorithm Techniques

4

Advanced UNIX Programming

4

Course Name
Units

Survey of Database Systems

4

Logic for Computer Science

4

Computational Geometry

4

Database Administration

4

Graph Theory

4

creative-composition-world-book-day-removebg-preview

REQUIRED COURSES

Fundamentals of Computer Systems

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.

Structured Computer Organization

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.

Software Engineering 1

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

Introduction to Cloud Computing

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).

Introduction to Computing

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.

Technology in the Global Arena

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.

Net-centric Computing

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

Intro to Programming

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.

Computer Programming 1

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.

Computer Programming 2

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.

Computer Programming 3

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.

Data Structures

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.

Principles of Programming Languages

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.

Operating Systems Principles

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.

Database Management

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.

Professional and Technical Writing for CS

This course introduces students to the expectations of written and verbal communication in the 

computer emphasizes science profession and explores the ways in which technology and media help shape professional communication.

Discrete Structures OR MAD2104 Discrete Mathematics

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.

Introduction to Theory of
Algorithms

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).

creative-composition-world-book-day-removebg-preview

ELECTIVE COURSES

Artificial Intelligence

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.

Natural Language Processing

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.

Data Mining

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.

Software Engineering

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.

Software Testing

Verification and validation of software products following strict quality control rules.  Beginning with code inspection 

and code walkthrough, the class will survey test methodologies primarily based on the phases of software development. Major focus will be on unit testing for both BlackBox Testing (BBT)  and  WhiteBox Testing (WBT) approaches. The coverage will extends to Integration Testing, System Testing and eventually Regression testing. Methodologies for Object Oriented testing will also be covered and practiced.  Test metrics will be collected and analyzed for comparison and monitoring of software quality improvement.

Windows Programming

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

Advanced Windows Programming

The purpose of this course is to train serious windows programmers by covering advanced features of 

Windows  Operating Systems. The topic to cover includes but not limited to RPC, database connectivity, and computer graphics. This course is highly practically oriented by covering the subjects in close parallel with hands-on application in the lab. After this course, students will get the mastery of the operating system and the knowledge will be extended to the later releases of Windows OS and other OS such as Unix, Linux and Mac-OS.

Introduction to Parallel Computing

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

Algorithm Techniques

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

Advanced UNIX Programming

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

Survey of Database Systems

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

Logic for Computer Science

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

Computational Geometry

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

Database Administration

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

Graph Theory

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

Powered by WordPress Inspiro WordPress Theme by WPZOOM