Computer Science

Computer Science

Bachelor Degree

Computer Science

The Bachelor of Science in Computer Science at the faculty of Mathematics, Sciences and Engineering of Pannasastra University of Cambodia was established in 2000 in response to the increasing demand of computer technology and skills in today society. Since the dawn of computer science, computer technology and computation have become an indispensable part of our civilization. Nowadays, from communication to information transfer, to big data processing and management, and to the digital economic system, everything is operated within the computer science framework. Following this trend, the faculty of Mathematics, Sciences and Engineering in Computer Science is committed to offer the best quality education program that provide students with up-to-date knowledge and skills in computer hardware, software, software and computer problem solving; thus, to produce highly competent human resource to meet the demand of Cambodia’s modern society as well as in the world.

Major: Computer Science

Year One: Foundation Year Courses

Couse Code

Course Title

Credits

Priority

ENGL110

English I: Reading and Composition

3

Required

ENGL120

English II: Reading and Composition

3

Required

ANTH102

Cultural Anthropology

3

Required

COMP110

Introduction to Computer

4

Required

NATS102

Environmental Science

3

Required

SOC110

Gender Studies

3

Required

POL101

Introduction to Political Science

3

Required

KHMR110

Khmer Studies

3

Required

Oriented Courses by Faculty Requirement

Couse Code

Course Title

Credits

Priority

COMP101

C Programming Language

3

Required

COMP102

Data Structure and Algorithm

3

Required

Subtotal

31

 

   

Year Two: Functional Skill Courses

Couse Code

Course Title

Credits

Priority

HFT201

Health Education and Fitness

3

Required

PSYC212

Personal Growth and Development

3

Required

COMP201

IT Technician

3

Required

MATH121

Calculus I

3

Required

MATH124

Discrete Mathematics for Computer Science

3

Required

COMP202

Introduction to Cloud Computing

3

Required

COMP203

Data Communication and Networking

3

Required

COMP204

Processing Programming Language

3

Required

COMP205

Object Oriented Programming

3

Required

Institutional Skill Courses

HIST230

History of Cambodia

3

Required

 Subtotal

30

 

 

Year Three: Basic Major Courses

Couse Code

Course Title

Credits

Priority

COMP301

Database Design

3

Required

COMP302

Multimedia and Web Design

3

Required

COMP303

Computer Network

3

Required

COMP304

Database Management System

3

Required

COMP305

Website Development and Application

3

Required

COMP306

Network System Administration

3

Required

COMP307

Computer Organization

3

Required

COMP308

Mobile Application Development

3

Required

 

Elective Courses

12

Required

Subtotal

36

 

 

Year Four: Major Courses

Couse Code

Course Title

Credits

Priority

COMP401

Software Architecture and Design

3

Required

COMP402

Database Application Development

3

Required

COMP403

Computer Network Security

3

Required

COMP405

Java Programming Language I

3

Required

COMP406

Java Programming Language II

3

Required

COMP407

E-Commerce Development

3

Required

COMP408

Research Methodology for Computer Science

3

Required

N/A

Elective courses

6

Required

                                                                                                          Subtotal

27

 

 

Graduation Path (3 credits)

Course code

Course title

Credits

Priority

COMP489

Senior Project or Exit Exam

3

Required

 

Subtotal

3

 

 

Total

127

 

List of Elective Courses

Elective courses are designed to give students an opportunity to deepen their knowledge on various sub-disciplines of computer science and information technology upon their interests, and as a pathway for them to pursue their graduate study in a more specific area. eleven electives courses are offered under this program, but students are required to take only 18 credits (equivalent to 6 courses) of elective course.

Couse Code

Course Title

Credits

Priority

COMP208

Introduction to Artificial Intelligent

3

Elective

COMP209

Network Operating System

3

Elective

COMP309

Data Warehouse

3

Elective

COMP310

Data Mining

3

Elective

COMP312

Microprocessor

3

Elective

