Faculty of Computer Science (FCS)


Dr. Aye Mon Yi
Head of FCS
Daw Hnin Thuzar Aye
Associate Professor
Daw Sint Sint Shein
Dr. Soe Lai Phyue
Daw Lett Yi Kyaw

U Myo Myint Oo
Assistant Lecturer
Daw Moe Kalayar Naing
Assistant Lecturer
Daw Thinzar Tun
Assistant Lecturer

Offer Subjects

Subject Code Field of Study
CST-201 Java Programming
CST-203 Digital Fundamentals II and Advanced Data Structure
CST-301Computer Organization and Assembly, Operating System
CS-306Advanced Programming Techniques
CS-403 Analysis of Algorithms and Operating System
CT-401 Artificial Intelligence, Database Management System
CST-502 Distributed Computing System and Advanced Networking
CS-504 Advanced Artificial Intelligence
Computing Applied Algorithms
Computer Vision & Interactive Computer Graphics
Paper I Introduction to Computer Fundamental, System, Programming in C++, Structure
Operating System Concept, Programming in Java, Artificial Intelligence, Programming Language in Concepts
Paper IV Web Programming in PHP, C# Programming in Microsoft Platform

  Course Description

Second Semester

CST- 201 (Advanced Java Programming)


Course code number CST-201 Second Semester Course Title Advanced Java Programming
Semester   hours      
Prerequisite Basic Java Programming, Database Concept   Daw Myat Thuzar Soe, Assistant Lecture, Faculty of Computer Science

Course Aims

  • To explain how to develop client-server programs in java.
  • To learn and develop distributed Java applications using Remote Method Invocation (RMI)
  • To know and fundamentals of Java Web application development features, such as the Java Servlet, Java Server Page, and Java Standard Tag Library (JSTL)
  • To develop a dynamic wen application by the use of servlet, JSTL, JSP and database technology
  • To be able to develop a small web project independently.

          Course Outcomes:

                   The outline of the course covers the following topics:

  • Networking Basics & Java Networking using Sockets
  • Understanding RMI
  • Web-based architecture
  • Java Server Page (JSP) technology
  • Java Servlet technology
  • Java Standard Tag Library (JSTL) technology
  • JDBC and Database Programming

Learning Outcomes:

           After the completion of this course, the students will be able

  • to recognize and understand both the elements and characterizing of client-server architecture in java programming
  • to know the architecture of RMI, understand how to serialize an object, create and implement the class that can be used to create remote server objects
  • to know how to design and build a web application using Servlet, JSP, JSTL
  • to know how to interact with database and how to plan  web development
  • to gain the skills and project-based experience needed for entry into web application

Exam Assessment:

                       Paper Exam                             50%

                       Assignment                             10%

                       Quiz                                        5%

                       Tutorial                                    10%

                       Practical                                  5%

                       Attendances                            5%

                       Project                                     15%

CS -201 (Principle of Computer Science I)

Course Title: Principle of Computer Science I

Course Objectives

The objective of this class is to expose the student to procedural programming using C++ and to

increase the depth of students’ knowledge about several implementation issues. Knowing C++ will be useful in the students’ jobs in IT organizations as developers or managers because it will enable them to code efficiently, communicate effectively with colleagues and understand and improve software development practices in their organizations.

Course Description

This course teaches the student to apply fundamental procedural programming concepts to the

programming language C++. Programming principles and constructs, such as data types, common control flow structures, basic data structures, and console and file input/output will be presented.

Learning Outcomes

At the end of the course, a student completing this course will be able to:

• Apply elementary techniques involving arithmetic operators and mathematical expressions in C++ programming

• Choose an appropriate data type to represent data

• Write C++ programs that use selection (if, switch, conditional operator)

• Write C++ programs that use loops (while, do while, for)

• Write C++ programs that use sequential files for input and output

• Write C++ programs that make use of functions for transfer of control

• Write C++ programs that use arrays, including sorting and searching arrays

• Write C++ programs that use pointers

• Solve programming problems using C++

Text Books:

1. Object-Oriented Programming in C++ (Fourth Edition) by Robert Lafore

Reference Books :

