Digital Technology (DT)

DD 100    Introduction to Psychology for Digital Media                                   3 (3-0-6)                  
   This course introduces fundamental concepts in psychology including perception, cognition, personality and social psychology, and biological aspects of behavior that have an impact on the traditional and digital communication.

DT 100    Fundamentals of Mathematics for Computer Graphics                   3 (3-0-6)           
      Fundamental knowledge of linear algebra and trigonometry.  Topics covered in this course includes  2D geometry, polynomial, rational, trigonometric, exponential and logarithmic functions as well as their inverses; analytic trigonometry, trigonometric identities, the unit circle, and trigonometric functions of a real variable; introduction to linear systems, basics of linear transformations in 2D; vectors, parametric lines, dot product, and projections in 2D.

DT 101    Fundamentals of Mathematics for Computer Graphics Lab            1 (0-2-1)
   Practicum to enhance programming knowledge in DT100

DT 110    Applied Calculus and Analytic Geometry 1                                       4 (4-0-8)
   Introduction to college Calculus.  Topics covered in this course includes sequences and series of real numbers, power series and Taylor series, and calculus of transcendental functions, multivariable and vector calculus.

DT 130    Project Introduction                                                                              4 (0-8-4)
   Introduction to game development, game process, game history and game industry.  This course focuses on team building, creating game or simulation as a team. 
   
DT 131    Project                                                                                                    4 (0-8-4)
    This course introduces methods for working effectively on a team, coding best practices, team communication, legal issues of game industry and game marketing.  Students work as a group to make a simple two-dimensional game or simulation.

 

DT 160    High Level Programming                                                                     3 (3-0-6)
     Foundation of high-level programming courses and projects. Topics covered in this course includes control flow, decision making, case selection, procedure iteration, basic data types, array, memory and pointer, structure, string and file.

DT 161    High Level Programming Lab                                                             1 (0-2-1)
Prerequisites: used to study or study together with DT160                   
     Practicum to enhance programming knowledge in DT160

DT 162    Object-Oriented Programming                                                          3 (3-0-6)
Prerequisites: used to study DT160
               Introduction to C++ language and object-oriented programming.  Topics covered in this course includes differences between C and C++, namespaces, function and operator overloading, classes, abstract data types, encapsulation, inheritance, templates, and fundamental STL components.

DT 163    Object-Oriented Programming Lab                                                   1 (0-2-1)
Prerequisites: used to study or study together with DT162     
            Practicum to enhance programming knowledge in DT162

DT 170    Game Design and Implementation Techniques                               3 (3-0-6)
Prerequisites: used to study or study together with DT162
     Introduce interactive graphic programming and game engine architecture.  Topics covered in this course includes game flow, game loop, system component, game state management, input/output handler, state machine, collision detection, scene management and 2D rendering.  Students learn how to implement 2D games or interactive graphic applications.

DT 180     Computer Organization and Architecture                                       3 (3-0-6)
   Fundamental elements of computer.  Topics covered in this course includes number systems and computation, electricity and basic circuits, logic circuits, memory, computer architecture, and operating systems.  Students learn how to implement operational code and assembly languages on a hardware platform, such as a personal computer or an autonomous vehicle.

DT 181     Computer Organization and Architecture Lab                               1 (0-2-1)
Prerequisites: used to study or study together with DT180                  
   Practicum to enhance programming knowledge in DT180

DT 200      Applied Calculus and Analytic Geometry 2                                   4 (4-0-8)
Prerequisites: used to study DT110
   This course is a continuation of DT 110.  Topics covered in this course includes differential operators on vector fields, multiple integrals, line integrals, general change of variable formulas, Jacobi matrix, surface integrals, theorems of Green, Gauss, and Stokes.

 

DT 201     Linear Algebra                                                                                   3 (3-0-6)
Prerequisites: used to study DT200              
   Mathematical foundations of linear algebra.   Topics covered in this course includes matrix algebra and linear systems of equations as well as basics of linear transformations in Euclidean spaces, determinants, and the Gauss-Jordan Algorithm, abstract vector spaces, linear independence and bases, orthogonality, change of basis, general theory of linear transformations, and eigenvalues and eigenvectors, least-squares approximations, Fourier transforms and differential equations.

DT 210    Dynamics                                                                                             4 (4-0-8)
Prerequisites: used to study or study together with DT200 
     Fundamental principles of mechanics, including kinematics, Newtonian dynamics, work and energy, momentum, and rotational motion.  Students experience with the laws of basic physics involving linear motion, force, gravitation, conservation of energy, conservation of momentum, collisions, rotational motion, and springs.

           

DT 211    Dynamics Lab                                                                                      1 (0-2-1)
Prerequisites: used to study or study together with DT210
       Practicum to enhance programming knowledge in DT 210

           

DT 230    Advance Project 1                                                                              4 (0-8-4)
Prerequisites: used to study DT110 DT131 DT162           
   
DT 231    Advance Project 2                                                                              4 (0-8-4)
Prerequisites: used to study DT260 and have taken DT230 
    Students continue and complete the project in DT 230.

