Computer Science

Code
Course
Number of Credits
Description/Course Objective
AT70.02 Data Structures & Algorithms
3
An algorithm describes how to carry out a problem-solving task implementable by computer programs. The design of an algorithm is tightly coupled with how information to be manipulated by it is organized i.e. data structuring. A course in Algorithm and Data Structure is therefore fundamental to a study in Computer Science.
AT70.03 Theory of Computing 
3
To provide an exposure to the theory of formal languages, automata and complexity theory.
AT70.05 Computer Networks
3
Network types - wide area networks, local area networks, home networks; circuit switching, packet switching; datagram, virtual circuits; network architecture; error detection, collision avoidance and detection; reliable transmission; the Internet (TCP/IP, routing and addressing, application protocols); ATM networks; network security and quality of Service.
AT70.07 Programming Languages and Compilers
3
To provide students with an in depth knowledge of concepts that underlie all of the programming languages normally encountered, illustrating those concepts with examples from various languages. Language design and implementation and the ways in which they interact are explored together. Special emphasis is put on compilation and linking, as well as how data types are implemented in memory.
AT70.08 Operating Systems
3
This course is about the concepts, structures, and mechanisms of operating systems taking into account their evolution and the rapid advances in technology, resulting into a variety of systems. The variety is not just in the capacity and speed of machines, their interconnections and interactions, but with the newer applications with demands on systems requirements. The intent of the course is to develop a conceptual framework from the point of view of the management of system resources and user interface, and relate them to contemporary design issues and to current trends in technology.
AT70.09 Computer Graphics and Animation
3
To introduce computer graphics as a practical discipline. The underlying theory of computer graphics, as well as implementation algorithms, will be presented in the context of a modern industry-standard graphics programming language and interface. Instruction shall be in a laboratory setting with continuous hands-on implementation of concepts and emphasis on creating animated and interactive scenes.
AT70.10 Paradigms of Artificial Intelligence 
3
This course provides a comprehensive exposure to the paradigms and techniques necessary for study and research in artificial intelligence. Emphasis is placed on the historical evolution and the emerging trends in technology.
AT70.12 Web Application Engineering
3
AT70.12 is a project-oriented course in which student teams will be paired with client organizations needing online community collaborative learning and information sharing systems. Using a Web server, programming language, and relational database of their own choice, students will take the system from an initial concept through the stages of requirements specification, design, implementation, and usability testing. Along the way, focused laboratory sessions will give students experience with specific technologies and techniques useful across many applications, and lectures will introduce students to the most recent developments in enterprise application frameworks, middleware, and thick clients. Students successfully completing Web Application Engineering will be competent database-backed Web application developers capable of designing, deploying, and maintaining large-scale services like amazon.com.
AT70.13 Computer Security
3
To provide the students with key knowledge about the nature and challenges of computer security, especially the relationship between policy and security, the role and application of cryptography, the mechanisms used to implement policies, the methodologies and technologies for assurance, vulnerability analysis and intrusion detection and building secure systems.
AT70.15 Advanced Topics in Internet Technology
3
Fundamental issues in network protocol design and implementation and principles underlying TCP/IP protocol design; historical development of the Internet; Internet routing protocols (unicast, multicast and unidirectional); algorithmic issues related to the Internet; multimedia communication (Voice over IP, Real-time protocols); measurement and performance; next generation Internet (IPv6, QoS) and applications.
AT70.16 Computational Geometry and Applications
3
To provide students with an introduction to both the theory and applications of the discipline of computational geometry which is concerned with the solving of computational problems arising from geometric questions. Essential theory and algorithms will be covered and content will be motivated by practical problems. Implementations of geometric algorithms in a high-level language will be covered. Course will be seminar-style.
AT70.17 XML: Foundations, Techniques and Applications
3
Extensible Markup Language (XML), a W3C recommendation, has been recognized as a standard for self-describing data, knowledge interchange, and information integration. Therefore, it forms an important technology for next-generation information systems, particularly for those on the Internet. Since representation, interchange and integration of information are fundamental to all information systems, there will be various applications of XML. An application area that will need XML is e-business. Good Knowledge of XML, its foundations, techniques and applications is, therefore, required.
AT70.18 Software Architecture Design
3
Software architects building complex systems must create the illusion of simplicity through decomposition, abstraction, and encapsulation of functionality. Understanding software architecture is especially important at the level of the enterprise, in which multiple applications must work together to support or automate business processes through concurrent access to large amounts of complex persistent data. Designing, implementing, and maintaining such large-scale system infrastructures requires extensive knowledge of best practices in the form of architectural patterns as well as an understanding of modern component-based software development frameworks and asynchronous distributed systems middleware. Students will learn industry best practices and apply the principles they learn by designing and constructing an architectural prototype for a significant real-world software project.
AT70.19 Software Development and Quality Improvement
3
This course teaches the fundamental skills of software engineering, drawn from research and best-practice on large open source and commercial software projects. Students will learn techniques and tools for modeling, analyzing, developing and evaluating complex software systems. The emphasis will be on rapid implementation of complex systems through agile development processes, visual development tools, software frameworks, and integration of open source and commercial components. 
AT70.20 Machine Vision for Robotics and HCI
3
Machine vision is concerned with the image processing, geometry, and statistical inference tools necessary for extracting useful information about the world from two-dimensional images. After decades of research, although the most advanced machine vision systems still pale in comparison to the visual systems of the simplest mammals, there have been some success stories. This course is an advanced survey of the state of the art in machine vision, focused primarily on robotics applications and human-computer interfaces. The course is a mixture of lectures on fundamentals, student presentations of research from the primary academic literature, and group projects involving application of machine vision technology to real-world problems. The course prepares students to do thesis research in the field.
AT70.9001 Selected Topic: Advanced Topics in Databases  
3
The advancement in computer networks, computer architecture and storage technology leads to new development of database systems, operations and applications. The students majoring in computer science and information management need to be aware of such development. This course aims at providing the students with advanced topics related to the current database technology. 
AT70.9002 Selected Topic: Advanced Topics in Computer Graphics and Related Areas
3
he two main goals for this course are to study OpenGL ES (Embedded Systems), the emerging standard for handheld devices, and the OpenGL Shading Language, the emerging new standard for OpenGL itself. OpenGL ES is a "lighter" version of OpenGL with additional features designed specially for small-screen graphics, particularly games programming. The OpenGL Shading Language is designed to take advantage of modern processor speeds to make more of the OpenGL pipeline, previously static, now programmable. In particular, every vertex and fragment is individually programmable. This will be a hands-on seminar style course where the participants will be asked to read and present material and, most importantly, share coding experience. We shall study the underlying principles of OpenGL ES and the Shading Language, as well as acquire practical experience with both. Additional topics related to the two main ones will be discussed as they arise. 
AT70.9003 Selected Topic: Computer Organization and Architecture
2
To provide an understanding of the components of computer hardware and their interactions, as well as the technological principles driving development in computer hardware. To provide practical experience in actual design of computer systems.
AT70.9004 Selected Topic: Object-oriented Analysis and Design
2
Object-Oriented technology has evolved over the past twenty years into the preferred method for developing large complex systems. Characteristics such as abstraction and modularity allow system designers to comprehend and tackle the inherent complexity of these applications. The Unified Process, an iterative, use case-driven, architecture-centric process together with the Unified Modeling Language, a language for specifying artifacts of software systems, provide the methodology necessary to successfully develop such systems.
AT70.9005 Selected Topic: Intelligent User Interfaces
3
Intelligent user interfaces mediate between person and machine to increase the ease and effectiveness of user interactions. Research in intelligent user interfaces draws on areas such as Artificial Intelligence and Human-Computer Interaction to study methods for supporting varied users for a wide range of tasks, task environments, platforms, and interaction paradigms. This course will introduce students to some of the fundamental techniques used in building intelligent user interfaces, as well as to current research in the area.
AT70.9006 Selected Topic: Semantic Web
3
The Semantic Web is envisioned as the next generation of the Web which allows for automatic retrieval and combination of information on a world-wide scale. The backbone of the Semantic Web consists of Ontologies, which are consensual specifications of knowledge in a particular domain. To equip the students with this new technology, it is necessary for them to learn about representation mechanisms for data, meta-data and Ontologies on the Semantic Web. 
AT70.9007 Selected Topic: Introduction to Machine Vision for Robotics and HCl
3
This special topics course will be a primer on the use of machine vision in robotics applications, information systems, and human-computer interfaces. The course will be a mixture of lectures on basic material, presentations of research from the primary academic literature, and individual projects involving application of machine vision technology to real-world problems. The course will prepare students to do thesis research in the field.
AT70.9008 Selected Topic: Security, Multiagent Systems, Trust and Online Trading Mechanisms 
3
The course discusses computer security models, multiagent systems and the role of trust in secure multiagent systems. The design of trusted and secure trading mechanisms is studied as application. Insights on how to develop an optimal trading mechanisms are also addressed.
AT70.9009 Selected Topic: Web Application Engineering
3
The World Wide Web has already revolutionized the way we work, learn, and publish. The Web not only dramatically increases the size of the potential audience for our content, but also makes it possible to bring physically disparate people together into more tightly-knit communities than hitherto possible. In this highly distributed and collaborative environment, Web application developers face the triple challenge of 1) system complexity, 2) massive concurrency, and 3) a fickle user base always ready to abandon one site for the next. In this course, students will learn to cope with these challenges by using appropriate technology and a user-centered approach to the design and construction of large-scale Web applications. AT 70.xx is a project-oriented course in which student teams will be paired with client organizations needing online community collaborative learning and information sharing systems. Using a Web server, programming language, and relational database of their own choice, students will take the system from an initial concept through the stages of requirements specification, design, implementation, and usability testing. Along the way, focused laboratory sessions will give students experience with specific technologies and techniques useful across many applications, and lectures will introduce students to the most recent developments in Web application frameworks and client-side scripting. Students successfully completing AT xx.xx will be competent database-backed Web application developers capable of designing, deploying, and maintaining large-scale services such as amazon.com.
AT70.9010 Selected Topic: Network and Service Management 
3
The global networked service system is the most complex technical system ever created and is turning out to be a very important infrastructure for society. The rationale behind this course is to give the students a basic understanding of principles and architectures for management of network resources and services and to learn concepts that makes it possible to: communicate, reason and creatively think about the operation and management of networks and networked services.
AT70.9011 Selected Topic: Machine Vision for Robotics and HCI
3
Machine vision is concerned with the image processing, geometry, and statistical inference tools necessary for extracting useful information about the world from two-dimensional images. After decades of research, although the most advanced machine vision systems still pale in comparison to the visual systems of the simplest mammals, there have been some success stories. This course is an advanced survey of the state of the art in machine vision, focused primarily on robotics applications and human-computer interfaces. The course is a mixture of lectures on fundamentals, student presentations of research from the primary academic literature, and group projects involving application of machine vision technology to real-world problems. The course prepares students to do thesis research in the field.
AT70.9012 Selected Topic: Security, Trust and Repuration
3
The course discusses computer security models, multiagent systems and the role of trust and reputation in secure and reliable multiagent systems. The design of trusted and secure trading mechanisms is studied as application. Insights on how to develop an optimal trading mechanisms are also addressed.
AT70.9013 Selected Topic: Software Architecture Design I
1
Software Architecture I and II teach the fundamentals of software architecture, drawn from research and best practice on large software projects. Students will learn techniques and tools for modeling, analyzing, evaluating, and controlling the development of complex software systems. In Software Architecture Design I, students will develop the basic object-oriented analysis and modeling skills necessary for understanding, designing, and maintaining a software architecture.
AT70.9014 Selected Topic: Software Development Methodologies
2
Designing, developing, and improving complex software systems requires a mastery of analytical and technical skills, as well as a knowledge of appropriate processes, architectures and design patterns. This course teaches the fundamental skills of software engineering, drawn from research and best-practices on large open source and commercial software projects. Students will learn techniques and tools for modeling, analyzing, developing and evaluating complex software systems. The emphasis will be on rapid implementation of complex systems through agile development processes, visual development tools, software frameworks, and integration of open source and commercial components. The course will also improve students' practical software engineering skills by having them plan and execute a significant open-source software development project. Students may make a specific contribution to an existing large open source project or start a new project of their own choice. Projects with the potential to play a role in development of the Asian region will be strongly encouraged.
AT70.9015 Selected Topic: Software Architecture Design II
2
Designing, developing, and evolving complex software systems requires a mastery of analytical and technical skills, as well as a knowledge of appropriate processes, architectures and design patterns. Software architects building complex systems must create the illusion of simplicity through decomposition, abstraction, and encapsulation of functionality. Software Architecture I and II teach the fundamentals of software architecture, drawn from research and best practice on large software projects. Students will learn techniques and tools for modeling, analyzing, evaluating, and controlling the development of complex software systems. Software Architecture I focuses on software architecture "in the small," at the level of object-oriented analysis and design. In Software Architecture II, the focus shifts to software architecture "in the large" at the level of the enterprise. We study the design and implementation of large-scale enterprise information system infrastructures, enterprise application integration, and the modern middleware technologies necessary to support enterprise application development. Students will learn industry best practices through study of architectural design patterns and put the principles to practice by designing and constructing an architectural prototype for a significant real-world software project.
AT70.9016 Selected Topic: Software Quality Improvement
1
Quality is a critical factor in the development, improvement and maintenance of software systems. This course teaches fundamentals and best practices in managing, measuring and improving the quality of software and software development processes.
AT70.9017 Selected Topic: Software Development Methodologies 
2
Designing, developing, and improving complex software systems requires a mastery of analytical and technical skills, as well as a knowledge of appropriate processes, architectures and design patterns.  This course teaches the fundamental skills of software engineering, drawn from research and best practices on large open source and commercial software projects.  Students will learn techniques and tools for modeling, analyzing, developing and evaluating complex software systems. The emphasis will be on rapid implementation of complex systems through agile development processes, visual development tools, software frameworks, and integration of open source and commercial components.