COMP314

Network System Administration (Linux)

3

Elective

COMP409

System Analysis and Designs

3

Elective

COMP410

Management Information System

3

Elective

MATH122

Calculus II

3

Elective

MATH123

Calculus III (Multivariable Calculus)

3

Elective

STAT 385

Statistics for Science & Engineering

3

Elective

Course Description

ENGL110

English I:  Reading and Composition

This course, a foundation level of English as a foreign language course, is intended to guide students though models and writing practice, and to sharpen composition and analytical skills needed for good academic writing. Students will be guided through a variety of writing strategies and techniques with emphasis on sentence structure, including correct use of grammar, mechanics and sentence combining. Students will learn paragraph organization, and research and organization methods required for writing paragraph.

 

ENGL120

English II: Reading and Composition

The course, an intermediate level of English as a foreign language course, is intended to guide students through models and writing practice – particularly the essay, and to sharpen composition and analytical skills needed for good academic writing. Students will utilize a variety of writing strategies and techniques with emphasis on sentences structure, including correct use of grammar, mechanics and sentence combining. Students will learn paragraph organization, documentation and organization methods required for writing term papers.

 

ANTH102

Cultural Anthropology

This course is designed as part of the general studies of that any undergraduate student has to fulfill before going on for a specific major course. This course is designed to investigate the impact of culture on our everyday living and decision-making, both locally and globally. This course deals with basic concepts of the study of humans, past and present, with emphasis on their differing cultures. The course entails the students not only to learn conceptual information but also to apply it in problem solving, case studies and class debates.

 

COMP110

Introduction to Computer

This course is one of the general courses in the foundation year program required by PUC to familiarize student with the use of computer as an efficient tool in Information Technology for their study and work. It is designed to provide non-IT and IT students an overview of how Information Technology System has been developed the fundamental concepts and terminologies of Information Technology, knowledge of basic computer hardware and software, computer technology, information technology. Besides this, student will learn selective Microsoft Office for academic purpose.

 

NATS102

Introduction to Environmental Science

This is non-lab science course that is part of the general studies. Any undergraduate student has to complete it in order to go to their specific majors. This course examines the complex interaction between human being and their environment. Some fundamental concepts of environmental sciences are presented to students in order to make them environmentally aware about vital issues like conservation of natural resources, sustainable use of resources, environmental degradation, and rapid growth of human population coupled with technology causing major environmental problems. Emphasis is given to promote sustainable concepts and to enable students to make informed choices regarding their environment. This course is designed to make students understand theories and integrate them into practical applications through real world situation observations, consequentially allowing them to establish cause and effect relationship through impact assessment projects.

 

SOC110

Gender Studies

This course is the introduction to Gender Studies/Women’s Studies. Given the comprehensiveness and diversity of the overall subject area, this course will provide an introduction to and critical engagement with several specific areas of inquiry that make up Gender Studies/Women’s Studies.

 

POL101

Introduction to Political Science

This course has been designed to give students general knowledge in politics and a basic introduction to the academic discipline known as        political science. The instructor has decided to take a very quick approach to the topic: the material covered in the class will be very broad but not very deep in the hope that it will create an understanding of the most basic issues of political science. This course is also intended to demonstrate some of the reasons why people study political science outside the classroom and help the students understand their society better. 

 

KHMR110

Khmer Studies

Khmer studies enable students to learn about the origins of cultures and civilization of each race, which had settled on our land, and to acquire   Austro-Asian culture that is the primitive Khmer culture before the arrival of foreign cultures. Likewise, we can learn about the evaluation of Khmer culture from one era to another such as Pre-history, Norkor Phnom (Funan) era, Chenla era, Angkor era, Post-Angkor as well as present society. Moreover, Khmer studies also focuses on the early beliefs, superstitions, and religions in which Khmer believed and practiced in various historical ages. Also, Khmer Studies is about arts, languages, literature, customs, traditions and creativities of the Khmer people. In addition, Khmer Studies enables student to be well aware of the Khmer cultural values and civilization. Consequently, students will love, nurture and defend their country, races, culture, and civilization and national identities in order to benefit Cambodia people as a whole.

 

