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 |
1430115 |
Physics I |
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 programming techniques with a high level programming language. Topics include general introduction to computers and numbering systems, program development process, variables, data types, expressions, selection and repetition structures, functions/procedures, text files, arrays, and pointers.
Perquisite: None
1501211
Programming II
(2-2:3)
This course introduces fundamental conceptual tools and their implementation of object-oriented design and programming such as: object, type, class, implementation hiding, inheritance, parametric typing, function overloading, polymorphism, 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 concepts of computer architecture and low level programming, Subject includes: Microprocessors architectures, Bus concepts, 8086 assembly language instructions set, Segmentation and memory 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 representations of numbers, arithmetic modulo, radix representation of integers, change of radix. Negative and rational numbers. Sets, one-to-one correspondence, properties of union, intersection, and complement, countable and uncountable sets. Functions: Injective, subjective, and bijective functions. Mathematical Induction, proof by contradiction. Combinatory: Multiplication rule, Pigeonhole principle, Recurrence relations. Fundamentals of logic, truth tables, conjunction, disjunction, 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-oriented analysis and design, management of software projects, CASE tools, verification 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-performance and low-cost design. It covers in details logical design of computer systems. Topics include reduced instruction 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 multiprocessors.
Prerequisite: 1501252 Computer Organization & Assembly Language.
1501451
Computer Networks
(3-0:3)
Network uses. Network components. Network classification and services. Network architectures. Network protocols and their performance. Study of specific 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 fragmentation. 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 concepts rather than how to use the current multimedia tools. Topics covered by the course include introduction to multimedia, multimedia authoring, image and video representation, color basics, fundamental concepts of video, basics of digital audio, lossless and lossy compression algorithms, image and video compression 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 curricula. 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 curricula. 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 curricula. 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.