Richmindale
Richmindale College
BSCS | Bachelor of Science in Computer Science
Program Description

The Bachelor of Science in Computer Science (BSCS) online degree program of Richmindale College provides students with rigorous foundations in both the theoretical and practical aspects of computing. The core computer science courses provide students with an intensive background in writing complex software systems in different platforms and configuration. The program covers fundamental computing theories and principles focusing on computer systems and architecture, logic formulation, algorithm design, programming languages, application development, software engineering, technology management, and information systems.

The length of the program is 8 semesters and requires 120 credit units to complete.

Courses

The following courses with a total of 120 credit hours are required for the awarding of the Bachelor of Science in Computer Science (BSCS) degree. The courses below are arranged based on a typical sequence that students can follow. Students may change the sequence of courses as long as the course requisites are followed.

Course Code Course Title Pre-requisite Credit
Semester 1
ICT-101 Introduction to Computers 3.0
This course introduces the basic concepts of computer science and its applications, including: the computer science profession; basic computer hardware components and how they work; computer operating system user interfaces, interaction, and operations; computer software applications; computer networks and the Internet; concept of abstraction in problem solving; and basic programming.
BUS-101 (G) Introduction to Business 3.0
The focus of this course is to provide students with updated intensive training on how to formally write evidence-based research and documents that are timely and relevant to business nowadays. Students will develop strategies for turning their experience, observations, and analyses into evidence suitable for writing through outcome-based approaches that are incorporated in the curriculum.
ENG-101 (G) English Composition I 3.0
This course covers college algebra; symbolic logic, set theory, cartesian product, relations, functions, equivalence relations, equivalence classes and partitions, order relations: partial order, total order and well ordering will be discussed. Mathematical introduction to pre-calculus relating to functions will be taught.
MAT-101 (G) Mathematics in the Modern World 3.0
This course explores the relationship between critical thinking and logic and their key concepts, covering topics such as construction of arguments, and evaluation of arguments and fallacies.
PSY-101 (G) General Psychology 3.0
This course introduces basic knowledge in psychological science across all areas of the discipline. Topics includes major theories, methods, and findings in psychology, and includes a strong emphasis on developing and applying critical thinking.
Semester 2
ICT-102 Computers, Ethics and Society ICT-101 3.0
This course provides practical hands-on training and activities on features and functionalities of Office software applications such as word processors, spreadsheets, and presentations, including macros to automate tasks. This course may require each student to purchase an Office software application license separately as an additional cost.
ICT-103 Computer Organization and Architecture ICT-101 3.0
This course introduces the basic concepts of computer programming and programming languages such as programming development environment, syntax and semantics, use of basic data types and data structures (stacks, queues, sets, linked lists, collections), variables, operators, decision-making, loops, functions, libraries and objectoriented programming; and software engineering including requirements gathering, system analysis, design and develop, testing, updates, deployment, and maintenance. This course uses the C, Python and C# programming languages to illustrate the concepts.
ICT-104 (G) Office Software Applications with Macros ICT-101 4.0
This course provides introduction to the basic concepts in organizing data and the use of database systems for storing, retrieving, and manipulating data. This course also provides practical hands-on training and activities in Structured Query Language (SQL) using Microsoft Access, MySQL, and SQLite, and apply them in a computer programming.
ENG-102 (G) English Composition II ENG-101 3.0
This course reinforces the learning that the students have garnered from the English Composition I. They will now learn the processes necessary for collecting and incorporating research materials into their writings. They learn to point out and document research sources and how to develop and manage arguments and support them with effective and relevant evidence. Oral presentation of the written outputs will also be covered by this course.
MAT-102 (G) Probability and Statistics 3.0
This course covers the foundations of probability and statistical inference. This course will also provide comprehensive discussion on topics such as sample spaces, conditional probability and Bayes' rule, random variables, discrete and continuous probability distributions, expectation, estimation, and hypothesis testing.
Semester 3
ICT-201 Computer Programming Concepts ICT-101 3.0
This course covers the foundations of probability and statistical inference. This course will also provide comprehensive discussion on topics such as sample spaces, conditional probability and Bayes' rule, random variables, discrete and continuous probability distributions, expectation, estimation, and hypothesis testing.
ICT-202 Database Systems and SQL ICT-101 3.0
ICT-203 Data Communication and Networking ICT-103 3.0
This course provides basic concepts and hands-on training in computer graphics design and editing using GIMP, and responsive web (user interface) designs using HTML, CSS, JavaScript and related tools to be used in websites and other applications.
MAT-201 (G) Discrete Mathematics MAT-101 3.0
This course provides hands-on training and activities in creating web applications using different web technologies such as Node.js, Bootstrap, Angular, and jQuery. This course also introduces different web applications such as content management systems and e-commerce. This course requires students to submit a web application project at the end of the course.
COM-101 (G) Purposive Communication ENG-101 3.0
This course provides practices and applications of object-oriented programming such as object-oriented programming design; design patterns; inheritance; encapsulation; polymorphism; classes and objects; event-handling; exception handling; collections; concurrency and threads; database connections and data manipulation; graphics; printing; cloning; serialization; and reflection. This course uses the C# programming language with SQLite and MySQL database management systems to develop different applications.
Semester 4
ICT-204 Introduction to Computer Systems ICT-201, ICT-203 3.0
This course introduces the concepts of mathematical structures that are discrete. This course covers topics such as logic and proof, set theory, combinatorics, graph theory, number theory, trees, algorithms, and binary.
ICT-205 Data Structures and Algorithms ICT-201, MAT-201 3.0
This course provides concepts of computer hardware and software systems, including instruction set principles; pipelining; instruction-level parallelism; memory-hierarchy design; techniques for controlling complexity; virtual memory; atomicity and parallel activities; concurrency and threads; multiprocessor systems; sockets; multistage interconnection networks; and client-server design. This course uses the Python programming language to illustrate the concepts.
ICT-206 Computer and Network Security ICT-102, ICT-203 3.0
MAT-202 (G) Calculus I MAT-101 3.0
PHI-101 (G) Critical Thinking and Logic 3.0
Semester 5
ICT-301 Object-Oriented Programming ICT-201, ICT-202 3.0
This course introduces differential calculus, a study of the definition, properties, and applications of the derivative of a function. This course covers the study of the rates at which quantities change, and includes topics such as differential calculus, limits of a function, continuous and discontinuous function, Newton and Leibniz’s notation for differentiation, derivatives, implicit and partial derivatives, higher derivative and point of inflection.
ICT-302 Automata and Formal Languages MAT-201 3.0
This course provides introduction to the importance and application of data analytics such as information technology, research, and decision-making. This course covers the methods and algorithms used in data analytics, business intelligence, big data and data science. This course uses programming and data management software applications. This course may require each student to purchase an Office software application license separately as an additional cost.
ICT-303 Design and Analysis of Algorithms ICT-205 3.0
ICT-304 (G) Data Analytics ICT-104 3.0
This course provides introduction to the concepts of data types; data structures such as arrays, strings, stacks, queues, linked lists, trees and graphs; recurrence; asymptotic analysis; and algorithms including algorithm properties, performance and techniques such as greedy algorithms, backtracking, dynamic programming, searching and sorting, and network flow algorithms.
MAT-203 (G) Calculus II MAT-202 3.0
This course provides introduction to automata theory, formal languages and computation covering sets; graphs and trees; language and grammar; the Chomsky Hierarchy; finite automata; finite state machine; regular expression; context-free grammar; pushdown automata; Turing machine; computability and undecidability; recursive function; computational complexity and intractable problems.
Semester 6
ICT-305 Network and Web Programming ICT-204, ICT-301 4.0
ICT-306 Computer Graphics and User Interaction Design ICT-204 4.0
This course provides introduction to automata theory, formal languages and computation covering sets; graphs and trees; language and grammar; the Chomsky Hierarchy; finite automata; finite state machine; regular expression; context-free grammar; pushdown automata; Turing machine; computability and undecidability; recursive function; computational complexity and intractable problems.
ICT-307 Data Management and Information Processing ICT-202, ICT-205 3.0
This course provides hands-on training and activities in creating mobile applications in Android, iOS and Windows. This course uses HTML, CSS, JavaScript, Objective-C, Swift, Kotlin, Java and C#.NET. This course requires students to submit a mobile application project at the end of the course.
ICT-308 Compiler Construction ICT-302, ICT-303 4.0
Semester 7
ICT-401 Web Application Development ICT-305, ICT-306 4.0
ICT-402 Mobile Application Development ICT-305, ICT-306 4.0
This course provides basic concepts, algorithms, and problemsolving methods in intelligent systems-related topics such as artificial intelligence; intelligent agents; computational intelligence; Internet of Things (IoT); pattern recognition; automated reasoning; machine perception; machine learning; neural networks; and search and mathematical optimization.
ICT-403 Enterprise Software Applications ICT-305, BUS-101 3.0
This course provides basic concepts on the algorithms, design and implementation of computer operating systems including system structure; CPU scheduling; process synchronization; processes and threads; dead lock; memory management; and file and disk management.
ICT-404 Operating Systems ICT-302, ICT-303 3.0
This course provides basic concepts, algorithms and design techniques in compiler development covering lexical analysis; syntax analysis; syntax directed translation; grammars; parsing; semantic analysis; optimization and code generation; and runtime environments.
Semester 8
ICT-405 Software Engineering ICT-403 3.0
This course introduces the concepts of information systems and their use for competitive advantage, enhancement of internal operations, and decision making. This course covers research, evaluation, planning, development, and implementation of information systems to preserve digital records, manage knowledge resources, automate business processes, and report performance.
ICT-406 Management Information Systems ICT-304 3.0
This course provides basic concepts and methodologies in software engineering including software development life cycle such as requirements analysis, design, coding, testing and debugging, and implementation; and software project management.
ICT-407 Intelligent Systems ICT-302, ICT-303 3.0
ICT-490 Capstone: Software Project ICT-403 5.0
This capstone course requires students to submit a software project that serves as their culminating academic experience, and to complete their final graduation requirements.
  Total Credit Hours 120