COMP101

C Programming Language

In this course, the students will learn the basic components and structure of a C program learn to define variables, and use operators and operands to create C expressions and statements to support data structure and algorithm in the purpose of guiding student to upper level of programming. This course is focus on a very basic programming without using system functions such sort array etc.

 

COMP102

Data Structure and Algorithms

This course provides skills in algorithmic problem solving for computer programmer. The course includes algorithms and data structures, especially for searching and sorting of large data sets and graphical problems. Queues, stacks, lists, priority queues, trees and search trees, graphs, sets, and tables and recurrence equations, efficiency analysis and upper limits Analysis of asymptotic time and memory complexity for algorithms.

Pre-requisite: COMP101

                          

HFT201

Health Education and Fitness

Health Education course will introduce students to basic knowledge on health education, health behavior, reproductive health, tropical diseases, sexual transmitted diseases, chronic disease, alcohol, tobacco, and domestic violence will be imparted. With this knowledge, students will have opportunity to explore the concept of health education/health promotion and health determinant factors affecting to public health.

 

PSYC212

Personal Growth and Development

Personal growth and development is part of the general studies required     by PUC for the entire undergraduate program. Student in their third term must take this course. This course is designed to teach disciplinary, good behaviors, positive attitude, self-respect and self-confidence at the university as well as in the society. It will also teach study skills and time management for success in college as well as in life. Buddhist as well as western philosophy and thoughts are essential part of this course. Students can learn how to value life, develop virtues, molding themselves after great heroes. The way to obtain the “positive mental attitude” is taught through this course.

 

COMP201

IT Technician

This course will cover computer hardware, operating systems, troubleshooting techniques, and most importantly, professional customer service. This course also provides students to be Technician support specialist and IT support technician who responsible for installing and configuring computer hardware and diagnose, repair and maintain hardware and software.

Pre-requisite: COMP110

MATH121

Calculus 1

Involves a study of limits, continuity, derivatives and integrals; computations of derivatives—sum, product, and quotient formulas, chain rule, implicit differentiation, applications of derivatives to optimization problems and related rate problems; mean-value theorem; definite integrals and fundamental theorem of calculus; application of definite integrals to computations of areas (length, surface) and volumes.

 

MATH 124

Discrete Mathematics for Computer Science

This course covers elementary discrete mathematics for computer science and engineering. It emphasizes mathematical definitions and proofs as well as applicable methods. Topics include formal logic notation, proof methods; induction, well-ordering; sets, relations; elementary graph theory; integer congruencies; asymptotic notation and growth of functions; permutations and combinations, and counting principles.

 

COMP 202

Introduction to Cloud Computing

This course will provide student a series of current cloud computing technologies, including technologies for Software as a Service, Platform as a Service, Infrastructure as a Service, Virtualization, and cloud-based business model. For different types of the cloud technologies, practical solutions such as Google, Amazon, Microsoft, SalesForce.com, etc. solutions as well as theoretical solutions are introduced. A numbers of case studies will be provided and most of the course will be covered by the student presentations.

 

COMP 203

Data Communication and Networking

This course teaches the design and implementation techniques essential for engineering robust networks. Topics include networking principles, Transmission Control Protocol/Internet Protocol, naming and addressing (Domain Name System), data encoding/decoding techniques, link layer protocols, routing protocols, transport layer services, congestion control, quality of service, network services, Software Defined Networks (SDNs), programmable routers and overlay networks, wireless and mobile networking, security in computer networks, multimedia networking, and network management.

 

COMP204

Processing Programming Language

This course covers a flexible sketch software and a language for learning how to code within the context of the image processing. There are tens of thousands of students, artists, designers, researchers, and hobbyists who use Processing for learning and prototyping.

 

