Sign In
Skip Navigation Links.
Expand AboutAbout
Programs & Degrees
Our People
Expand Quick LinksQuick Links
Expand MediaMedia

Bachelor of Science in Computer Science

College
College of Computing and Informatics
Department
Computer Science
Level
Undergraduate
Study System
Courses
Total Credit Hours
123 Cr.Hrs
Duration
4 Years
Intake
Fall & Spring
Location
Sharjah Main Campus
Language
English
Study Mode
Full Time

Bachelor of Science in Computer Science


CS Program Overall Goals:

  1. To prepare students for computer science positions in industry or government,
  2. To prepare students for graduate study in Computer Science, and
  3. To provide a solid foundation in Computer Science that will allow graduates to adapt effectively in a quickly changing field.

CS Program Educational Objectives:

CS graduates are able to:

  1. Demonstrate knowledge and skills to adapt to future advances in computer science and contribute effectively to a prosperous and sustainable local and global economies.
  2. Work successfully as members of professional teams or leaders in the development of computer and software systems covering a broad range of applications.
  3. Pursue advanced studies and research in computer science and related disciplines.​


CS Program Learning Outcomes (Student Outcomes)

CS Program Outcomes: Upon completing the program requirements, a Computer Science graduate should be able to:
  1. Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.
  2. Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program's discipline.
  3. Communicate effectively in a variety of professional contexts.
  4. Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
  5. Function effectively as a member or leader of a team engaged in activities appropriate to the program's discipline.
  6. Apply computer science theory and software development fundamentals to produce computing-based solutions.

Career Opportunities

Graduate from the Computer Science program will be prepared to pursue advanced degrees in related fields and seek career pathways as a: Programmer
Application Designer, Application Developer, Systems Analyst, Data Mining Program Developer, Database Designer and Developer, Database Administrator, User Interface Designer, E-commerce Application Developer, Graphic designer, Game Designer and Developer, Product Design Specialist, Advertisement Designer, Web Developer, Audio/Video Production Specialist, Visual Effect Artist, Cinematic Artist, Technical Artist, 3D Tool Programmer, Computer Animator.

Annual Enrolment and Graduation Statistics


BS Computer Science
Academic Year Enrolment Degrees Awarded
2015/2016 23
5
2016/2017 27 8
2017/2018 31 16
2018/2019 49 24
2019/2020 78 14
2020/2021 120  

new Enrolments_CS.jpg

Program Overview

​The program is designed to satisfy the curricular requirements of the ACM/IEEE-CS curricular task force and other relevant professional accreditation bodies, such as CSAC/CAAB. A student undertaking this program should complete a total of 123 credits distributed as follows:

BSc in Computer Science (123 credits)​
 URPRTotal
Mandatory Core Credits186482
Support Credits-2323
Electives Credits61218
Total2499123

 

I. University Requirements / Electives

The list of the 24 credits of university required (18) and elective (6) courses with their descriptions is presented in the university catalogue.

 

II. Program Requirements

The program requirements of 99 credit hours are divided into three major sets.

A. Mandatory Support Courses (23 credits)

B. CS mandatory core courses (64 credits)

C. CS program elective courses (12 credits)

 

A.      Mandatory Support Courses

This set consists of the 23 credit hours offered by other programs.

Course #Course TitleCr. Hr.Prerequisite
1430110Physics I for Sciences3None
1430116Physics I Lab1Pre/Co: 1430110
1420101General Chemistry I 3None
1420102General Chemistry I Lab1Pre/Co: 1420101
0202213Critical Reading and Writing30202112
1440131Calculus I3None
1440132Calculus II31440131
1440211Linear Algebra31440131
1440281Intro. to Prob. and Statistics31440131

 

B.      Mandatory Core Courses

This set consists of 64 credit hours listed below.

