Sign In
  • A-
  • A
  • A+
  • ع
  • A-
  • A
  • A+
  • ع

Bachelor of Science in Computer Science (New Students)

College of Computing and Informatics
Computer Science
Study System
Total Credit Hours
123 Cr.Hrs
4 Years
Fall & Spring
Sharjah Main Campus
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:
  1. Apply knowledge of mathematics and computer science to develop software systems.
  2. Analyze, design, implement, and test complete software systems.
  3. Communicate effectively and critically in both written documents and oral presentations.
  4. Work effectively in a team.
  5. Apply computer science skills, tools and knowledge in designing software systems that are adaptive to new requirements.
  6. Understand the social and ethical issues that arise in their work and deal with them professionally.
  7. Appreciate the need for lifelong learning and adapt to rapid technological changes

    CS Program Learning Outcomes

    CS Program Outcomes: Upon completing the program requirements, a Computer Science graduate should be able to:

  1. Apply knowledge of computing and mathematics appropriate to the program's student outcomes and to the discipline.
  2. Analyze a problem, and identify and define the computing requirements appropriate to its solution.
  3. Design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs.
  4. Function effectively on teams to accomplish a common goal.
  5. Apply professional, ethical, legal, security and social issues and responsibilities.
  6. Communicate effectively with a range of audiences.
  7. Analyze the local and global impact of computing on individuals, organizations, and society.
  8. Recognize the need for and an ability to engage in continuing professional development.
  9. Use current techniques, skills, and tools necessary for computing practice.
  10. Apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices.
  11. Apply design and development principles in the construction of software systems of varying complexity.


    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.

    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:
BS in Computer Science (123 credits)
Mandatory Core Credits15155181
Electives Core Credits9-1221
Support Credits--1515
Free Elective Credits--66

I. University Requirements

The list of the 24 credits of University required courses and their descriptions are presented in the introductory pages of the College of Sciences section in this bulletin.

II. College Requirements

The list of the 15 credit hours College required courses and their descriptions are presented in the introductory pages of the College of Sciences section in this bulletin.  

III. Program Requirements
The program requirements of 84 credit hours are divided into four major sets. 51 mandatory core credits, 15 mandatory support credits, 12 elective core credits and 6 free electives.

A. Mandatory Courses

This set consists of 51 credit hours listed below.

Course #Course TitleCrHrsPrerequisite
1411211Programming II31411116
1411215Data Structures31411211
1411246Object Oriented Design with Java31411211
1411252Computer Organization and Assembly Language41403201
1411263Introduction to Database Management Systems31411116
1411279Discrete Structures31440131
1411319Programming Languages and Paradigms31411215
1411322Prof. Social and Ethical Issues in CS2None
1411352Operating Systems31411215
1411365Advance Database Systems31411263
1411366Software Engineering31411215
1411370Numerical Methods31411116
1411371Design and Analysis of Algorithms31411215, 1411279
1411372Formal Languages and Automata Theory31411215, 1411279
1411394Junior Project in Computer Science2None
1411399CO-OP Summer Training0Senior Standing
1411494Senior Project in Computer Science31411395
0403201Digital Logic Design31411116
0403202Digital Logic Design - LAB10403201


B. Mandatory Support courses

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

Course #Course TitleCrHrsPrerequisite
0202213Critical Reading and Writing30202112
1440132Calculus II31440131
1440211Linear Algebra31440131
1440281Intro. to Prob. and Statistics31440131




General Biology I/

Physics II /

Chemistry II



1430111/ 1420101/

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 chemistry core courses are the preparatory courses, which are designed to meet the breadth requirement in Computer Science. After completing the preparatory courses, students are strongly encouraged to choose from alternative groupings of electives (referred to as "groups") in different areas of chemistry to fulfill the depth requirement.

Course #Course TitleCrHrsPrerequisite
1411330Introduction To Artificial Intelligence31411215, 1411279
1411341Web Programming31411116
1411433Introduction to Computer Vision and Image Processing31411215
1411465Development of Web Applications31411263, 1411341
1411355Computer Architecture31411252
1411451Computer Networks31411352
1411474Compiler Design31411372
1411490Topics in Computer Science I3Senior standing
1411491Topics in Computer Science II3Senior standing
1411440Introduction to Computer Graphics31411215
1411441Multimedia Technology31411215
1411459Information Security31411263
1411445IT Application in E-Commerce31411341
1411458Mobile Applications and Design31411463
1411492Special Topics in IT3Senior Standing
14123402D/3D Computer Animation31412245
1413250Networking Fundamentals31410214
14123413D Design for Web31412245
1412443Human Computer Interaction31411340; 1412245
1412444Game Design and Development31412245

