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