|Subject Code||Field of Study|
|CST-203||Digital Fundamentals II and Advanced Data Structure|
|CST-301||Computer Organization and Assembly, Operating System|
|CS-306||Advanced 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|
CST- 201 (Advanced Java Programming)
|Course code number||CST-201 Second Semester||Course Title||Advanced Java Programming|
|Prerequisite||Basic Java Programming, Database Concept||Daw Myat Thuzar Soe, Assistant Lecture, Faculty of Computer Science|
- 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.
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
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
Paper Exam 50%
CS -201 (Principle of Computer Science I)
Course Title: Principle
of Computer Science I
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.
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.
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++
1. Object-Oriented Programming in C++ (Fourth Edition) by Robert Lafore
Reference Books :
 “Computer Programming and Techniques”, University of Computer Studies Yangon. (Old
 C Programming for Engineering & Computer Science by H.H. Tan and T.B. D’Orazio
 C++ Language Tutorial (e-book)
Student participation in this course will involve the following activities:
1. Attending the lectures
2. Practical / Assignments
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
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.
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
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
Student participation in the course will involve the following activities:
1. Attending the lectures
4. Practical assignments
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|
|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|
|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|
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|
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.
-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
-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|
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.
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.
- 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.
Ethics in Information Technology, George W. Reynolds, Fifth Edition
Assessments evaluation will be
- Assignment – 10%
- Class participation – 20%
- Quizz/Moodle – 10%
- Group presentation – 30%
- 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|
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.
- 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
- 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
- Operating Systems Internals and Design Principles (5th Edition) By William Stalling
- A Silberschatz, P.B. Galvin, G.Gagne, Operating Systems Principles, 7th Edition 2006
- Class participation – 10%
- Quizz – 10%
- Assignment/Lab – 10%
- Tutorial – 10%
- 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
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.
• 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
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.
• 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
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.
Practical – 10%
Tutorial – 10%
Assignment – 10%
Attendance – 10%
Quiz – 10%
Exam – 50%