D. Free Elective Courses

Each student registered in the CS program is required to take 6 credits (2 courses) as general free elective courses. Such courses can be taken from the University's pool of courses at large upon the approval of the academic advisor. These courses are intended to broaden the knowledge of students by combining studies from CS with studies from other academic disciplines.

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 #TitleCrHrsPrerequisites
0201102Arabic Language 3None
0202112English for Academic Purposes3None
1411100Introduction to IT (English)3None
1440131Calculus I3None
1430115Physics I 3


Pre/Co: 0214131

1430116Physics I LAB10214111


Year I, Semester 2 (17 Credits)
Course #TitleCrHrsPrerequisites
 University Elective – 13 
0302200Fundamentals of Innovation and Entrepreneurship3None
1411116Programming I4None
1440132Calculus II31440131
1420101General Chemistry I 3None
1420102General Chemistry I LAB11420101


Year 2, Semester 1 (16 Credits)
Course #TitleCrHrsPrerequisites
0101100Islamic Culture3None
1411211Programming II31411116
1440281Introduction to Probability and Statistics31440131
1411279Discrete Structures31412131
0403201Digital Logic Design31411116
0403202Digital Logic Design – LAB10403201


Year 2, Semester 2 (16 Credits)
Course #TitleCrHrsPrerequisites
 University Elective – 23 
1411215Data Structures31411211
1411246Object Oriented Design with Java31411211
1411252Computer Organization and Assembly Language41403201
1440211Linear Algebra I31440211


Year 3, Semester 1 (17 Credits)
Course #TitleCrHrsPrerequisites
 Department Specialized Elective – 13 
 University Elective – 33 
1411263Intro. to Database Management Systems31411116
1411371Design and Analysis of Algorithms31411215; 1411279
1411394Junior Project in CS2Junior Standing
0202213Critical Reading and Writing3None


Year 3, Semester 2 (15 Credits)
Course #TitleCrHrsPrerequisites
1411319Programming Languages and Paradigms31411215
1411352Operating Systems31411215
1411365Advanced Database Systems31411263
1411372Formal Language and Automata Theory31411215; 1411279




Physics II /

Chemistry II/

General Biology I







Year 4, Semester 1 (14 Credits)
1411322Professional, Social and ethical Issues in Computer Science2None
1411366Software Engineering31411215
1411370Numerical Methods31411116
 General Free Elective – 13 
 Department Specialized Elective – 23 


Year 4, Semester 2 (12 Credits)
1411494Senior Project in CS31411395
 General Free Elective – 23 
 Department Specialized Elective – 33 
 Department Specialized Elective – 43 

Courses Descriptions

Courses in the proposed program that are offered in the Department of Computer Science start with (141a). The program of study contains courses that are offered by other departments as well as from outside the college. Consistent with the university policies, Computer Science courses in the program will be assigned numbers of the form (141XABC) where:


Program in the Department

0: Common to more than one IT program

1: Computer Science

2: IT Multimedia

3: IT Network (future program)

4: IT Business (future program)

AYear (level) 

Areas (as follows):

1: Basic Skills

2: Programming Languages

3: Social, Ethical and Professional Issues

4: Artificial Intelligence

5:  Graphics, Multimedia and Internet

6:  Systems and Architecture

7:  Database and Software Engineering

8:  Theoretical Foundations

9: Special Topics, Seminars and Projects

CCourse sequence in area 

Courses in the proposed program that are offered in the Department of Computer Science start with (1411). The program of study contains courses that are offered by other departments as well as from outside the College. Consistent with the University policies, Computer Science courses in the program will be assigned numbers of the form (1411ABC).

Mandatory Core Courses

Description of the core courses are given below:

1411100                                Introduction to IT (English)                                                (2-2:3)

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. Prerequisite: None.

1411116                                Programming I                                                                     (3-2:4)

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. Perquisite: None

1411211                                Programming II                                                                    (2-2:3)

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++). Prerequisite: 1411116 Programming I.

1411215                                Data Structures                                                                    (3-0:3)

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. Prerequisite: 1411211 Programming II.

1411246                                Object Oriented Design with Java                                    (2-2:3)

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. Prerequisite: 1411211 Programming II.

