Bachelor of Science in Computer Science
Bachelor of Science in Computer Science
in Computer Science
Program Description
The program also includes the study of the standards and practices in Software
Engineering. It prepares students to acquire skills and disciplines required for
designing, writing and modifying software components modules and applications
that comprise software solutions.
Within three to five years after obtaining a Bachelor’s degree in Computer Science,
our graduates are expected to:
1. Possessed a significant role in development team confident to produce high-
quality software solutions and in research and development in various application
domains which includes the use of game technologies and data science.
2. Exhibited high standards of professionalism while maintaining social and ethical
responsibilities both in local and international organizational environment
3. Capable of communicating and engaging in life-long learning activities relevant
to their profession, including earning advanced degrees, attaining professional
certification and engaging in research activities to further nation building and
national development.
Program Outcomes
By the time of graduation, the students of the program shall be able to:
1. Apply knowledge of computing fundamentals, mathematics, science, and domain
knowledge appropriate for computer science specialization to the abstraction
and conceptualization of models from defined problems and requirements.
2. Apply knowledge in algorithms that can be used in solving complex programming
problems.
3. Apply software engineering practice over the entire system lifecycle activities
and management of risks involved in software and embedded systems which
meet specified needs with appropriate consideration for public health and safety,
cultural, societal, and environmental considerations.
4. Adapt appropriate techniques, resources and modern computing tools to complex
activities, with an understanding of the limitations to accomplish a common goal.
5. Acquire knowledge and understanding of information security issues in relation
to the design, development and use of information systems.
6. Work with a range of technologies employed within the game industry, such as
hand-held devices, desktop devices, and consoles
7. Utilize the tools and techniques used in the development of mobile systems
8. Use scientific methods such as data science in analyzing and interpreting data.
9. Utilize new and emerging technologies, such as artificial intelligence, cloud
technology and natural language processing, as a necessity for life-long learning
10. Formulate solution to the complex problem using a programming language,
mathematics, algorithms, data structures, or an appropriate blend of
technologies.
11. Communicate effectively with the computing community and with society at large
by being able to comprehend and write effective reports, design documentation,
make effective presentations, and give clear instructions.
12. Adopt appropriate industry practices in resolving real-world issues with legal,
social, ethical and professional consideration involved in the utilization of
computing technology
13. Engaged in research as an individual and as a member or leader for continued
development of the individual, organization, and society in a multidisciplinary
setting.
Admission Requirements
1. High School graduates and transferees seeking admission to the BSCS program
must meet the criteria and cut-off scores set by the University for the BSCS
program.
2. Shiftees must not have accumulated 15 or more units of failures.
Retention Policies
1. Students who fail in 50% or more of the subjects taken during the previous
semester will be asked to shift to another course. Courses dropped are
considered failed.
2. Students who fail in two or more major subjects in one semester shall be put on
probation.
3. Student must not incur more than two failures in the same Math or CS Core/
Professional courses; otherwise they will be advised to drop from the program.
SECOND YEAR
First Semester Total No. of hrs Total Pre- Co-
Credit Lec Lab Assessed requisite requisite
Units Units
CSP202 Object Oriented Programming 3 2 3 5 CC103
CSP203 Discrete Structures 3 3 0 3 MATH1
CSP204A System Analysis and Design 3 3 0 3
CC104 Data Structures and Algorithms 3 3 0 3 CC103
CC105 Information Management 3 2 3 5 CC103
MATH2T Trigonometry 3 3 0 3
NSTP1 National Service Training Program 1 3 3 0 3
PED3 Physical Education 3
(Swimming and Recreation) 2 2 0 2
Total 23 21 6 27
Second Semester Total No. of hrs Total Pre- Co-
Credit Lec Lab Assessed requisite requisite
Units Units
CSP205 Applied Math for Games
CSP206 Analysis and Design of Algorithms 3 3 0 3 CSP203
CSP207A Comp. Org. w/ Microcontroller Prog. 3 2 3 5 CC104
CSP208 Software Engineering 3 3 0 3 CC104
CSP209A Game Prog. 1 - Introduction to
Game Design and Development 3 2 3 5 CSP202
CSP210A Usability, HCI and User Interaction
Design 3 0 3 3 CC105
MATH3C Analytical Geometry and Calculus 3 3 0 3
PED4 Physical Education 4
(Individual and Dual Sports) 2 2 0 2
NSTP2 National Service Training Program 2 3 3 0 3
Total 26 21 9 30
THIRD YEAR
First Semester Total No. of hrs Total Pre- Co-
Credit Lec Lab Assessed requisite requisite
Units Units
CC106 Cloud-based Application
Development 3 2 3 5 CC105
CSP211 Automata Theory and Formal
Languages 3 3 0 3 CSP206
CSP212A 3D Animation 3 2 3 5 CSP209A
CSP213 Game Prog. 2 - Advance Game
Design and Development 3 2 3 5 CSP209A
CSE301B CS Elective 1 Technopreneurship 3 3 0 3
USELF Understanding Self 3 3 0 3
GENSOC Gender And Society 3 3 0 3
IRS3 Spirituality in the Workplace 3 3 0 3
Total 24 21 9 30
At the end of the course, the students are Students are expected to describe simple abstract
expected to choose among which alternative data data types and design implementations, using
structure is most efficient to solve specific data- abstraction functions to document them. Develop a
representation and algorithmic problems. program that applies technique of object-oriented
design such as encapsulation, polymorphism,
inheritance, and composition of systems based on
object identity.
CSP203 3 units searching, sorting and graph algorithm. By doing
Discrete Structures (lecture) so they will be thinking critically about the analysis
The purpose of this course is to understand and design of algorithm and ensure that they gain
and use (abstract) discrete structures that are in-depth knowledge about programming as a
backbones of computer science. This course practice profession in computer science.
covers topics such as logic, proofs, sets, relations,
functions, induction and recursion, discrete CSP207A 3 units
probability, and finite state machines with an COMP. ORG. W/ MICROCONTROLLER PROG.
emphasis on applications in computer science. (WITH LABORATORY)
This course deals with an overview of the
At the end of the course students develop the architecture and organization of a computer. It
mathematical foundations necessary for more includes discussion of the Central Proccessing
specialized subjects in computer science, including Unit, internal and external memory, Input/Output
data structures, algorithms, and compiler design. organization and peripherals. Mircocontroller
Upon completion of this course, you will have assembly and programming will be introduced in
the mathematical know-how required for an in- in this course to familiarize students with basic in
depth study of the science and technology of the this type of techonolgy.
computer age.
Students are expected to discuss computer
CSP204 3 units works, both internally and externally and
SYSTEM ANALYSIS AND DESIGN (LECTURE) identify the structures and functions of a computer
This course introduces established and evolving system. They will be able to create programs
methodologies for the analysis, design, and and execute computer interfacing with different
development of an information system. Emphasis electronic components.
is placed on system characteristics, managing
projects, prototyping, CASE/OOM tools, and CSP208 3 units
systems development life cycle phases. SOFTwARE ENGINEERING (LECTURE)
It intends to provide an overview of the software
Upon completion, students should be able to engineering process and the ethical issues
submit a report which includes the analysis of a that influences the practice from requirements
problem and the design of an appropriate solution analysis and modeling, through software design
using a combination of OOM tools and techniques. fundamentals, to implementation of object-
oriented models and programming, to software
CSP205 3 units testing and quality assurance, and, software
APPLIED MATH FOR GAMES (LECTURE) maintenance.
This course covers the mathematics used in
game development. Students will learn and By the end of the course, students are expected to
develop a foundation for applications in collision develop a project by extracting user requirements,
detection and motion. Specific topics in vector translate these to formal models and present using
algebra, matrixes, and analytical geometry and UML-based visualization. Prepare comprehensive
probability and statistics as applied to modelling written documentation which includes overall
and simulation. architecture of the system and develop the system
design to an actual running program.
At the end of this course, students are expected
to develop a game using various mathematical CSP209A 3 units
equations and functions to represent behavior. GAME PROGRAMMING 1- INTRO TO GAME
DESIGN AND DEvELOPMENT (wITH
CSP206 3 units LABORATORY)
ANALYSIS AND DESIGN OF ALGORITHMS The course gives an overview of the game
(LECTURE) development process from conception to
This course enhances the critical thinking of production. It also discusses a history of game
the students because designing and analyzing development here and abroad, and exposure
algorithms in terms of time and space must to the positions, job responsibilities that each
be taken into consideration in any program. member of a game development team has along
Designing an algorithm involves knowledge of with the industry requirements for the creation
the problem domain, a thorough knowledge of of a game design document (GDD) and technical
the data structures that are available and suitable design document (TDD). Game design includes
and a good measure of creativity. The course will game play, storytelling, challenges, and basic
also cover useful algorithmic design techniques, interactive design, which includes interface
the methods for analyzing algorithms, the divide design, information design, and world interaction.
and conquer strategy for designing searching and
sorting algorithms. Students are expected to design a small casual
game and understand the complexities in
Students are expected to identify appropriate developing these projects and produce proper
algorithm to certain requirement and apply it documentation (GDD and TDD). The experience
in a running program. They are also expected to will be used as foundation for more advanced
describe the behavior and running time of various courses in the program.
CSP210A 3 units This course concludes with the students having
USABILITY, HCI AND USER INTERACTION created their own complete arcade-style game
DESIGN (LABORATORY) and a basic understanding of how more advanced
The course focuses on imparting to students the game creation tools and game engines work.
techniques in making software more intuitive to
use and hence making it easy for target users CSP214 3 units
to learn its fundamental functions and features. SOCIAL ISSUES AND PROFESSIONAL
It emphasizes the importance of user experience PRACTICE (LECTURE)
in system flow. This course includes the principles This course studies the social impact, implications,
of human computer interaction and use interface and effects of computers, and the responsibilities
design techniques. of computer professionals in directing the
emerging technology. Specific topics include an
Students are expected to create and conduct overview of the history of computing, computer
a simple usability test for an existing software applications and their impact, the computing
application and the use any IDE to create a profession, the legal and ethical responsibilities of
simple application that supports a graphical user professionals, and careers in computing.
interface.
The students are expected to put up an exhibit as
CSP211 3 units part of an information awareness campaign about
AUTOMATA THEORY AND FORMAL IT security and computer threats.
LANGUAGES (LECTURE)
This course is an introduction to the fundamental CSP215A 3 units
ideas and models underlying computing; finite WEB DEVELOPMENT TECHNOLOGIES (WITH
automata, regular sets, regular languages and LABORATORY)
expressions, formal grammars and languages, In this course, students will be familiar of the
pushdown automata, context-free grammars, applications and tools being used in systems
compiler theory, undecidability and complexity development. These applications may include
theory. framework, frontend tools, project management
tools, version controls and other tools used all
At the end of the course, the students will be able throughout the development process.
to apply skillful reasoning as a guide to problem
solving in automation adherence to the computer By the end of the course, in a group, students are
science standards. They will also develop expected to develop and present a system with
proficiency in using reasoning as an application to the use of the technology discussed in this course
thesis algorithms, a commitment to develop and all throughout the development process and
maintain intellectual traits of the mind and habits prepare a document.
of thought.
CSP216 3 units
CSP212A 3 units PROGRAMMING LANGUAGES (LECTURE)
3D ANIMATION (WITH LABORATORY) This course is an introduction to basic concepts
In this course, students learn the fundamental in the design of programming languages.
concepts of 3D animation. Students are Comparative study of programming languages
introduced to the different principles behind the from both theoretical and applied viewpoints.
creation of the 3D virtual world. Students will Typical issues include syntax and semantics, scope
be taught to design different computer-based and binding times, storage allocation, parameter-
3D imagery and produce a simple 3D animation passing techniques, control structures, run-time
sequence using a 3D software. Use of scripting representation of programs and data. Detailed
language to manipulate 3D animation sequences examples from the imperative, functional, parallel,
will also discuss. object-oriented, web ad logical programming
paradigms. Students are expected to already
By the end of this course, students are expected be familiar with the C++ or Java programming
to create and design a 3D animation, using a 3D languages. Examples of concepts will be presented
animation software, based on the specification using specific languages.
provided. Students are also expected to create
3D assets for game applications. At the end of the course students will be familiar
with the concepts that are commonly available in
CSP213 3 units widely used programming languages that be used
GAME PROGRAMMING 2 (WITH in the development of their thesis.
LABORATORY)
This course provides students with skills CSP217A 3 units
needed for game development using software THESIS 1 (LECTURE)
environment of a game engine and its scripting This course provides the students with
language. The students will learn fundamental opportunities to synthesize their accumulated
concepts for 2D environment, development roles, knowledge to explore topics which reflect their
interactivity, audio and programming which are personal interests, future goals and levels of
important aspects of a 2D game application. ability to develop computing solutions (game
development). It intends to provide practical
experience in the whole process of development At the end of the course, the students are required
projects from analysis through design to to submit a comprehensive written documentation
implementation and testing. comprising all chapters of the thesis and
conducted a successful oral presentation before
At the end of the course, the students are the panel members.
required to submit a complete written proposal
documentation comprising the first three (3) CSP221 3 units
chapters of the thesis and conducted a successful ARTIFICIAL INTELLIGENCE (WITH
proposal presentation before the panel members. LABORATORY)
The course is about the algorithm behind Artificial
CSP218 3 units Intelligence in games. Solution for common
INTERNSHIP (LECTURE) algorithmic problems will be discussed and
Aims to expose students to appropriate training analyze. Focus will be primarily on single-player
sites equipped with the latest technologies games for this course. It covers Knowledge
and where current methodologies in software Representation, Search Techniques (Uninformed,
development are employed. The internship Informed, Adversarial) and an introduction to
program is meant to provide students with an Machine Learning techniques (Supervised and
opportunity to complement their formal learning Unsupervised) as applied in games.
with practical knowledge, skills and desirable
attitudes and to gain hands on experience in At the end of the course students can be able
recognized Industry Partner. to design and implement simulation model for
specific game scenario.
After 162 hours of training with Industry Partner,
students interning under mentorship of an IT CSP222 3 units
Professional should be able to learn the importance DATA SCIENCE (wITH LABORATORY)
of constant upgrading of knowledge and skills in This course introduces data science which covers
order to remain competitive in this fast-changing techniques used to extract useful information from
filed; recognize, prioritize and complete assigned data. Data Science is a problem-solving and data
task ontime; develop skills in verbal, non-verbal analysis oriented subject which applies scientific
& written communication without neglecting techniques to solve practical problems in an
respect for authority and the ideas & opinion of interdisciplinary environment. This course covers
other people in the organization; and submit an an introduction to the topics such as Data Mining,
Internship Portfolio that highlights a complete Machine Learning, Information Visualization,
project or task such as a program or system Big Data and uses R or Python programming
created, a game conceptualized, web application language. By the end of the course.
or other similar outputs reflecting the technical
skills they obtained during their internship At the end of the course, students will develop
experience and integrate the Lasallian Graduate a simple research that will use data science
Attributes in their reflection. approach.
Prerequisite: 3rd Year Standing
CSP223 3 units
CSP219 3 units OPERATING SYSTEM (LECTURE)
NETWORKS AND COMMUNICATIONS (with This course provides an introduction to the
Laboratory) concepts, theories and components that serve
This course first introduces the fundamental as the basis for the design of the classical and
building blocks that form a modern network, modern Operating Systems. Topics include
such as protocols, topologies, hardware, and concepts on Computer and operating system
network operating systems. It then provides in- structures, Process and memory management,
depth coverage of the most important concepts Process synchronization and communication,
in contemporary networking, such as TCP/IP, Virtual memory management, Secondary Storage
subnetting and security. Management, File systems Management and
Protection and Security.
The students will be provided with a technical and
operational overview of digital computer networks, Students will demonstrate competence and
the foundation for all modern information systems understanding of the concepts, structure and
and services. This will develop among them the design of operating systems and its impact on
capabilities on how to install, configure, and application system design and performance.
troubleshoot a computer network which are highly
marketable and exciting skills. CSP224 3 units
INFORMATION ASSURANCE AND SECURITY
CSP220A 3 UNITS (LECTURE)
THESIS 2 (LECTURE) This course intended to provide students an
This course challenges students to proceed to introduction to information assurance from the
computing solutions (game development) based perspective of web-based applications. The
on the approved thesis proposal. The project will course covers fundamental concepts necessary to
demonstrate the students’ ability to analyze, synthesize, understand the threats to security and privacy as
evaluate information, design and develop a game. well as various defenses against those threats.
At the end of the course, the students are CSE302A 3 units
expected to examine the relationship between CS ELECTIVE 2 - GAME TECHNOLOGIES
threats, vulnerabilities, countermeasures, attacks, (with LABORATORY)
compromises and remediation throughout the This course covers the different tools and devices
entire system life cycle; explain the key factors in game development. Students are able to utilize
involved in the authentication and how they different application programming interfaces
are used to verify identify and grant access to (API’s) such as google play services, virtual reality,
the system; and describe the legal and ethical augmented reality and motion sensors for multi
considerations related to the handling and platform game development.
management of enterprise information assets.
At the end of this course, the students are
CSP225 3 units expected to develop immersive game that uses
MOBILE-BASED APPLICATION various game development API.
DEvELOPMENT (wITH LABORATORY)
This course is intended to provide students with a CSE303A 3 units
comprehensive understanding of the tasks related CS ELECTIVE 2 – MACHINE LEARNING
to the development of enterprise-level mobile (WITH LABORATORY)
applications. The course will focus on the creation This course introduces machine learning statistical
of mobile solutions for adopted modern platforms/ pattern recognition. The course will also discuss
framework, including major mobile operating recent applications of machine learning, such
systems. as to robotic control, data mining, autonomous
navigation, bioinformatics, speech recognition,
At the end of the course, the students are expected and text and web data processing. Topics
to develop enterprise-level mobile solutions, by may includes machine learning algorithms,
taking full advantage of the capabilities of the supervised learning (generative/discriminative
adopted platform/framework. Work with software/ learning, parametric/ nonparametric learning,
hardware tools to develop, test and debug mobile neural networks, and support vector machines);
applications. unsupervised learning (clustering, dimensionality
reduction, kernel methods); learning theory (bias/
CSP226 3 units variance tradeoffs; VC theory; large margins); and
EMERGING TRENDS IN COMPUTING reinforcement learning and adaptive control. R or
(WITH LABORATORY) Python programming language will be used in this
This course introduces various trends in computing course.
which is significant to see the motivation behind
these new innovations and foresee what the At the end of the course, students will develop a
future is like when this new invention matures and simple research that will utilize machine learning
widely used. This course may include IoT, advance technology.
data processing, new technology in software
development, robotics, AI implementation and
other emerging trends the moment this course will
be offered.
CS Electives
CSE301 3 units
TECHNOPRENEURSHIP (LECTURE)
This course covers the theories and principles of
technopreneurship, development of IT business
plan and management of IT business.