[1] “Computer Programming and Techniques”, University of Computer Studies Yangon. (Old


[2] C Programming for Engineering & Computer Science by H.H. Tan and T.B. D’Orazio

[3] C++ Language Tutorial (e-book)

Course Organization

Student participation in this course will involve the following activities:

1. Attending the lectures

2. Practical / Assignments

3. Test

4. Quiz

5. Project

Assessment Plan for the Course

Paper Exam  – 50 %

Assignment  – 10 %

Test / Quiz – 15 %

Practical / Attendances – 10 %

Project – 15%

CST-203 : Advanced Data Structure

Second Semester Text Book:Data Structures & Algorithms in Java (2nd Edition) by Robert Lafore

Course Description

This course covers techniques for the data structure and algorithm with java. Topics include: Bubble Sort, Selection Sort, Insertion Sort, Recursion, Binary Trees, Hash Tables, Heaps, Graphs.

Course Aim

The aim of this course:

-To understand algorithms and its analysis procedure.

– To design and implement various data structure algorithms.

– To introduce various techniques for representation of the data in the real world.

– To develop application using data structure algorithms.

-To compute the complexity of various algorithms

Learning Outcomes

Student will be able to 

-Select appropriate data structures as applied to specified problem definition.

-Implement operations like searching, insertion, and deletion, traversing mechanism etc. on various data structures.

-Implement appropriate sorting/searching technique for given problem.  Determine and analyze the complexity of given algorithms.


 1. Data Structures and Algorithms Analysis in Java (Third Edition) by Mark Allen Weiss (E-book)

2. Object-Oriented Data Structures using Java by Nell Dale, Daniel T. Joyce, Chip Weems

Course Organization

Student participation in the course will involve the following activities:

1. Attending the lectures

2. Tutorial

3. Assignment

4. Practical assignments

5. Exams

Assessment plan for the course

1. Paper Exam  60%

 2. Attendances 10%

3. Tutorial  10%

4. Assignment 10%

5. Practical assignments 10%

Period: 60 Periods (Lecture-44periods + Lab-16periods) for 15weeks (50 minutes for 1 period)

No. Chapter Page Periods Detail Lecture Plan
  Chapter 3Simple Sorting 77 to 111 8  
1 How Would You Do It? Bubble Sort     Bubble Sort on the Baseball Players     The Bubble Sort Workshop Applet     Java Code for a Bubble Sort     Efficiency of the Bubble Sort   78- 88 2 Detail Explain
2 Selection Sort     Selection Sort on the Baseball Players     The Selection Sort Workshop Applet     Java Code for a Selection Sort     Efficiency of the Selection Sort   89-95 2 Detail Explain
3 Insertion Sort     Insertion Sort on the Baseball Players     The InsertionSort Workshop Applet     Java Code for a Insertion Sort     Efficiency of the Insertion Sort Comparing the Simple Sorts   95-103       108   1 Detail Explain
4 Lab examples and exercises    2  
5  Questions Chapter Review   109-111 1 1 to 15
  Chapter 6 Recursion 251 to 311 12  
6 Triangular Numbers Finding the nth Term Using a Loop Finding the nth Term Using Recursion   251-252 252-253  253-255   1   Brief Explain   Detail Explain
7 The triangle.java Program What’s Really Happening?   255-259 1 Detail Explain
8 Characteristics of Recursive Methods Is Recursion Efficient? Mathematical Induction Factorials 259-260     260-262 1 Detail Explain
9 A Recursive Binary Search Divide-and-Conquer Algorithms 268-269 272-273 1 Detail Explain
10 Mergesort Merging Two Sorted Arrays 279-282 2 Detail Explain
11 The MergeSort Workshop Applet The mergeSort.java Program Efficiency of the Mergesort Eliminating Recursion 285-287 287-294   294 1 Trace the program Brief Explain
12 Lab examples and exercises   2  
13 Questions Chapter Review 310-311 1 1 to 6, 9, 11 to 15
14 Tutorial   1  
15 Assignment   1  
  Chapter 8 Binary Trees 366 to 424 16  
16 Why Use Binary Trees? What Is a Tree? Tree Terminology 366-370 1  Detail Explain
17 How Do Binary Search Trees work? Representing the Tree in Java Code 371-376 1  Detail Explain
18 Finding a Node Java Code for Finding a Node Inserting a Node Java Code for Inserting a Node 376-381 2  Detail Explain
19 Traversing the Tree Inorder Traversal Java Code for Traversing Traversing a Three-Node Tree Traversing with the Workshop Applet Preorder and Postorder Traversals 381-388 3 Explain the codes for Preorder and Postorder Traversals
20 Finding Maximum and Minimum Values Deleting a Node The efficiency of Binary Trees   388-389 389-401 401-403   4 Detail Explain. For delete case, mainly explain delete operation with figures rather than Java Codes
21 Trees Represented as Arrays 403-404 1 Detail Explain
22 Lab examples and exercises   3  
23 Questions Chapter Review 423-424 1  2 to 13
  Chapter  11 Hash Tables 519 to 577 12  
24 Hash table Introduction to Hashing A Dictionary Hashing Collisions Clustering Quadratic Probing  Double Hashing 519-552 3 Brief Explain
25 Separate Chaining Hash Functions Folding   552-566 3 Brief Explain
26 Hashing Efficiency 566-571 1 Brief Explain
27 Lab examples and exercises    2  
28 Questions Chapter Review 575-576 1 1 to 15
29 Tutorial   1  
30 Assignment   1  
  Chapter  12 Heaps 579 to 613 7  
31 Introduction to Heaps 580-582 1 Detail Explain
32 Removal Insertion 583-585 2 Detail Explain
33 Heap Sort The Efficiency of Heapsort   601-609  610 1  
34 Lab examples and exercises   2  
35 Questions Chapter Review 611-612   1  1 to 10
  Chapter  13 Graphs 615 to 668 5  
36 Introduction to Graphs Definitions 615-618 1 Detail Explain
37 Representing a Graph in a Program 619-621 1 Detail Explain
38 Depth-First Search 625-626 1 Detail Explain
39 Breadth-First Search 636-637 1 Detail Explain
40 Tutorial   1  

CST-301  :Operating Systems

Text books           :Operating  Systems  Internals and Design Principles(7th Edition) by William Stallings

Course code number CST-301 First Semester Course Title Operating Systems
Semester Hours 3 Hours No of Credit Units 3
      Daw Sint Sint Shein

Course Descriptions

The course aims to explore the importance of the operating system and its function. The different techniques used by the operating system to achieve its goals as resource manager. Topics include: Operating System overview, Process Description and Control, Threads, Uniprocessor scheduling and File Management.

Course Aims

-To introduce basic concepts of Operating System, its functions and services

-To learn the mechanisms of OS to handle process and threads and their communication

-To understand the scheduling technique use in OS and access the performance of difference scheduling policies

Learning outcomes

-Understand the structure of Operating Systems and basic architectural components involved in OS

-Understand how to manage files, memory, I/O, processes and threads

-Understand the various scheduling polices and evaluate their performance

Assessment plan for the course

1. Paper Exam     -60%

2. Tutorial            -10%

3. Assignment      -10%

4. Attendances     -10%

5. Discussion/Quiz         -10%

CS – 306 Professional Ethics in IT

Course Code Number CS – 306 Second Semester Course Title Professional Ethics in IT
Semester Hour   4 Hours No. of Credit Units 3
Prerequisite   None Course Coordinator Dr. Nwe Ni Aung

Course Aims:

            Ethics in Information Technology addresses the different aspects of ethics in Information Technology and describes the techniques to avoid of practical business information for business managers and IT professionals. We also discuss Ethics for IT workers and IT users, Computer and Internet Crimes, Privacy, Intellectual Property and the varying degrees of ownership protections.

Learning Outcomes

            Students can learn to understand the critical importance of ethics as it applies to IT and to make the ethical decisions based on the technical survey and sense of ethics.

Course Contents

  • An Overview of Ethics provides an introduction to ethics, ethics in business and the relevance of discussing ethics in IT.
  • Ethics for IT workers and IT users emphasizes the significance of IT professional organizations and their codes of ethics and also discusses the roles that certification and licensing can play in legitimizing professional standards.
  • Privacy explains how the use of IT affects privacy rights and discusses several key pieces of legislation, and law designed to protect personal information, health data and Electronic Surveillance.
  • Intellectual Property explains the various degrees of ownership protection offered by Copyright, Patents, Trade Secrets, and key Intellectual Property issues such as plagiarism, reverse engineering of software, open source code, competitive intelligence gathering and cyber-squatting.

Reference Materials:

Ethics in Information Technology, George W. Reynolds, Fifth Edition

Exam Assessments

Assessments evaluation will be

  1. Assignment                                                     – 10%
  2. Class participation                                           – 20%
  3. Quizz/Moodle                                                 – 10%
  4. Group presentation                                         – 30%
  5. Evaluation Report (or) Term paper Report     – 30%

CS – 403: Operating Systems

Text Books: Operating Systems Internals and Design Principles (7th Edition) By William Stalling

Course Code Number CS – 403 Second Semester Course Title Operating Systems
Semester Hours            4 Hours No of Credit Units 3
Prerequisite   CST – 301 Course Coordinator Dr. Nwe Ni Aung

Course Description

            This course describes the concepts, structure and mechanisms of operating systems. The purpose of this course is to present as clearly and completely as possible, the nature and characteristics of modern-day operating systems. It also provides a thorough discussion of the fundamentals of operating system design and to relate these to contemporary design issues and to current directions in the development of operating systems.

Course Objectives

  • To understand the basic concepts related to concurrency, mutual exclusion requirements and OS concerns
  • To know the efforts of concurrent processing – deadlock and starvation
  • To study the various OS mechanisms used to implement the virtual memory
  • To discuss the key design issues in multiprocessor thread scheduling and real-time scheduling requirements
  • To provide the characteristics of embedded operating system and the key concepts of embedded systems
  • To understand the spectrum of computer security attacks and the types of intrusion techniques used to breach computer security

Learning Outcomes

  • Understanding the central themes of modern operating system, the fundamental technology of OS design considerations and the general approaches to dealing with deadlock
  • Knowing the virtual memory approaches : paging and segmentation and how the multiprocessors scheduling access to the same main memory
  • Understanding the embedded operating system concepts and computer security concepts


  1. Operating Systems Internals and Design Principles (5th Edition) By William Stalling
  2. A Silberschatz, P.B. Galvin, G.Gagne, Operating Systems Principles, 7th Edition 2006

Assessments methods

  1. Class participation                   – 10%
  2. Quizz                                       – 10%
  3. Assignment/Lab                      – 10%
  4. Tutorial                                    – 10%
  5. Final Exam                              – 60%

CS – 406 : Computer Vision and Interactive Computer Graphics

Text Books : Computer Graphics C Version, Second Edition, Donald Hearn and M.


Course Code : CS-406

Course Title Computer Vision and Interactive Computer Graphics

Course Aim

The aim of this course is to provide the concept of computer graphics application, 2D  computer graphics techniques and the overview of 3D computer graphics.

Course Objectives

• To study the general concepts of 3D computer graphics.

• To understand and apply 2D computer graphics techniques

• To design and create program using graphics programming techniques

Learning Outcomes

On successfully completing the course, students will be able to demonstrate knowledge and understanding of fundamental principles in 2D computer graphics, and apply them to the design of algorithms for graphics applications. Students will be able to develop graphics programs to model various types of two-dimensional scenes. Students will also gain skills necessary for the study of advanced concepts and techniques in the field of computer graphics.

Course Contents:

• Overview of computer graphics system and applications

• Output primitives

• Attributes of output primitives

• 2D geometric transformations

• 2D viewing

• 3D basic concepts


1. Computer Graphics (Second Edition) Schaum’s Outlines by Zhigang Xiang, Roy A. Plastock

2. Interactive Computer Graphics A Top-down Approach with Shader-Based OPENGL (6th Edition) by Edward Angel, Dave Shreiner

Course Organization

Your participation in the course will involve six forms of activity:

1. Attending the lectures.

2. Preparing for and participating in the recitations.

3. Laboratory assignments.

4. Reading the text.

5. Exams

6. Quiz

Exam Assessment

Practical  – 10%

Tutorial  – 10%

Assignment  – 10%

Attendance  – 10%

Quiz  – 10%

Exam  – 50%