COMP205

Object Oriented Programming

This course teaches object oriented programming to those who have learnt basic programming concepts and are ready to learn in-depth programming language. It focuses on object-oriented programming using Visual Studio, Java or other computer programming languages. The main concepts discussed in this course such as Objects, Data Abstraction, Data Encapsulation, Polymorphism, and Inheritance. Students are also will be introduce the Classes, Overloaded Operators, Overridden Methods, Friend Functions, Virtual Functions, and Templates, etc.

 

HIST230

History of Cambodia

This is a social science course that students have to fulfill before going on to their specific major courses. It discusses civil wars and their consequences, especially, the post dark period of the years 1975-1979 in Cambodia. There will also be discussions of renovation and reform after the year 1993. Changes in Khmer culture, society, and economics will be discussed based on personal and general opinions as well as public media. Political structure, foreign policy, gender issues, human rights, rural development, and education will be examined. In addition, this course includes the community-learning programs that provide chances for students to work and provide community services. This project is for students to understand and learn about community, its historical concept and its needs.

 

COMP301

Database Design

Introduction to Database is designed to provide students with fundamental principles and concepts of database systems that store and structure an organization’s data, and drive its business functions. Students will learn to analyze business data and perform data modeling and normalization to design an effective database, using relevant theories and concepts of relational database systems.

COMP302

Multimedia and Web Design

Multimedia and Web Design course introduces students to basic web design using HTML (Hypertext Markup Language) and CSS (Cascading Style Sheets). The course does not require any prior knowledge of HTML or web design. Throughout the course students are introduced to planning and designing effective web pages, implementing web pages by writing HTML and CSS code, (Cascading Style Sheets), Bootstrap and JavaScript, jQuery and/or Ajax. Throughout the course students are introduced to planning and designing effective web pages; implementing web pages by writing enhancing web pages with the use of difference design techniques (page layout techniques, text formatting, graphics, images and multimedia) and producing a functional multi-page website.

 

COMP303

Computer Network

This course will cover the theory, design, engineering, and installation of networks to connect digital computers. It will prepare students to plan and implement a network. Also includes peer-to-peer networks, the client-server model, network operating systems, and an introduction to wide-area networks. The network and implementation tools may vary to meet current development trends.

Pre-requisite: COMP204

COMP304

Database Management System

This course enables students to install and use Microsoft's SQL Server or Oracle. It will cover database security, backup and recovery, database management, jobs and automation, monitor, and the basic of performance monitoring for database administrators.

Pre-requisite: COMP301

COMP305

Website Development and Application

Web Development and Application course equips students with resources for design, production, and evaluation of web applications and strategies for locating these resources. Students gain hands-on experience in web application production, including: client-side markup and programming, server-side programming for data processing, code versioning, accessing web services, and related authentication techniques. It is designed to takes you through the web framework’s Model-View-Controller (MVC) design mode/other models that can help to product the best outcome with this new framework for building web applications.

Pre-requisite: COMP302

COMP306

Network System Administration

This course provides the knowledge and practical skills necessary to design, build, monitor, maintain and administrator Windows server infrastructure. It focuses on configuring, troubleshooting and managing name resolution, user & group management, Active Directory Domain Service (AD DS), Group Policy, Servers Replication, and Backup.

Pre-requisite: COMP204

COMP307

Computer Organization

Computer Organization emphasizes the organization and operation of computer systems at the assembly language level. Covers mapping of statements and constructs in a high-level language onto sequences of machine instructions, as well as the internal representation of simple data types and structures. Offers programming practice with an assembly language to provide practical application of concepts presented in class.

Pre-requisite: COMP110

COMP308

Mobile Application Development

Mobile computing devices have become ubiquitous in our communities. In this course, we focus on the creation of mobile solutions for various modern platforms, including major mobile operating systems. Topics include mobile device architecture, programming languages, software engineering, user interface design, and app distribution.

Pre-requisite: COMP302