DT 247    Theory and Principles of Game Design 1                                        3 (3-0-6)
   Fundamental of game design and game mechanics such as randomness, game state, hidden information. Introduction to specification design, game rules, playtesting and game balance.

DT 257     Theory and Principles of Game Design 2                                       3 (3-0-6)
Prerequisites: used to study  DT 247
   Analyze and simulate interactive game systems. Introduction to system analysis and simulation, game balance, combat systems, and economic systems.

DT 260    Advance Programming                                                                     3 (3-0-6)
Prerequisites: used to study DT262
    This course is built on the first two high-level programming courses (CS 120 and CS 170).  It focus on advanced topics of the C/C++ programming language in greater detail.  Topics covered in this course includes advanced pointer manipulation, utilizing multi-dimensional arrays, complex declarations, and standard library functions, class and function templates, operator overloading, multiple inheritance, runtime type information, the standard template library, and performance issues.


DT 261    Data Structures                                                                                  3 (3-0-6)
Prerequisites: used to study DT260
     Introduction to abstract data types.  Topic covered algorithms for data structures such as arrays, linked lists, stacks, queues, trees, hash tables, and graphs.  The course also examine algorithms complexity of these data structures.

DT 280    Operating Systems                                                                            3 (3-0-6)
Prerequisites: used to study  DT180 and DT162
   Overview of modern operating systems.  Topics covered in this course includes computer organization and design, process management, threading, interprocess communication, process synchronization, and memory management.


DT 284    Computer Graphics 1                                                                        3 (3-0-6)
Prerequisites: used to study  DT162 and DT100
    Mathematics, data structures and algorithms for creating, animating and viewing 2D graphic primitives.  Topics covered in this course include drawing lines, circles, curves, triangles, transformations, culling, clipping and 2D viewing pipeline.  Students learn how to implement 2D graphics applications.  Preparing the students with the knowledge background for learning 3D applications. 

 

DT 285     Computer Graphics 2                                                                       3 (3-0-6)
Prerequisites: used to study  DT284
   Mathematics, data structures and algorithms for creating, animating and viewing 3D graphic objects.  Topics covered in this course include 3D graphics pipeline, 3D representation, transformations, key frame animation, intersection testing and collision detections.  Students learn how to implement 3D graphics applications. 


DT 300    Discrete Structures                                                                            3 (3-0-6)
Prerequisites: used to study DT200
    Several mathematical topics that are the foundation of computer sciences. Topics covered in this course includes propositional and first order logic, mathematical proof and reasoning, basic set theory, number theory, enumeration, recurrence relations, mathematical induction, generating functions, and basic probability, graph theory, asymptotic analysis, and finite automata.

 

DT 328      Graphic and User Experience Design                                            3 (3-0-6)
Prerequisites: used to study  DT162 
    Explore elements of visual design and apply them to computer user interfaces. Analyze various types of sensory interfaces and create representations of information valuable to a system user. Examine overall enjoyment of the user experience, consideration towards relating the user experience to the theme of the game or system. Usage of various industry-standard languages related to prototype interfaces.
 

DT 330     Special Topic 1                                                                                 4 (0-8-4)
Prerequisites: used to study  DT284  or used to study or study together with DT387, DT261, DT231, DT210
    Students work as a group to make an advanced game or simulation.  Students can create 2D games or 3D games using graphics API.   Students work on implementing technical features, such as simple 3D scene management, 3D rendering pipeline, artificial intelligence, networking, animations and physic system.


DT 331    Special Topic 2                                                                                 4 (0-8-4)
Prerequisites: have taken DT330
   Students continue and complete their project in DT 330.

 

DT 332    Field Training                                                                                   3 (>120)
   Internship in an institute or industry for at least 120 hours.


DT 347    Game Space and Camera Design                                                 3 (3-0-6)                  
Prerequisites: used to study  DT162
    Design 2D and 3D game spaces and camera design. Introduction to spatial archetypes, spatial affordances, map design. Introduction to 2D and 3D game level and camera design.

 

DT 357    Game Prototyping                                                                          3 (3-0-6)
Prerequisites: used to study DT162 and DT247
   Design and implement game prototypes in common genres. Topics in game design including building tension, effective methods for giving feedback and teaching players, and using interactive elements to create player engagement.


DT 360  Basic Theory in Artificial Intelligence                                             3 (3-0-6)
Prerequisites: used to study DT261
   Focus on AI algorithms that are commonly used in game.  Topics covered in this course include movement, path finding, decision tree, state machines, behavior tree, learning and minimaxing.  Students learn how to implement game AI algorithms and integrated them into theirs games.

DT 361     Design and Analysis of Algorithms                                             3 (3-0-6)
Prerequisites: used to study DT 200, DT 260, DT 261
     Introduction to problem solving. Techniques for designing algorithms and for analyzing the time and space efficiency of algorithms. Topics covered in this course includes divide-and-conquer, greedy algorithms, dynamic programming, graph traveling, backtracking, branch and bound, sorting, searching, randomized algorithms and NP problems.

 