1411252                                Computer Organization and Assembly Language         (3-2:4)

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. Prerequisite: 0403201 Digital Logic Design.

1411263                                Introduction to Database Management Systems         (3-0:3)

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. Prerequisite: 1411116 Programming I.

1411279                                Discrete Structures                                                             (3-0:3)

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. Prerequisite: 0212131 Calculus I.

1411319                                Programming Languages and Paradigms                        (3-0:3)

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. Prerequisite: 1411215 Data Structures.

1411322                                Professional, Social, and Ethical Issues in CS   (2-0:2)

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. Prerequisite: None.


1411352                                Operating Systems                                                              (3-0:3)

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.  Prerequisite: 1411215 Data Structures.

1411365                                Advanced Database Systems                                             (3-0:3)

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

1411366                                Software Engineering                                                         (3-0:3)

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. Prerequisite: 1411215 Data Structures.

1411370                                Numerical Methods                                                            (3-0:3)   

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. Prerequisite: 1411116 Programming I or 1412211 Programming II

1411371                                Design and Analysis of Algorithms                                   (3-0:3)

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. Prerequisite: 1411215 Data Structures and 1411279 Discrete Structures.

1411372                                Formal Languages and Automata Theory                       (3-0:3)

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. Prerequisite: 1411215 Data Structures and 1411279 Discrete Structures.

1411394                                Junior Project in Computer Science                 (2-0:2)

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. Prerequisite: 1411215 Data Structures.

1411399                                CO-OP Summer Training                                                    (0-0:0)

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. Prerequisite: Junior Standing.

1411494                                Senior Project in Computer Science                                (4-0:4)

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. Prerequisite: 1411394 Junior Project in Computer Science.

Core Electives

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

1411330                                Introduction to Artificial Intelligence                              (3-0:3)

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. Prerequisite: 1411215 Data Structures and 1411279 Discrete Structures.

1411341                                Web Programming                                                              (3-0:3)

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. Prerequisite: 1411116 Programming I.

1411433                          Introduction to Computer Vision and Image Processing    (3-0:3)

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. Prerequisite: 1411215 Data Structures or 1410214 Programming With Data Structures.

1411465                                Development of Web Applications                                  (3-0:3)

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. Prerequisite: 1411263 Intro. to Database Management Systems & 1411341 Web Programming.

1411355                                Computer Architecture                                                     (3-0:3)

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. Prerequisite: 1411252 Computer Organization & Assembly Language.

1411451                                Computer Networks                                                          (3-0:3)

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. Prerequisite: 1411352 Operating Systems.

1411474                                Compiler Design                                                                  (3-0:3)

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. Prerequisite: 1411372 Formal Languages & Automata Theory.

1411440                                Introduction to Computer Graphics                                (3-0:3)

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. Prerequisite: 1411215 Data Structures or 1410214 Programming With Data Structures.

1411441                                Multimedia Technology                                                      (3-0:3)

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. Prerequisite: 1411215 Data Structures or 1410214 Programming With Data Structures.

1411459                                Information Security                                                          (3-0:3)

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.  Prerequisite: 1411215 Data Structures or 1410214 Programming With Data Structures.

1411445                                IT Application in E-Commerce                                           (3-0:3)

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. Prerequisite: 1411341 Web Programming.

1411458                                Mobile Applications & Design                                           (3-0:3)

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. Prerequisite: 1411215 Data Structures or 1410214 Programming With Data Structures.

1411490                                Topics in Computer Science I                                            (3-0:3)

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. Prerequisite: Senior Standing.

1411491                                Topics in Computer Science II                                           (3-0:3)

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. Prerequisite: Senior standing.

1411492                                Special Topics in IT                                                               (3-0:3)

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. Prerequisite: Senior Standing.

1412340                                2D/3D Computer Animation                                            (3-0:3)

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. Prerequisite: 1412245 Multimedia Programming.

1413250                                Networking Fundamentals                                                (3-0:3)

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. Prerequisite: 1410214 Programming with Data Structures.

1412341                                3D Design for Web                                                              (2-2:3)

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. Prerequisite: 1412245 Multimedia Programming.

1412443                                Human-Computer Interaction                                          (3-0:3)

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). Prerequisite: 1412245 Multimedia Programming.

1412444                                Game Design and Development                                       (3-0:3)

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. Prerequisite: 1412245 Multimedia Programming.