Course #Course TitleCr. Hr.Prerequisite
1501116Programming I4None
1502201Digital Logic Design31501116
1502202Digital Logic Design Lab.11502201
1501211Programming II 31501116
1501215Data Structures31501211
1501246Obj. Oriented Design with Java31501211
1501252Comp. Org. & Assembly Language41502201
1501263Intro. to Database Management System31501215
1501279Discrete Structures31440131
1501319Prog. Languages & Paradigms31501215
1501322Prof. Soc. & Ethical Issues in CS2 
1501352Operating Systems31501215
1501330Intro. To Artificial Intelligence31501215
1501366Software Engineering31501215
1501250Networking Fundamentals31501215
1501371Design & Analysis of Algorithms31501215, 1501279
1501372Formal Lang. & Automata theory31501215, 1501279
1501394Junior Project in CS21501215 and Junior Standing
1501397CO-OP Summer Training3Junior/Senior standing
1501494Senior Project in CS31501394
1501459Information Security31501215
1501454Cloud Computing31501215

 

C.      Elective Courses

Every student in the CS Department must take 12 credit hours of elective Computer Science courses chosen from the list given in the table below. The support and computer science core courses are the preparatory courses, which are designed to meet the breadth and depth requirements in Computer Science.

 

Course #Course TitleCr. Hr.Prerequisite
1501341Web Programming31501116
15013422D/3D Computer Animation31501246
1501343Interactive 3D Design
31501246
15013442D Character Design3Junior Standing
1501355Computer Architecture31501252
1501365Advanced Database System31501263
1501370Numerical Methods31501116, 1440211
1501433Intro.to Computer Vision & Image Processing.31501215
1501440Intro.to Computer Graphics31501215
1501441Multimedia Technology3Senior standing
15014423D Character Animation and Visual FX31501342
1501443Human Computer Interaction31501341, (1501246 or 1501247)
1501444Game Design & Development
31501343
1501445IT Application in E‐Comm.31501211 or 1501341
1501451Computer Networks31501352
1501458Mobile Application & Design31501215
1501465Development of Web Applica.31501263, 1501341
1501474Compiler Design31501372
1501490Topics in Computer Science I31501215
1501491Topics in Computer Science II31501215
1501492Special Topics in IT31501215

 

Study Plan

The BS program in Computer Science encompasses 123 credits hours that are spread over eight semesters and could be completed in four years. The following distribution of courses by semester facilitates student's normal progression through the study plan.

 

Year I, Semester 1 (16 Credits) ​ ​ ​
Course #TitleCr. Hr.Prerequisites
0201102Arabic Language 3None
0202112English for Academic Purposes3None
1401100Introduction to IT (English)3None
1440131Calculus I3None
1430110Physics I for Sciences 3None
1430116Physics I Lab1Pre/Co: 1430110 or 1430115

 

Year I, Semester 2 (17 Credits) ​ ​ ​
Course #TitleCr. Hr.Prerequisites
 University Elective – 13 
 University Elective – 23 
1501116Programming I4None
1440132Calculus II31440131
1420101General Chemistry I 3None
1420102General Chemistry I LAB11420101

 

Year 2, Semester 1 (18 Credits) ​ ​ ​
Course #TitleCr. Hr.Prerequisites
0101100Islamic Culture3None
1501211Programming II31501116
1440281Introduction to Probability and Statistics31440131
1501279Discrete Structures31440131
1502201Digital Logic Design31501116
0302200Fundamentals of Innovation and Entrepreneurship3None

 

Year 2, Semester 2 (17 Credits) ​ ​ ​
Course #TitleCr. Hr.Prerequisites
0204102 UAE Society3 
1501215Data Structures31501211
1501246Object Oriented Design with Java31501211
1501252Computer Organization and Assembly Language41403201
1502202Digital Logic Design Laboratory11502201
1440211Linear Algebra I31440131

 

Year 3, Semester 1 (15 Credits) ​ ​ ​
Course #TitleCr. Hr.Prerequisites
1501330Intro. to Artificial Intelligence31501215
1501263Intro. to Database Management Systems31501215
1501371Design and Analysis of Algorithms31501215, 1501279
1501366Software Engineering31501215
0202213Critical Reading and Writing3None

 