The course will also improve students' practical software engineering skills by having them plan and execute a significant open-source software development project. Students may make a specific contribution to an existing large open source project or start a new project of their own choice. Projects with the potential to play a role in development of the Asian region will be strongly encouraged.

AT70.9018 Selected Topic: Data Mining
3
Data mining has emerged as an exciting and important discipline with the growth of massive digital data archives. The object of data mining is to automatically process a data archive to find patterns that represent knowledge or, equivalently, information interesting to the user. Data mining is a multidisciplinary field which invokes techniques from AI, statistics, pattern analysis, and others.
AT70.9019 Selected Topic: Digital Information Technology Development and Policy
2
This course discusses the rapid development of digital information technology and its impact on our global community exaggerated by the growth or the expansion of the Internet. Policy issues must be addressed with deep insights on the technology, its social impact and fair business models. This course will examine several examples of global public policy on internet resources, digital content copyrights and privacy.
AT70.9020 Selected Topic: Biologically Inspired Robotics I
1
Biologically Inspired Robotics is concerned with the study of biology as the inspiration for building robots. The idea is not to mimic nature but to use nature as the inspiration for the robot's construction. This course is an introduction to biologically inspired robot. The course prepares students to do thesis research in the field of robotics.
AT70.9021 Selected Topic: Biologically Inspired Robotics II
2
AT70.9023 Selected Topic: Theory of Modeling and Simulation: Application to Serious Games 
3
Modeling and Simulation (M&S) is became one of the widely used domain for complex systems analysis and/or design. M&S is used in the industry, business management, tools for decision making, education, research etc. Within this diversity, theoretical and technical basis have to be known to be able to conduct M&S projects in a wide variety of situation. If simulations are augmented with media and interactivity, then M&S enter the world of Serious Games, a fast increasing field of the software industry. The huge potential of serious games applications make them a very promising domain for economical development.
AT70.9024 Selected Topic: The Semantic Web
3
The Semantic Web is a web of data. It provides a common framework that allows data to be shared and reused across application, enterprise, and community boundaries. It is a collaborative effort led by the World-Wide Web Consortium (W3C) with participation from a large number of researchers and industrial partners. It is based on the Resource Description Framework (RDF). Since sharing and reuse of data and information are fundamental to all information systems, there will be various applications of the Semantic Web.  Good knowledge of the Semantic Web, its foundations, techniques and applications is, therefore, required.
AT70.9025 Selected Topic: Service Design
3
Service design aims to enable organizations to tailor-make their processes and solutions in order to satisfy the requirements of customers. It has been recently recognized that service-dominant logic leads goods-dominant logic. As a result, the design of a service will also provide a guideline for the design of products used to support the service. In other words, service design dominates product design. Moreover, the concept of designing services can be used in all organizations that offer services for sale; hence there is huge demand for professionals who are qualified to help them achieve this.
AT70.9026 Selected Topic: The Semantic Web and Linked Open Data
3
The Semantic Web is a web of data. It provides a common framework that allows data to be shared and reused across application, enterprise, and community boundaries. It is a collaborative effort led by the World-Wide Web Consortium (W3C) with participation from a large number of researchers and industrial partners. It is based on the Resource Description Framework (RDF). Since sharing and reuse of data and information are fundamental to all information systems, there will be various applications of the Semantic Web. Good knowledge of the Semantic Web, its foundations, techniques and applications is, therefore, required.
AT70.9027 Selected Topic: Cloud Robotics
3
As price performance ratios for robot sensors, actuators, and mechanical systems continue to decrease and robots increasingly move from  constrained laboratory and factory environments into unconstrained environments such as homes, offices, and the great ou tdoors, we are faced with new opportunities and challenges. The opportunities to increase human productivity and make our lives safer and easier are enormous. However, to perform increasingly broader ranges of tasks in increasingly unconstrained environmen ts, robots need unprecedented amounts of computing power and storage as well as immediate access to large, constantly changing, dynamic knowledge bases. These pressures are engendering a new multi tier computing architecture for robotics applications invo lving low cost controllers that communicate over network infrastructure with compute, storage, and knowledge resource services available on local networks and the Internet. This course is an advanced discussion and project based course on the emerging area of “cloud robotics” first introduced to the world by James Kuffner of Carnegie Mellon University and Google in December 2010. The course is intended for doctoral students and advanced masters' students preparing for thesis or dissertation research in the area. Students will read and discuss papers from the primary literature at the intersection of robotics and cloud computing and execute a preliminary research project incorporating mobile sensors and private or public cloud infrastructure.
AT70.9028 Selected Topic: Internet Technology and Governance
1
The Internet has undoubtedly brought dramatic changes to economic and social development of the world for these past decades. Its open architecture and operation principle has made the Internet unique and a great platform for innovations. The objective of the course is to introduce the Internet technology, how the Internet operates, its development and its governance. The course is aimed to be an institute-wide course providing students with an understanding of the current technology and status as well as an insight into possible future directions of the Internet.
AT70.9029 Selected Topic: Sematic Web Technology
3
The Semantic Web is a web of connected data, which extends the traditional web by incorporating explicit semantics based on a formal knowledge representation, and thus enabling machines to interpret and manipulate web data correctly. It provides a common framework that allows heterogeneous data to be shared, discovered, integrated and reused across applications. Semantic Web Technologies, or Semantic Technologies, are concerned with standards, formalisms, methodologies and tools to model semantic data as well as to enable explicit representation of knowledge and its processing to deduce new knowledge from implicitly hidden knowledge. Applications of Semantic Web technologies are increasingly used in various domains including software/hardware industries, health care and biomedical domains, life sciences, and automotive industry.
AT70.9030 Selected Topic: Natural Language Understanding and Translation
3
Introducing students to the linguistic knowledge of natural languages together with the algorithms and technologies for technologies for processing them. Key linguistic concepts of words, morphology, parts-of-speech, syntax and semantics are presented together with algorithms and technologies like regular expressions, finite automata, context-free grammars, unification, first-order logic, lambda-notations, hidden Markov models as well as other rule-based or statistical algorithms.
AT70.9031 Selected Topic: Recent Trends in Machine Learning
3
The course builds on the content of Machine Learning, providing students with a deeper understanding of machine learning techniques and a wider variety of extant learning models. Students will be prepared to develop advanced machine learning applications and perform research at a state- of-the-art level.