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

Bachelor of Science in Computer Science (New Students)

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:

  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 (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:

BS in Computer Science (123 credits)
  UR CR PR Total
Mandatory Core Credits 15 15 51 81
Electives Core Credits 9 - 12 21
Support Credits - - 15 15
Free Elective Credits - - 6 6
Total 24 15 84 123


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 Title CrHrs Prerequisite
1501211 Programming II 3 1501116
1501215 Data Structures 3 1501211
1501246 Object Oriented Design with Java 3 1501211
1501252 Computer Organization and Assembly Language 4 1502201
1501263 Introduction to Database Management Systems 3 1501116
1501279 Discrete Structures 3 1440131
1501319 Programming Languages and Paradigms 3 1501215
1501322 Prof. Social and Ethical Issues in CS 2 None
1501352 Operating Systems 3 1501215
1501365 Advance Database Systems 3 1501263
1501366 Software Engineering 3 1501215
1501370 Numerical Methods 3 1501116, 1440211
1501371 Design and Analysis of Algorithms 3 1501215, 1501279
1501372 Formal Languages and Automata Theory 3 1501215, 1501279
1501394 Junior Project in Computer Science 2 None
1501399 CO-OP Summer Training 0 Junior / Senior standing
1501494 Senior Project in Computer Science 3 1501394
1502201 Digital Logic Design
3 1501116
1502202 Digital Logic Design - LAB
1 1502201

 

B. Mandatory Support courses

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

Course # Course Title CrHrs Prerequisite
0202227 Critical Reading and Writing 3 0202112
1440132 Calculus II 3 1440131
1440211 Linear Algebra I
3 1440131
1440281 Introduction to Probability and Statistics 3 1440131

1450101/

1430117/

1420103 

General Biology I/

Physics II /

Chemistry II

3

None/

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 Title CrHrs Prerequisite
1501330 Introduction To Artificial Intelligence 3 1501215, 1501279
1501341 Web Programming 3 1501116
1501433 Introduction to Computer Vision and Image Processing 3 1501215
1501465 Development of Web Applications 3 1501263, 1501341
1501355 Computer Architecture 3 1501252
1501451 Computer Networks 3 1501352
1501474 Compiler Design 3 1501372
1501490 Topics in Computer Science I 3 Junior / Senior standing
1501491 Topics in Computer Science II 3 Junior / Senior standing
1501440 Introduction to Computer Graphics 3 1501215
1501441 Multimedia Technology 3 Senior standing
1501459 Information Security 3 1501263
1501445 IT Application in E-Commerce 3 1501341
1501458 Mobile Applications and Design 3 1501215, 1501214
1501492 Special Topics in IT 3 Junior / Senior standing
1501342 2D/3D Computer Animation 3 1501242, 1501246
1501250 Networking Fundamentals 3 1501215, 1501214
1501343 3D Design for Web 3 1501247, 1501246
1501443 Human Computer Interaction 3 1501341, (1501246 or 1501247)
1501444 Game Design and Development
3 1501247, 1501246


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 # Title CrHrs Prerequisites
0201102 Arabic Language 3
None
0202112
English for Academic Purposes
3
None
1501100
Introduction to IT (English)
3 None
1440131
Calculus I
3 None
1430110
Physics I for Sciences
3

02141110;

Pre/Co: 0214131

1430116
Physics I LAB 1 0214111

 

Year I, Semester 2 (17 Credits)
Course # Title CrHrs Prerequisites
 
University Elective – 1 3  
0302200 Fundamentals of Innovation and Entrepreneurship 3 None
1501116 Programming I 4 None
1440132 Calculus II 3 1440131
1420101 General Chemistry I 3 None
1420102 General Chemistry I LAB 1 1420101

 

Year 2, Semester 1 (16 Credits)
Course # Title CrHrs Prerequisites
0104100
Islamic Culture
3 None
1501211 Programming II
3 1501116
1440281 Introduction to Probability and Statistics 3 1440131
1501279 Discrete Structures 3 1440131
1502201 Digital Logic Design 3 1501116
1502202 Digital Logic Design – LAB 1 1502201

 

Year 2, Semester 2 (16 Credits)
Course # Title CrHrs Prerequisites
  University Elective – 2 3  
1501215 Data Structures 3 1501211
1501246 Object Oriented Design with Java 3 1501211
1501252 Computer Organization and Assembly Language 4 1502201
1440211 Linear Algebra I 3 1440131

 

Year 3, Semester 1 (17 Credits)
Course # Title CrHrs Prerequisites
  Department Specialized Elective – 1 3  
  University Elective – 3 3  
1501263 Intro. to Database Management Systems 3 1501116
1501371 Design and Analysis of Algorithms 3 1501215; 1501279
1501394 Junior Project in CS 2 Junior Standing
0202227 Critical Reading and Writing 3 0202112

 

Year 3, Semester 2 (15 Credits)
Course # Title CrHrs Prerequisites
1501319 Programming Languages and Paradigms 3 1501215
1501352 Operating Systems 3 1501215
1501365 Advanced Database Systems
3 1501263
1501372 Formal Language and Automata Theory 3 1501215; 1501279

1430117/

1420103/

1450101

Physics II /

Chemistry II/

General Biology I

 

3

0214111/

1420102/

None

 

Year 4, Semester 1 (14 Credits)
Course Title CrHrs Prerequisites
1501322 Professional, Social and ethical Issues in Computer Science 2 None
1501366 Software Engineering 3 1501215
1501370 Numerical Methods 3 1501116, 1440211
  General Free Elective – 1 3  
  Department Specialized Elective – 2 3  

 

Year 4, Semester 2 (12 Credits)
Course Title CrHrs Prerequisites
1501494 Senior Project in CS 3 1501394
  General Free Elective – 2 3  
  Department Specialized Elective – 3 3  
  Department Specialized Elective – 4 3  


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:

X

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)