Year 3, Semester 2 (17 Credits) ​ ​ ​
Course #TitleCr. Hr.Prerequisites
1501319Programming Languages and Paradigms31501215
1501352Operating Systems31501215
1501372Formal Language and Automata Theory31501215; 1501279
1501252Networking Fundamentals31501215
1501394Junior Project in CS2Junior Standing, 1501215
1501397CO-OP Summer Training3Junior Standing

 

Year 4, Semester 1 (11 Credits) ​ ​ ​
Course #TitleCr. Hr.Prerequisites
1501322Professional, Social and ethical Issues in Computer Science2None
1501459Information Security31501215
1501454Cloud Computing31501215
1501494Senior Project in CS31501394

 

​Year 4, Semester 2 (12 Credits) ​ ​ ​
CourseTitleCr. Hr.Prerequisites
 Dept. Specialized Elective – 13 
 Dept. Specialized Elective – 23 
 Dept. Specialized Elective – 33 
 Dept. Specialized Elective – 43 

 

Courses Descriptions

Mandatory Core Courses

Description of the core courses are given below:

 

1501100                Introduction to IT (English)                                                        (2-2:3)
Prerequisite: None

The Course explains what a computer is and what it can (and can't) do; it clearly explains the basics of information technology, from multimedia PCs to the internet and beyond. It illustrates how digital devices and networks affect our lives, our world, and our future. In addition, the course is intended to equip students with the necessary skills to use computer and essential software applications effectively in order to better prepare them for their professional careers.

 

1501116                Programming I                                                                                 (3-2:4)
Perquisite: None

This course introduces basic program­ming techniques with a high-level pro­gramming language. Topics include gen­eral introduction to computers and num­bering systems, program development process, variables, data types, expres­sions, selection and repetition structures, functions/procedures, text files, arrays, and pointers.

 

1501211                Programming II                                                                                 (2-2:3)
Prerequisite: 1501116 Programming I

This course introduces fundamental con­ceptual tools and their implementation of object-oriented design and program­ming such as: object, type, class, imple­mentation hiding, inheritance, paramet­ric typing, function overloading, poly­morphism, source code reusability, and object code reusability. Object-Oriented Analysis/Design for problem solving. Implementation of the Object-Oriented programming paradigm is illustrated by program development in an OO language (C++).

 

1501215                Data Structures                                                                                               (3-0:3)
Prerequisite: 1501211 Programming II

Basics of algorithm design. Linear Structures: Multidimensional arrays and their storage organization, Lists, Stacks and Queues. Introduction to recursion. Nonlinear structures: trees (binary trees, tree traversal algorithms) and Graphs (graph representation, graph algorithms). Elementary sorting and searching methods: bubble sort, quick sort, sequential search and binary search algorithms.

 

1501246                Object Oriented Design with Java                                                           (2-2:3)
Prerequisite: 1501211 Programming II

This course will introduce fundamental concepts of Internet technologies at both advanced and introductory levels. The introductory level includes Java programming and object oriented design; the advanced level includes advanced programming concepts such as GUI design, multimedia and exception handling.

 

1501250                Networking Fundamentals                                                         (3-0:3)
Prerequisite: 1501214 Programming with Data Structures

Foundation knowledge for computer networks and communications. Topics include basic network design, layered communications models, IP addressing and subnets, and industry standards for networking media and protocols, with an emphasis on TCP/IP protocol suite and Ethernet environments.

 

 

1501252                Computer Organization and Assembly Language                            (3-2:4)
Prerequisite: 0403201 Digital Logic Design

This course introduces the basic con­cepts of computer architecture and low-level programming, Subject includes: Microprocessors architectures, Bus concepts, 8086 assembly language instructions set, Segmentation and mem­ory addressing modes, debugging and testing programs, DOS system calls, Multiprocessor systems, pipelining.

 

1501263                Introduction to Database Management Systems                            (3-0:3)
Prerequisite: 1501215 Data Structures

This course explores how databases are designed, implemented, and used. The course emphasizes the basic concepts/terminology of the relational model and applications. The students will learn database design concepts, data models (the Entity-Relationship and the Relational Model), SQL functional dependencies and normal forms. The students will gain experience working with a commercial database management system.

 

1501279                Discrete Structures                                                                        (3-0:3)
Prerequisite: 1440131 Calculus I

This course emphasizes the representa­tions of numbers, arithmetic modulo, radix representation of integers, change of radix. Negative and rational numbers. Sets, one-to-one correspondence, proper­ties of union, intersection, and comple­ment, countable and uncountable sets. Functions: Injective, subjective, and bijec­tive functions. Mathematical Induction, proof by contradiction. Combinatory: Multiplication rule, Pigeonhole principle, Recurrence relations. Fundamentals of logic, truth tables, conjunction, disjunc­tion, and negation, Boolean functions and disjunctive normal form. Logic circuits. Graphs theory: Introduction, Paths and connectedness, Eulerian and Hamiltonian Graphs, Graph Isomorphisms, coloring of graphs. Trees: Spanning trees, Binary Search Trees, Huffman Code.

 

1501319                Programming Languages and Paradigms                                              (3-0:3)
Prerequisite: 1501215 Data Structures

This course covers the fundamental concepts of programming languages (PL) and paradigms. It focuses on the design issues of the various languages constructs and the criteria used for evaluating PL and PL constructs. It covers the role of programming languages and primary formal methods for describing the syntactic and semantics structure of PLs. It also covers the design issues for imperative languages and examines data abstractions which support Object Oriented Programming, Functional Programming, and Logical Programming.

 

1501322                Professional, Social, and Ethical Issues in CS                     (2-0:2)
Prerequisite: None

This course introduces many social and ethical prospective using information technology. Subjects include: different ethical theories, privacy on the Web, security vs privacy and civil liberties, copyright on the Net, copyright and software, email and spam, morality of breaking the law, Internet addition, protecting intellectual property, data mining, identity theft, computer reliability, professional ethics, network security, and case studies.

 

1501330                Introduction to Artificial Intelligence                                   (3-0:3)
Prerequisite: 1501215 Data Structures

This course will provide an introduction to the fundamental concepts and techniques in the field of artificial intelligence. Topics covered in the course include: problem solving and search, logic and knowledge representation, planning, reasoning and decision-making in the presence of uncertainty, and machine learning. Areas of application such as knowledge representation, natural language processing, expert systems, and robotics will be explored. AI programming languages (LISP/Prolog) will also be introduced.

 

 

1501352                Operating Systems                                                                        (3-0:3)
Prerequisite: 1501215 Data Structures

This course covers the history of operating systems. Processes: IPC, process scheduling, process synchronization, and deadlock. I/O: principles of I/O hardware and software, disks and clocks. Memory management: Swapping, paging, virtual memory and page replacement algorithms. File systems: Examples of some popular operating systems such as Unix, Linux, and Windows. 

 

 

1501366                Software Engineering                                                                   (3-0:3)
Prerequisite: 1501215 Data Structures

Follows the formal software life cycle from the requirement, specification, and design phases through construction of actual software. Topics include models for the software life cycle, object-ori­ented analysis and design, management of software projects, CASE tools, veri­fication and testing techniques, software quality assurance, and issues related to maintenance and delivery.

 

 

1501371                Design and Analysis of Algorithms                                                          (3-0:3)
Prerequisite: 1501215 Data Structures, 1501279 Discrete Structures

This course emphasizes the fundamental concepts of analyzing and designing algorithms, including divide and conquer, greedy methods, backtracking, randomization and dynamic programming. A number of algorithms for solving problems which arise often in applications of Computer Sciences are covered, including sorting, searching, graph algorithms, string matching, dynamic programming and NP-complete problems.

 

1501372                Formal Languages and Automata Theory                                             (3-0:3)
Prerequisite: 1501215 Data Structures, 1501279 Discrete Structures

This course covers the fundamental concepts of formal languages and automata. The emphasis and focus are on finite automata and regular languages, pushdown automata and context-free languages, regular expressions, closure properties and pumping lemmas. Turing Machines, recursive and recursively enumerable languages. Chomsky hierarchy. Discuss fundamental notions and (un) decidability.

 

1501394                Junior Project in Computer Science                                        (2-0:2)
Prerequisite: Junior Standing, 1501215 Data Structures

This course introduces many skills and perspectives using information technology. Topics will vary. The course can include an individual study, which can be any topic that students and the instructor agree on, such as the new trends in networking, AI, Data mining, PLs, new hardware, development of applications building a hardware device and network security etc. Students present their project and submit a report.

 

1501397                CO-OP Summer Training                                                                              (3-0:3)
Prerequisite: Junior Standing

This course aims to provide students with practical training, concentrating on their fields of study, and to enhance their abilities to communicate with industry, and real-life projects. Summer Training Program provides students with knowledge, skills, abilities, and opportunities required for success in their studies and workplace.

 

1501454                Cloud Computing                                                                          (3-0:3)
Prerequisite: 1501215 Data Structures

This course introduces students to widely used parallel and distributed techniques and applications of cloud computing – including the related state-of-the-art technologies, algorithms, and tools. It allows students to develop understanding of the advanced cloud-based software development skills and to combine their existing and new skills in a real-life large-scale distributed business context.

 

1501459                Information Security                                                                   (3-0:3)
Prerequisite: 1501215 Data Structures

Definition of Computer Security, CIA and DAD Triads. Access Control Methodologies, Subjects and Objects, Access Control Models. Security Policies, Security Administration Tools. Handling Security Incidents, Common Types of Attacks. Firewall Security, Perimeter Security Devices, Types of Firewalls. Network and Server Attacks and Penetration, Phases of Control, Methods of Taking Control. Cryptology, Secret-Key Cryptography, Bit Generators, History of ciphers, Data Encryption Standard, Advanced Encryption Standard. Number Theory, Primality, Integer Factorization, Congruence, Hash Functions. Public-Key Cryptography, trapdoor one-way functions, Secure Key-Exchange Protocol, different Cryptosystems, Digital Signatures, Database Security, Secret Sharing Scheme. 

 

 

1501494                Senior Project in Computer Science                                       (3-0:3)
Prerequisite: 1501394 Junior Project in Computer Science

This course builds on the skills learned from the Junior Project course and focuses on the design, analysis and implementation of the project. The course involves a significant project that requires different Computer Science techniques. It is a group-based project.

 

Core Electives

Descriptions of the Computer Science program core electives are given below.

1501341                Web Programming                                                                         (3-0:3)
Prerequisite: 1501116 Programming I

Introduction to HyperText Markup Language (HTML5): Tags, headers, text style, fonts, line breaks, rules, linking, images, lists, tables, forms, and frames. Semantic tags, Canvas, Geolocation, JQuery, Drag and Drop. Dynamic HTML: Cascading Style Sheets: Inline styles, external style sheets, backgrounds, positioning elements, text flow and box model. Filters: Flip, grayscale, sepia, saturate, hue-rotate, invert, opacity, blur, brightness, contrast, drop-shadow. JavaScrip: A simple program, memory concepts, assignment operators, decision making, control structures, if-else, while, repetition, for, switch, do/while, functions, arrays. Object Model and Collections: all, children. Event Model: OnClick, OnLoad, OnError, OnMouseMove, OnMouseOver, OnMouseOut, OnFocus, OnBlur, OnSubmit, OnReset. Multimedia. DHTMLMenu builder. PHP and databases.

 

1501365                Advanced Database Systems                                                     (3-0:3)
Prerequisite: 1501263 Introduction to Database Management Systems

This course will build on the concepts introduced in 1501263. The students will be exposed to more advanced topics and implementation related aspects of database management systems such as object databases, XML data querying, file structures, indexing, query optimization, transaction processing, concurrency control, and database recovery.

 

1501370                Numerical Methods                                                                      (3-0:3)
Prerequisite: 1501116 Programming I   

The objectives are to introduce basic principles and techniques of computational methods and their algorithms for solving real mathematical problems that arise in science and engineering. At the end of the course, the students should be able to understand the behavior of numbers when calculated by computers. In addition, students should know the theory and application of different numerical techniques to solve mathematical problems.

 

1501433                Introduction to Computer Vision and Image Processing              (3-0:3)
Prerequisite: 1501215 Data Structures

Introduction to the basic concepts in computer vision and image processing: An introduction to low-level image analysis methods, including image formation, edge detection, feature detection, line fitting, and image segmentation. Camera models, Image transformations (e.g., warping, morphing, and mosaics) for image synthesis. Background subtraction and tracking, Motion and video analysis. Applications such as optical character recognition, action recognition or face recognition may also be introduced.

 

1501465                Development of Web Applications                                       (3-0:3)
Prerequisite: 1501263 Intro. to Database Management Systems, 1501341 Web Programming

The course primarily emphasizes the underlying concepts rather than the current hot tools to web-based database applications. It discusses the three-tier architecture commonly used in web-based database applications. Also, the course briefly introduces the tools to build web-based database applications, such as PHP, MySQL, Apache, HTML, HTTP, TCP/IP and JavaScripts.

 

1501355                Computer Architecture                                                                (3-0:3)
Prerequisite: 1501252 Computer Organization & Assembly Language

This course covers the core concepts of computer architecture design. The main focus is on key principles for high-per­formance and low-cost design. It cov­ers in details logical design of computer systems. Topics include reduced instruc­tion set computer architecture (RISC), using the MIPS central processor as an example, interface between assembly and high-level programming constructs and hardware, interrupt systems, instruction and memory cache systems, parallelism, pipeline architecture and multiproces­sors.

 

1501451                Computer Networks                                                                    (3-0:3)
Prerequisite: 1501352 Operating Systems

Network uses. Network components. Network classification and services. Network architectures. Network proto­cols and their performance. Study of spe­cific protocols, methods, and algorithms for framing, flow control, error detection and correction, medium access, routing, congestion control, internetworking, addressing, connection establishment and release, multiplexing, and fragmenta­tion. Overview of Internet application protocols, resources, and services.

 

1501474                Compiler Design                                                                                             (3-0:3)
Prerequisite: 1501372 Formal Languages & Automata Theory

This course introduces students to the theory and implementation of compiler construction. It covers symbol tables, lexical analysis, syntax analysis, semantic analysis and code generation. This course includes a substantial project component, in which students will construct and implement all stages of a compiler for a subset of a general purpose programming language.

 

1501440                Introduction to Computer Graphics                                        (3-0:3)
Prerequisite: 1501215 Data Structures

This course presents an introduction on Hardware and software components of graphics systems, also it covers the following topics: Output and filled data primitives, OpenGL, geometric transformations, viewing pipeline, clipping, and windowing, viewing transformations, data structures and vector tools for graphics (lines, planes, dot product, cross product, visible surface detection and illumination models), 2D animations, and curves.

 

1501441                Multimedia Technology                                                                              (3-0:3)
Prerequisite: 1501215 Data Structures

The course emphasizes underlying con­cepts rather than how to use the current multimedia tools. Topics covered by the course include introduction to multime­dia, multimedia authoring, image and video representation, color basics, funda­mental concepts of video, basics of digi­tal audio, lossless and lossy compression algorithms, image and video compres­sion standard, and content-based image and video retrieval.

 

1501445                IT Application in E-Commerce                                                  (3-0:3)
Prerequisite: 1501341 Web Programming or 1501211 Programming II

This course prepares students to understand e-commerce architecture, e-commerce models, their legal, ethical and social issues. They will also be able to design and develop web sites with dynamic web content, and to integrate web solutions into the organization's information system. The course focuses on many techniques for e-commerce applications such as displaying product catalogue, applying shopping carts, handling online transactions.

 

1501458                Mobile Applications & Design                                                   (3-0:3)
Prerequisite: 1501215 Data Structures or 1501214 Programming with Data Structures

This course focuses on the fundamentals of mobile applications development. It covers mobile and wireless network technologies from a software developer's perspective. The students will be exposed to several different markup as well as the techniques that can be used to generate this technology for the wide range of wireless devices. Furthermore, students will gain hands on experience in developing mobile applications for iOS devices.

 

1501490                Topics in Computer Science I                                                     (3-0:3)
Prerequisite: 1501215 Data Structures, or 1501214 Programming with Data Structures

This course involves special topics in Computer Science. The course usually introduces advanced/specialized areas that are not currently offered as regular courses in the computer Science curri­cula. The topic depends on the interest of the instructor and those of the senior students.

 

1501491                Topics in Computer Science II                                                    (3-0:3)
Prerequisite: 1501215 Data Structures, or 1501214 Programming with Data Structures

This course involves special topics in Computer Science. The course usually introduces advanced/specialized areas that are not currently offered as regular courses in the computer Science curri­cula. The topic depends on the interest of the instructor and those of the senior students.

 

1501492                Special Topics in IT                                                                         (3-0:3)
Prerequisite: 1501215 Data Structures, or 1501214 Programming with Data Structures

This course involves special topics in IT Multimedia. The course usually introduces advanced/specialized areas that are not currently offered as regular courses in the computer Science curri­cula. The topic depends on the interest of the instructor and those of the senior students.

 

1501342                2D/3D Computer Animation                                                     (3-0:3)
Prerequisite: 1501246    Object Oriented Design with Java This course presents a number of concepts in 2D and 3D computer animation. The concepts of animation in both object space and view and lighting space (camera control, and dynamic lighting) will be covered. Fundamental principles of animation, major techniques for 2D and 3D animation: raster and vector animations, key-framing, tweening, morphing, linear and non-linear interpolation will be introduced. The concepts of 3D animation such as physics-based animation, particle system, along with 3D camera and lighting animation, forward and inverse kinematics for motion capture will be covered.

 

1501343                Interactive 3D Design                                                                        (3-0:3)
Prerequisite: 1501246    Object Oriented Design with Java

This course covers a complete introduction to modeling, animating, and rendering while learning to build a 3D scene from plans and bring it to life.  The course covers modeling, material creation, animation, and global illumination lighting, and creating a more realistic virtual environment. Learn complex modeling techniques, customizing the user interface, scene composition, background photo compositing and material mapping.

 

1501443                Human-Computer Interaction                                                 (3-0:3)
Prerequisite: 1501246    Object Oriented Design with Java, 1501341 Web Programming

Introduction to concepts centered on Human-Computer Interaction from hardware and software perspectives. Topics include design principles, usability principles and engineering, solving user-centered problems, device interaction, and graphical user interface design (2D and 3D interfaces).

 

1501444                Game Design and Development                                                             (3-0:3)
Prerequisite: 1501343  Interactive 3D Design ​

How games function to create experiences, including rule design, play mechanics, game balancing, social game interaction and the integration of visual, audio, tactile and textual elements into the total game experience. Students will design and implement a game for desktop or mobile devices.

 

1501344                 2D Character Design                                                    (3-0:3)
Prerequisite: Junior Standing

This course teaches the students the basic elements and concepts of 2D character design to be used in different multimedia projects. The hands-on nature of this course shall be the key to successfully attain the course objectives; theoretical concepts are therefore complemented with practical exercises, workshops and mini projects culminated by a final project.

1501442                3D Character Animation and Visual FX                                                (3-0:3)
Prerequisite: 1501342 2D/3D Computer Animation

This course introduces the concepts of 3D character animation and visual effects production. Students will learn fundamentals of 3D character animation, learn multiple technologies, e.g. Character Animation Toolkit and Biped-based animation that are used in the area of 3D character animation. The course will also introduce advanced Visual FX techniques that are employed in fusion of 3D character animation with real world video data.