COMP401

Software Architecture and Design

Course for students in Computer Science and Computer and Information Technologies programs or having strong interest in computer programming; this course will instruct students in current software engineering theory and practice. Students will be required to complete a challenging term project, including individual and team work.

Pre-requisite: COMP206

COMP402

Database Application Development

Application Development is a course designed to provide student an ability to develop the desktop application for database management system in an organization and/or institution. This course will provide experiences to be ready for real job market before they graduate. Application development course in PUC is a tool for business process and requirement based on computer information system.

Pre-requisite: COMP206

COMP403

Computer Network Security

This course aims to build an understanding of Security Layers, Operating System Security, Network Security, Cyber Security, and other Security Software. This course will also provide students with the knowledge and skills to envision, design, and deploy web access, remote access and Email protection solutions using Microsoft or Open Source software as a tool, enabling them to identify the requirements and make the appropriate design decisions that will come up during the deployment process, and providing hands-on experience.

Pre-requisite: COMP306

COMP405

Java Programming Language I

This course guides to developing applications using the Java programming language. Java is popular among professional programmers because it can be used to build visually interesting graphical user interface (GUI) and Web based applications. This course will motivate students to learn programming skills while building a cornerstone for a Computer Science curriculum.

COMP406

Java Programming Language II

This course will cover the classes/objects, methods, console and file input/output, exceptions, and the concepts of inheritance, encapsulation, and polymorphism. Students also learn about the development of graphical user interfaces (GUIs) in Java, including the use of layout managers and design/installation of event listener objects. At the end of the course, student will be advanced in the input/output streams, multi-threading/synchronization, internet networking, and database connectivity. At the conclusion of the course, the student will be expected to complete a project involving the design of a fairly complex Java program that consists of a GUI and utilizes at least two of the advanced programming areas.

Pre-requisite: COMP405

COMP407

E-Commerce Development

This course introduces the business concept of a B2B E-Commerce Web Application. It describes several steps of business logics and planning that are required for an E-Commerce. The technology that will be used for designing this Web Site is Single Page Application with AngularJS. This application will be using Web API as its back bone for Data Management. At the end of the term, students should have a working E-Commerce project ready for hosting.

Pre-requisite: COMP305

COMP408

Research Methodology for Computer Science

Research Methodology for Computer Science introduces students to the systematic investigation that attempts to establish facts on a scientific basis. The investigation involves discovery, interpretation, development, and execution of methods that are generic in nature, yet highly applicable to research in computing and information systems. Topics covered include review of a published article, literature review, identifying a research problem, sampling, measurement, reliability, validity, data collection, statistics, mining, simulation, optimization, graphical modeling, research ethics, survey research, correlational research, experimental research, research methods specific to information sciences, action research, research management, and qualitative research.

COMP206

Introduction to Artificial Intelligent

In this course you will learn what Artificial Intelligence (AI) is, explore use cases and applications of AI, understand AI concepts and terms like machine learning, deep learning and neural networks. You will be exposed to various issues and concerns surrounding AI such as ethics and bias, & jobs, and get advice from experts about learning and starting a career in AI. You will also demonstrate AI in action with a mini project. This course does not require any programming or computer science expertise and is designed to introduce the basics of AI to anyone whether you have a technical background or not.

COMP 207

Network Operating System

This course introduces foundation knowledge of network systems and Windows server environment. It describes major server roles, features, and storage as network services and how to configure and install those services. Some of the major server roles, software deployment, virtualization, and securing windows server are the main concentration in this course. Students are required to present selected server roles with demonstration as their final project. This course requires Computer Lab, Server & Network Hardware, Microsoft Windows Server 2012 or later and Windows 7 or later.

Pre-requisite: COMP110

COMP309

Data Warehouse

A Data Warehouse Analyst works with computer systems to improve data quality. Their findings help make business decisions, usually involving implementations of solutions. The analyst acts as a liaison between IT and business departments to coordinate plans to meet project requirements.

