Page 504 - Undergraduate Catalog 2024-25
P. 504

504


        web server (FireBase cloud server),   concepts that are fundamental to all   also emphasize on each of these
        writing client-side JavaScript, integrate   distributed systems: communication,   techniques. An important component
        JavaScript into web pages and create   coordination, fault-tolerance,   of the course will be a survey of
        an interactive and dynamic Website.   transparency, self-organization,   modern topics in computer security,
        Cascaded Style Sheets (CSS) are   and synchronization. During our   including protection, access control,
        introduced to specify the presentation   investigation of paradigms, such as   applied cryptography, Message
        of elements on a Webpage, e.g.,   message passing, remote object   Authentications, DoS, IDS and IPS,
        fonts, spacing, sizes, colors and   invocation, distributed shared   Hash Functions, network security,
        positioning.  JavaScript, which is   memory, or group communication,   firewalls, secure coding practices,
        the standard client-side scripting   we will examine, in great depth,   cryptographic protocols, privacy and
        language for Web-based applications,   specific technologies for building   anonymity, and mobile code.  Case
        is presented to add functionality   distributed systems. To this end, we   studies from real-world systems will
        to the web page. JavaScript Object   will focus on the implementation   also be analyzed.
        Notation (JSON), used for data   of distributed systems that utilize
        interchange, is also briefly covered.   the Java programming language.   SWE 370 - Object Oriented
        AngularJS, an open source JavaScript   Main topics include: interprocess   Design Patterns
        framework developed by Google, is   communication, remote invocation,   Credit Hours: 3
        shown as an example of a single-page   distributed operating systems,   Prerequisite: CSC 202
        Web application.              distributed file systems, coordination
                                      and agreement, and concurrency   Software can be built utilizing proven
        CSC 406 - Artificial Intelligence  control.                 solutions to common problems, called
        Credit Hours: 3               ITE 409 - Human Computer      design patterns. Reapplying design
                                                                    pattern solutions to new applications
        Prerequisite: STT 201 + CSC 301  Interaction                reduces the development cost and
        This course provides a solid   Credit Hours: 3              lends itself to extensibility. This course
                                                                    is about object-oriented design
        theoretical framework for     Prerequisite: CSC 401 or SWE 401
        addressing complex problems   Effective design of human computer   patterns. How design patterns solve
        in navigation, planning, strategy,   interfaces is a major factor in   design problems? How to select a
                                                                    design pattern? How to use a design
        pattern recognition, and knowledge   developing user-friendly software. The
        management. It also introduces   course will provide the background   pattern? Detailed study of creational
                                                                    patterns, structural patterns, and
        basic concepts of AI in the gaming   theory, practical examples, and
        context such as planning and search.   models and techniques that enable   behavioral patterns in included.
        Emphasis will be place on applications   students to design good interfaces   SWE 371 - Software
        of AI in various genres of computer   and to evaluate human computer   Requirements and Specification
        games. Students will work with   interface functionality and usability.
        implementations of common game AI   The course will examine the practical   Credit Hours: 3
        algorithms for behaviors such as path   and theoretical issues of how people   Prerequisite: CSC 202
        finding, and behavior selection.  interact with computers and methods   The course describes the
        CSC 408 - Distributed         for developing software to improve   requirements development including
        Information Systems           usability. A principal goal is for   the business requirements, functional
                                      students to develop an awareness   and non-functional requirements,
        Credit Hours: 3               and sensitivity for user needs   and data requirements. The course
        Prerequisite: CSC 202 + CSC 305  and abilities as they interact with   also covers the study of methods,
        The study of distributed systems is   computer software.    tools, notations, verification, and
                                                                    validation to techniques for the
        exciting and interesting! In many   ITE 408 - Information Security
        respects, distributed systems are at                        analysis and specification of software
        the forefront of a revolution in the   Credit Hours: 3      requirements.
        computer science discipline. In this   Prerequisite: CSC 305  SWE 471 - Software Design and
        course we will explore the principles   This course builds on understanding   Architecture
        and paradigms that are associated   of Data Communications and
        with distributed systems. During   Networks and introduces students to   Credit Hours: 3
        our exploration of principles, we   information and computer security.    Prerequisite: CSC 401
        will focus on developing a working   It will cover theory and practice for   This course presents concepts and
        understanding of the notions and   the design of secure systems.  It will   methods for the design of software



        Abu Dhabi University | Undergraduate Catalog 2024 - 2025
   499   500   501   502   503   504   505   506   507   508   509