Course Description
Database Design and Applications
The aim of this course is to provide professionals in the Information Technology (IT) industry with an advanced level of study in database design and applications that is current, relevant and integrated to industry certifications in the field. The course will give the overview to the fundamentals of database systems, the principles of database management systems and emphasizes how they are used in developing data‐intensive applications. The course will also include unstructured databases (XML databases) where XML is the de facto standard format for data storage and transmission on web. Data mining and Information Retrieval will be included into the course in order to introduce the technologies required by current needed of data analysis and information retrieval.
Software Engineering
This course introduces the fundamental principles of software engineering. It also aims to increase an understanding of the software processing models; concepts of user and system requirements; functional and non-functional requirements; software quality metrics; testing concepts and testing process; Black-box and White-box testing; software metric; object-oriented design; function-oriented design; real-time systems design and user interface design; advantages and disadvantages of global software development; maintenance costs and cost estimation; measuring program maintainability; organizing, planning and scheduling software projects; tools, techniques, and sources of information about computer and human interaction and provides a systematic approach to design; formal method and software development. And in practice, using the Rational Rose software to design the various UML diagrams.
The potential topics that will be covered in this course include:
- Software engineering processes
- Requirements engineering;
- Software quality (including testing)
- Software design
- Global software development
- Software maintenance and evolution
- Project management
- Computer and Human Interaction
- Formal methods and software development
- UML.
Students should have at least basic knowledge of diagrams, computer science and object-oriented programming.
Advanced Network Computing
This course is intended to provide students more deep insight and understanding on networking technologies. It will be started with the thorough discussions about networking bases at various layers of ISO model. It will also cover a wide range of latest technologies in mobile and wireless communication with the introduction to various projects such as E-Health and E-Education systems, which were implemented in the past 3 years in different countries, including Cambodia. Project given in class will prepare students for careers either in research or professional area.
The potential topics that will be covered in this course include:
- Computer Network and Internet Trend
- Application Layer
- Transport Layer
- Network Layer
- Link Layer and Local Area Network
- Wireless and Mobile Network
- Multimedia Networking
- Network Security
- Network Management
Students should have the basic knowledge of computer network, protocol layers, and data communications.
Distributed Systems
The objective of this course is to introduce the principle and characteristic of distributed system. The course also provides the introduction of 7 components of distributed system namely known as Processes, Communication, Naming, Synchronization, Consistency and Replication, Fault Tolerance, and Security. In addition to the principal of distributed system, the course discusses the some topics in computer distributed system such as Peer-to-Peer, Ad Hoc and Sensor Network, Virtualization, Server Cluster, Grid computing, and Cloud computing. To extend and help students understanding, various aspects of real-life system as well as programming paradigm for distributed system will be also clarified. Those paradigm technologies are not limited to JINI, RMI, EJB, CORBA, etc.
The potential topics that will be covered in this course include:- Introduction to Distributed System
- Classification of Distributed System
- Architecture of Distributed System
- The seven components
- Examples of Distributed System based on the seven components
- Remote Procedure Call
- Practice Advance Distributed Programming in Java (RMI, JINI, EJB, CORBA …)
- Peer-to-Peer
- Ad Hoc and Sensor Network
- Virtualization and Cluster
- Grid and Cloud Computing
Students should have at least basic knowledge of computer science and Java programming language.
Mobile Communication and Computing
This course aims at providing students with an understanding of mobile communications and related areas. It gives an introduction to the basic applications of mobile communications as well as to the technical problems inherent in the communication paradigm. The course covers the introduction to different kind of mobile communications, radio spectrum regulation, analog and digital signal processing, propagation channels, multiple access techniques, frequency management and channel assignment, hand-offs and dropped calls, switching and traffic system evaluations. Special emphasis would be on wireless local area network (WLAN) and wireless metropolitan area network (WMAN).
The potential topics that will be covered in this course include:
- Introduction to mobile communications
- Radio spectrum regulation
- Wireless propagation channels
- Modulation and demodulation techniques
- Multiple access techniques; FDMA, TDMA, CDMA
- Standardized wireless systems; GSM, WCDMA/UMTS
- IP for 3G and 4G
- IEEE 802.11 WLAN networks, IEEE 802.16 WMAN
Network Security
Network security is one of the most important aspects of computing. If computers were not part of daily lives and are not connected via the information grid either local area network (LAN), wide area network (WAN), or to the world-wide-web (WWW), then security would be almost a non-existence subject. But since the demand of information is ported to handhelds and through mediums that are entering the market almost daily in blazing speed, as managers and leaders of organizations, it is most imperative to understand how to secure this asset. This course will attempt to educate and makes one aware of the different methodologies in information security, but not limited to network security.
The ten domains of security includes the following:
- Access Control System and Methodology
- Applications and Systems Development Security
- Business Continuity Planning and Disaster Recovery Planning
- Cryptography
- Law, Investigation, and Ethics
- Operations Security
- Physical Security
- Security Models and Architecture
- Security Management Practices
- Telecommunications and Network Security
Probability, and Random Processes for Engineering
This course is to provide a theories of probability and random process through a series of practical applications with MATLAB. The topics will also cover the basic concept of probability, conditional probability, discrete random variables, multiple discrete random variables, continuous random variables, probability distribution, point estimator and confidence interval estimator, random processes, wide sense stationary random processes, Poisson processes, Gaussian random processes and some applications.
The topic will be included the following:
- Introduction
- Basic Probability
- Conditional Probability
- Discrete Random Variables
- Multiple Discrete Random Variables
- Continuous Random Variables
- Estimation
- Poisson Random Processes
- Gaussian Random Processes
This course will cover probability, and random processes. Examples relating to engineering will be used to illustrate the concepts. This course is required for engineering major and gives the student:
- An ability to design and conduct experiments, as well as analyze and interpret data
- An ability to formulate, and solve engineering problems
- An ability to use the techniques, and modern engineering tools necessary for engineering practice.
Advance Java Programing
The objective of this course is to guide the students to know more about Java Programming and tools as well as some working tools that used in the software enterprise. The quality of writing code and its convention also including within the course in order to show the student how to write a good code with the quality acceptance by software company. Several java MVC framework are introduced within the course to let the students to create the Java applications with the time gaining and make the application more robust. During the course, the student will learn how to combine together the tools, framework, database and build a complete application as in the real working environment. As described from the begging, several working tools will be suggested to the students in order to work as the team and have a team spirit. After the course, the student will know to use the tools and build the Java application both desktop and web application.
- Java &Working Environment Tools (Eclipse &Bugzilla ...)
- Java OOP and Java Basic Review
- Java IO
- Java XML
- JDBC (Java database)
- Java Code Convention (How to write a good quality code)
- J2EE Concept
- Strut Framework
- Spring Framework
- Hibernate Framework
- Using eclipse to build all
Research Methodology
This course builds the knowledge and skills students need to solve problems and meet the challenges of a fast-paced decision-making environment. Students learn about research methodologies; defining designs; different measurement and scaling techniques; methods of collecting, processing, analyzing and interpreting data; and report writing. Students are also trained to use statistical software packages such as SPSS as a tool to assist in data collection, research and analysis.
Computer Graphics
Computer Human Interaction
This course teaches students to design successful user interfaces. Students gain an understanding of the overall user interface design processes and learn how to develop user scenarios, user object models, navigational models, and exploratory views of user interfaces using low-fidelity prototyping techniques. By the end of this course, students will have developed a set of user scenarios, a user project prototype for a small software application or Web application.
Artificial Intelligent
This course introduces the core ideas in Artificial Intelligence including automated problem solving by searching, logic and deduction, reasoning system, knowledge representation, fuzzy logic, planning, machine learning and language understanding. The course will contain an overview of AI languages (LISP and Prolog) and some discussion of important applications of artificial intelligence methodology.
Information Retrievals
The aim of this course is to provide students with an advanced level of study in classical and web information retrieval, including web search and the related areas of text classification and text clustering. It gives an up-to-date treatment of all aspects of the design and implementation of systems for gathering, indexing, and searching documents and of methods for evaluating systems, along with an introduction to the use of machine learning methods on text collections. Designed as the primary course for a graduate or advanced undergraduate course in information retrieval, the course assumes students have attended introductory courses in data structures and algorithms, linear algebra, and probability theory.
The potential topics that will be covered in this course include:
- Boolean retrieval
- The term vocabulary and postings lists
- Dictionaries and tolerant retrieval
- Index construction
- Index compression
- Scoring, term weighting, and the vector space model
- Computing score in a complete search system
- Evaluation in information retrieval
- Relevance feedback and query expansion
- XML Retrieval
- Probabilistic information retrieval
- Language models for information retrieval
- Text classification
- Vector space classification
- Support vector machines on documents
- Flat clustering
- Hierarchical clustering
- Web search basics
- Web crawling and indexes
- Link analysis
Contact Info
Program Director:
- Name: Mr. Srun Sovila
- Email: srun.sovila@rupp.edu.kh
- Tel: (+855) 12 894-325, 096 6894-325
- Room #103, STEM Building, Campus I
Scholarship
For students who are looking for a scholarship, RUPP provides a number of sources of scholarships. read more...