Pre-requisite: COMP304

COMP310

Data Mining

Data Mining studies algorithms and computational paradigms that allow computers to find patterns and regularities in databases, perform prediction and forecasting, and generally improve their performance through interaction with data. It is currently regarded as the key element of a more general process called Knowledge Discovery that deals with extracting useful knowledge from raw data. The knowledge discovery process includes data selection, cleaning, coding, using different statistical and machine learning techniques, and visualization of the generated structures.

Pre-requisite: COMP309

COMP311

Microprocessor

This course introduces student a microprocessor based personal computer system. Programmer’s model for 8086. Segmented memory operation. Instruction set of 8086. Addressing modes supported by 8086 instruction set. Assembly language programming. Programming with DOS and BIOS function calls.

Pre-requisite: COMP110

COMP312

Network System Administration (Linux)

This course provides the knowledge and practical skills necessary to design, build, monitor, maintain and administrator Linux server infrastructure. It focuses on configuring, troubleshooting and managing name resolution, user & group management, Active Directory Domain Service (AD DS), Group Policy, Servers Replication, and Backup.

Pre-requisite: COMP306

COMP 409

System Analysis and Designs

This course covers the information gathering for defining system requirements, data modeling with entity-relationship diagrams, process modeling with data flow diagrams or use cases, data dictionaries, and prototyping. The course will also present current topics, such as agile development, extreme programming, rapid application development (RAD), Scrum and the Unified Modeling Language (UML).  This course will provide hands-on practice with project management and systems development through exercises in PERT/CPM, user requirements gathering, data and process modeling, and prototyping

Pre-requisite: COMP304, COMP306, COMP402

COMP410

Management Information System

Management Information Systems explores the use of information systems in today's organizations. This is an exciting field because of the degree of change occurring in technology and how that translates into new opportunities for management and business process. Knowledge about information systems is essential for creating successful, competitive firms, for managing global corporations, for adding business value, and for providing useful products and services to customers.

MATH122

Calculus II

Calculus II is a continuation of Calculus I, covering integration and infinite series. It is designed for students working on a degree in science, mathematics, computer science, and those planning on certain types of graduate work. Others are welcome. The prerequisite is MATH121 (Calculus I) or its equivalent.

Pre-requisite: MATH121

MATH123

Calculus III (Multivariable Calculus)

Math 123 is the third and the final part of our standard three-semester calculus sequence. The distinct feature of this part of the course is its focus on the multi-dimensional analysis, as opposed to one-dimensional analysis that you learned in Math 121 (Calculus I) and Math 122 (Calculus II). The ideas of the vector calculus apply to numerous areas of human knowledge such as engineering, physics, mathematics, biology, and many others.

Pre-requisite: MATH122

STAT385

Statistics for Science & Engineering

Statistics for Science & Engineering is an advanced course in statistics. This course will cover the topics: probability, random variables and probability distributions, sampling distributions, Test of hypothesis, simple linear regression and correlation, multiple linear regression, one factor experiments, factorial experiments and nonparametric statistics. It guides student how to collect, summarize and interpret data, in numerical and figure form, and to draw conclusions which would assist in decision-making in management and production on the constraint resources such as time, budget and facilities.

Pre-requisite: STAT201

 

COMP 489

Senior Project or Exit Exam

To fulfill the requirement for the Bachelor of Science in Computer Science degree, students are required to carry out the senior project research(option 1) or pass exit exam(option 2) during the final term of their study. The senior project allows students to develop research skills which are transferable to various areas; therefore, allow students to adapt to a broad job market and open a path way to further graduate study. While senior project is recommended for all students, exit exam is an alternative option for students who are not willing to carry out research projects due to time constraints.

 

 

Type:              

Higher Education

Faculty:          

Sciences and Engineering

Department:   

Technology and Innovation

Degree:           

Bachelor of Science

Major:             

Computer Science

Duration:        

4 years