A Year (level)  
B

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

C Course sequence in area  

Courses in the proposed program that are offered in the Department of Computer Science start with (1501). 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 (1501ABC).


Mandatory Core Courses

Description of the core courses are given below:

1501100                                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.


1501116                                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


1501211                                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: 1501116 Programming I.


1501215                                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: 1501211 Programming II.


1501246                                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: 1501211 Programming II.


1501252                                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: 1502201 Digital Logic Design.


1501263                                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: 1501116 Programming I.


1501279                                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: 1440131 Calculus I.


1501319                                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: 1501215 Data Structures.


1501322                                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.

 

1501352                                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: 1501215 Data Structures.


1501365                                Advanced Database Systems                                             (3-0:3)

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 queryign, file structures, indexing, query optimization, transaction processing, concurrency control, and database recovery. Prerequisite: 1501263 Introduction to Database Management Systems.


1501366                                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: 1501215 Data Structures.


1501370                                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: 1501116 Programming I or 1440211 Linear Algebra


1501371                                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: 1501215 Data Structures and 1501279 Discrete Structures.


1501372                                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: 1501215 Data Structures and 1501279 Discrete Structures.


1501394                                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: 1501215 Data Structures.


1501399                                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.


1501494                                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: 1501394 Junior Project in Computer Science.



Core Electives

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

1501330                                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: 1501215 Data Structures and 1501279 Discrete Structures.


1501341                                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: 1501116 Programming I.


1501433                          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: 1501215 Data Structures.


1501465                                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: 1501263 Intro. to Database Management Systems & 1501341 Web Programming.


1501355                                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: 1501252 Computer Organization & Assembly Language.


1501451                                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: 1501352 Operating Systems.


1501474                                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: 1501372 Formal Languages & Automata Theory.


1501440                                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: 1501215 Data Structures or 1501214 Programming With Data Structures.


1501441                                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: 1501215 Data Structures or 1501214 Programming With Data Structures.


1501459                                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: 1501215 Data Structures or 1501214 Programming With Data Structures.


1501445                                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: 1501341 Web Programming.


1501458                                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: 1501215 Data Structures or 1501214 Programming With Data Structures.


1501490                                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: Junior / Senior standing.


1501491                                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: Junior / Senior standing.


1501492                                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: Junior / Senior standing.


1501342                                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: 1501242 Interactive Multimedia or 1501246 Obj. Oriented Design with Java.


1501250                                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: 1501214 Programming with Data Structures or 1501215 Data Structures.


1501343                                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: 1501247 Multimedia Programming & Design or 1501246 Object Oriented Design with Java.



1501443                                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: 1501341 Web Programming, (1501246 Object Oriented Design with Java or 1501247 Multimedia Programming & Design).


1501444                                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: 1501247 Multimedia Programming & Design or 1501246 Object Oriented Design with Java.