DT 366     Low-Level Programming                                                             3 (3-0-6)
Prerequisites: used to study DT 180, DT 280
   Introduction to modern microprocessor architectures.  Topics covered in this course includes computer architecture and modern assembly languages.  Students learn how to implement assembly language in order to understand how CPU work, how compiler work and how to optimize high-level language programs.


DT 377    Software Engineering                                                                   3 (3-0-6)
Prerequisites: used to study DT 260
   Topics include system architecture, security, methodologies and notation, UML, object-oriented analysis and design, requirements analysis, implementation, verification, validation, maintenance, and software engineering standards. Risk management and iterative design receive special emphasis. Student teams apply acquired knowledge to a substantial project.


DT 378     Introduction to Databases                                                          3 (3-0-6)
Prerequisites: used to study DT 162
   Overview of database systems.  Topics covered in this course include database architectures, data modeling, query languages, design schemes, transaction management and file organizations.  Students learn how to create and deploy a database and to process data.

 

DT 384     Advanced Computer Graphics 1                                              3 (3-0-6)
Prerequisites: used to study  DT 285
   Introduction to GPU architecture, programing and graphics API.  Focus on real-time rendering techniques such as shading model, lighting model, texture mapping, mapping techniques, shadow.  Students learn how to implement real-time rendering techniques with graphics API and shader code.

 

DT 385    Advanced Computer Graphics 2                                                3 (3-0-6)
Prerequisites: used to study DT 384
   Focus on complex 3D scenes representation, management and rendering.  Topics covered in this course include spatial data structures such as binary space partitioning tree, octree, kd-tree, grid, bounding volume hierarchies.  Learn how to use these structures for perform object-culling, object query and rendering.


DT 386    Computer Networks                                                                    3 (3-0-6)
Prerequisites: used to study DT 280 และ DT 260
    Introduction to network communications, network standards, client-server models, internet protocol, TCP/IP and network management.  Students learn how to implement program the can send and receive data using networks libraries.

 

DT 387    Introduction to Computer Graphics                                          3 (3-0-6)          
Prerequisites: used to study DT162
   This class presents overview of 3D computer graphics. Topics include fundamental components of graphics engine, graphics pipeline, 3D transformation operations, viewing and projection, lighting and shading models, surface detail techniques, hidden object culling and removal techniques, 3D object modeling. Introduction to popular graphics programming languages (such as GDI plus, OpenGL, DirectX) and shader programming.


DT 430      Special Topic 3                                                                          3 (1-4-4)  
Prerequisites: used to study  DT331
     Students work as a group to make an advanced game or simulation.  Students work on implementing technical features, such as advanced 3D scene management, special rendering effect, advanced artificial intelligence behavior, networking, complex animations and physic system.

 


DT 447    2D and 3D Game Design                                                         3 (3-0-6)         
Prerequisites: used to study  DT357
    Study game design and game implementation using a 3D engine. Create a game with one or more levels from start to finish, including modifications to game mechanics, controls, and cameras. Topics including aesthetics, environment building, lighting, texturing, resource placement, player guidance, player controls, camera controls, scripting, and game mechanics in 3D.


DT 465    Physical Simulation for Computer Graphic                           3 (3-0-6)
Prerequisites: used to study  DT210, DT260
   Mathematics and Physics background on laws of motion.  Topics covered in this course include particle based physics system, mass aggregate physics, mass-spring system, constraints, rigid-body physics, collision detections, collision resolution and friction.  Students learn how to implement physic simulation projects.

DT 466     Introduction to Interactive Sound Synthesis                        3 (3-0-6)
Prerequisites: used to study DT260, DT261
   This course cover real-time dynamic sound synthesis, 3D auditory effects, and sonic ambience used in real-time simulations and video games. Other topics creating different kinds of sounds such as collision sounds, wind effect, natural and ambient sounds using techniques including additive synthesis, subtractive synthesis, granular synthesis and layering and spectral filtering.


DT 468    Selected Topics in Computer Science                                   3 (3-0-6)
Prerequisites: used to study DT260
   Study current topics of interest in Computer Science. 


DT 474      Image Processing                                                                  3 (3-0-6)
Prerequisites: used to study DT260, DT261
   Introduction to mathematics and algorithms for image processing.  Topics covered in this course include image acquisition, image operations, filters, Fourier transform, Wavelet transform, working on frequency domain, color models, image compression and image segmentation.  Students learn how to implement various image processing algorithms and apply them to create image processing applications.

 

DT 475    Animation and Modeling                                                       3 (3-0-6)
Prerequisites: used to study DT384 or DT387, DT260
   Introduction to theories and techniques of 3D modeling, texture mapping, key framing, forward kinematic and inverse kinematics.  Students use 3D content creation software to create simple animation

 

DT 484    Selected Topics in Computer Graphics                                3 (3-0-6)
Prerequisites: used to study DT284 or DT387
    Study current topics of interest in Computer Graphics.