Jump to the main content block

Curriculum

Course Course Description
LINEAR ALGEBRA  Linear Algebra is the important mathematic foundation of many computer applications such as digital signal processing, image processing, and cryptography. This course will cover linear equations, linear transformation, linear subspace space, orthogonalization, eigenvalues, and eigenvectors. We hope to teach the course with graphic techniques or Matlab programs, so that students can learn important linear algebra skills more naturally.
DATA STRUCTURES  Data structures play a critical role in computer science and are a key element in the design and implementation of almost every computer application. After the basic programming courses, students will now use high level languages such as C or object-oriented language (C++ or Java) to learn the data structure. This course will introduce and implement various data structures including lists, stacks, queues, trees, sets, maps, heaps, graphs, etc. Besides, this course also analyzes the performance (space and time complexities) of data structures at any time.
COMPUTER ARCHITECTURE  This course introduces students to the rationale and technology of computer architecture. Topics include computer language (assemble language and MIPS instruction set), arithmetic for computers, processor (logic design, pipelined datapath and control), memory hierarchy (caches and virtual machines), Computer peripherals (memory and I/O devices), parallel processing (multicores, multiprocessors, and clusters), and computer performance evaluation.
OPERATING SYSTEMS   An Operating System (OS) is a set of computer programs to manage the hardware for users.  This course is to introduce the operating system principle. Topics include process management, memory management, I/O management, file management and distribution system. The process management contains process concept, thread, CPU scheduling, and deadlock. Memory management contains allocation, paging of main memory and demand paging of virtual memory. File management contains file structure, access and control. Input/output management contains input/output subsystem and disk management. Distributed system contains system structure, file access, and job process.
COMMUNICATION PRINCIPLE  This course is designed to provide an understanding of the basic principles of data communications, the components of data communications, and the basic concepts of computer networks. Topics include: signals, basic concepts of data transmission, techniques of multiplexing and spreading, error and flow control, network models and architectures, communication devices, and examples of networks operating in the first two layers of the Internet model.
NETWORK PROTOCOL IMPLEMENTATION  TCP/IP provides the technology that glues computer networks together. The TCP/IP protocol suite includes many application protocols for internet services like file transfer, remote login, and electronic mail. This course provides a working knowledge that shows how application software uses TCP/IP protocols to communicate across the internet. Topics include TCP/IP protocols, client-server model, socket API, example client software, example connectionless server software, and example connection-oriented server software.
COMPUTER NETWORKS  This course is to provide an understanding of the basic concepts of computer communications, the TCP/IP suite of networking protocols, and its applications. This course covers basic concepts and underlying technologies, protocols in the network and other layers and the next generation of TCP/IP.
ALGORITHMS  This course introduces the foundations of computer algorithm analysis and design issues. Through the understanding of mechanisms for a variety of algorithms, and the training to analyze and solve the problems faced in practice, students can learn to design more efficient programs. Course content covers the complexity analysis of algorithms, graphics algorithms, and Internet applications related algorithms. Advanced topics include computational geometry and NP-Complete problems will also be introduced. Regarding problem-solving skills used in the curriculum, we will introduce the commonly used "greedy method," "divide-and-conquer," "dynamic programming," "tree-searching and traversal" and the "prune-and-search" and so on. In the direction of new development, this course intends to introduce the concepts of "amortization analysis", "approximation algorithm", "random algorithm" and "online algorithms", to enable the students to understand the latest developments and the trend in modern algorithm design.
OBJECT-ORIENTED PROGRAMMING  This course will serve as an introduction to C++. As it is only an introduction and the scope of C++ is huge, we will not be able to cover every aspect of the language. Instead, we will cover many of its important features and look at how it differs from other object-oriented programming languages.
MULTIMEDIA SYSTEMS  This course introduces the concepts and practices of multimedia. A course in multimedia is rapidly becoming a necessity in computer science and engineering curricula, especially now that multimedia touches most aspects of these fields. Multimedia was originally seen as a vertical application area; that is, a niche application with methods that belong only to itself. However, like pervasive computing, multimedia is now essentially a horizontal application area and forms an important component of the study of computer graphics, image processing, databases, real-time systems, operating systems, information retrieval, computer networks, computer vision, and so on. Multimedia is no longer just a toy but forms part of the technological environment in which we work and think. This course explores the key topics of voice, image, video, etc. The 2D Graphics, 3D Graphics and animation, Image processing, music editing and Video process software are also covered.
INFORMATION SECURITY  The goal of this course is to provide broad coverage of the topics associated with computer and information security to our students. Al-though not going into too much detail on any single subject, necessary materials are provided to understand the problems associated with the many aspects of security. While the danger of threats such as viruses or hackers is indeed real, there are basic actions to protect computer systems and networks from all but the most talented and persistent of intruders. Hopefully, with the course, our students will better secure the networks and computer systems they are, or will be, responsible for. The topics included: 1.Rationale of Information security2.Introduction to Cryptography3.Network and wireless networking security4.Security of E-commerce5.Database security6.Multimedia security techniques7.Concept of system security8.Software security9. Information security management10. Related law specifics of information security
PROBABILITY & STATISTICS  Introduce the theory of probability, especially from the application viewpoint. The contents include combinational analysis, axioms of probability, conditional probability, random variable, expectation, and limit theorem.
DIGITAL SIGNAL PROCESSING  This course covers the fundamental theory and important applications of digital signal processing. Topics include mathematical representation of signals, spectrum representation, analog-to-digital conversion, basic techniques of digital filter implementation and design, discrete Fourier transform and fast Fourier transform, and some applications of digital signal processing. This course will make extensive use of MATLAB as analysis, design, and visualization tool.
INTERNET TECHNOLOGIES  This course focuses on introducing the groundwork of the Internet as well as web site design techniques. It covers the introduction to markup language, scripting language, and web server application.
COMPUTER PROGRAMMING  The Objective of this course is to provide students with the fundamentals of programming and software development. The students can learn the concepts underlying the design, implementation, and use of C language. The course outline is scheduled as follows:1. Basic programming concepts2. Flow Control Structure3. Functions4. Arrays5. Pointers and Strings6. Structures and Unions
DISCRETE MATHEMATICS  This course is to provide a working knowledge of mathematics that supports computer science. The subject includes logic and boolean algebras, algorithms, graph theory, number theory, sets and relations, and finite-state automata.
INTRODUCTION TO COMPUTER SYSTEMS This course includes the introduction of the computer, number representation, OS, algorithms, data structure, file systems, database systems, networks, etc. This course introduces students who may never have used a computer before to the fundamentals of computing. The course also seeks to demystify the way a computer system works and also demonstrates how the computer can be used as a useful tool. This course was developed to provide students with an overview of the computer science discipline. The course assumes no previous background in computer science, programming, and/or mathematics.
ELECTRONIC CIRCUITS  Introduce the basic knowledge about electronic and circuit analysis. I will introduce the basic RLC passive elements, semi-conductor, transistor, MOSFET transistor, logic family, circuit analysis techniques, and some basic electronic circuits (such as amplifier, analog-digital transform, op-amp) and so on. This course will introduce the fundamentals of the lumped circuit abstraction. The fundamental of electronics such as resistive elements, network, independent and dependent sources, switches, BJT, FET, and MOS transistors, integrated circuit, digital abstraction, amplifiers, time domain and frequency domain circuit design, analog and digital circuits analysis will be delivered. As for circuit analysis, the Kirchhoff’s current and voltage analysis approaches will be given. In addition, some advanced electronic techniques such as laser will also be discussed in this course.
ARTIFICIAL INTELLIGENCE  This course introduces the basic theorems and latest developments in Artificial intelligence including expert systems, fuzzy logic, knowledge engineering, and neural networks. Nasa's Clips is our main language. Everyone in the course should play as a knowledge engineer and complete a project using Clips or other AI languages.
INTRODUCTION TO DIGITAL SYSTEMS  This course will deliver the techniques of digital logic design. The topics include some fundamental digital logic, combinational logic design, sequential circuit (such as flip-flop and counter), register and memory system, timing system design, synchronization system design, PAL, CPLD, FPGA, and finite-state machine. In addition, some lectures and problems will be provided to help students to understand the rationale of the digital system and implement their designation in areas such as microprocessor games, electronic music, digital filters, wireless communication, and computer graphics. Those algorithms will be implemented by utilizing the Verilog language for describing and programming the digital logic designs.
APPLIED CRYPTOGRAPHY  This course introduces modern cryptography and various kinds of  relevant applications. Two trends have come together to make the topic of this course of vital interest. First, the explosive growth in computer systems and their interconnections via networks has increased the dependence of both organizations and individuals on the information stored and communicated using these systems. This, in turn, has led to a heightened awareness of the need to protect data and resources from disclosure, to guarantee the authenticity of the data and messages, and to protect systems from network-based attacks. Second, the disciplines of cryptography and network security have matured, leading to the development of practical, readily available applications to enforce network security. This course including the Private-Key Cryptosystems, Public-Key Cryptosystems, One-Way Hash Functions, Digital Signature, Elliptic Curve Cryptosystems, Key Management, Cryptographic Module, IC card, etc..
NETWORK SECURITY  The goal of this course is to provide basic concepts in network security. We will first focus on the fundamental techniques used in implementing secure network communications, such as cryptography. Then, the network security applications, including authentication application, electronic mail security, IP security, and Web security, etc., will be discussed. Finally, we will introduce the common threats and attacks, as well as some practical experience in attacking and defending networked systems.
MICROPROCESSOR AND INTERFACING  This course mainly covers some classical microprocessor.  It contains the principles of microprocessors and even more like the structure, operation, and programming of microprocessors.
DATABASE SYSTEMS This course is designed to provide individuals with a complete introduction to database concepts and the relational database model. At the completion of this course, students should be able to understand a user’s database requirements and translate those requirements into a valid database design. Topics include 1. QBE and SQL2. Relational database concept3. Functional dependency and normalization4. Database design methodology5. DBMS functions and database administration6. Client/server databases7. Object-oriented databases8. Data warehouses9. Internet/intranet databases10. XML.
NETWORK DATABASES  There are many various kinds of websites by using network databases on the Internet, such as shopping malls, chatting rooms, blogs, human resources, network bank, ..., etc. To achieve the interaction between server and client to match everyone's needs, we combine the techniques of web design and database design. This course will introduce web control items, data verification, web management, database management, and SQL language. At last, we will demonstrate some applications of network databases.
NETWORK/WINDOWS PROGRAMMING  Based on the Java language, this course introduces the concepts and programming techniques of the networking and the windows GUI in an object-oriented concept. Worthy to be mentioned, this course simultaneously appears in three learning groups of course planning in our department, thus a basic course it is. The course progresses gradually, the first half focuses on the basic syntax and object-oriented language programming practices; the second half uses all kinds of examples as entries to the visual network/windows programming world. The students can learn the basic techniques and concepts of network/windows programming in this course.
DATA MINING  With the growth of the internet and database, data mining is more and more important. Many people wish to use data mining technology for extracting valuable information from a large data set. This course introduces data mining algorithms including AI techniques, neural networks, and evolutionary computation. We emphasize the application of data mining in analyzing financial data.
DIGITAL SYSTEM LABORATORY  The goal of this course is to practice the related experiment and through the hardware implement it to construct the necessary experience. The experimental topics included the following: 1.Basic digital logic circuits. 2.Combinational logic circuits.3.Flip-Flops4.Implement of ALU5.Counters6.Registers7.State machine8.PROM9.EPROM10.EEPROM
NEURAL NETWORKS  This course is focused on the learning and implemention of artificial neural networks. A lot of different networks and algorithms will be delivered including Hopfield, Perceptron, Delta, MSR, Radial basis, EBP, SOF, SVM, VQ, etc. In addition, the fuzzy theorem and fuzzy inferring will also be introduced. This course will focus on the following topics:1. Introduction2. Neuron Model and Network Architectures3. Perceptron Learning Rule4. Vector Space and Linear Transformation5. Hebbian Learning6. Performance Optimization7. Widrow-Hoff Learning8. Backpropagation9. Associative Learning10. Competitive Networks11. Grossberg network12. Adaptive Resonance Theory13. Hopfield Network
IMAGE PROCESSING  Visual information plays an important role in our daily life. This information, such as photographic images, remotely sensed images, medical images, geologic images, and biometric identification images, is represented and processed digitally. This course will provide basic concepts, mathematical foundations, and practical techniques for digital image processing. Topics include image acquisition/ representation, image enhancement/restoration, image segmentation/shape representation, mathematical morphology, and Image coding/ compression. Matlab is the recommended tool for the class. Software examples will be shown in class. To help students get familiar with Matlab, we will prepare a simple tutorial for Matlab at the beginning of the semester. 
PATTERN RECOGNITION  This course introduces fundamental concepts, theories, and algorithms for pattern recognition. Pattern Recognition techniques are useful in many applications, such as handwriting recognition, face recognition, fingerprint recognition, speech recognition, computer-aided diagnosis, computer vision, artificial intelligence and machine learning. Topics include: Bayesian decision theory, Maximum-likelihood and Bayesian parameter estimation, Nonparametric techniques, Linear discriminant functions, Algorithm-independent machine learning, Unsupervised learning and clustering. This course will make use of MATLAB as an analysis and visualization tool.
EMBEDDED SYSTEM DESIGN  This course is one of the representative courses in the program of embedded system and chip design. It covers some state-of-the-art important design concepts and related tools of the design of embedded systems. It discusses the related topics on system design issues from both hardware and software views which are from calculator structure,  memory system, reliable and robust design,  development mode, real-time operating system, work scheduling, effectiveness analysis, and so on. Students can learn the basic technologies and concepts of embedded system design from this lesson.
DATA STRUCTURE PROGRAMMING LABORATORY  This course focuses on fundamental data manipulation and analysis to students in their early stages of the academic career. Various computer nomenclatures will be introduced to develop an in-depth realization of several subjects and their significant roles in the field. Topics include iteration, induction, recursion, program running time, fundamental algorithms and data structures, as well as graphs and regular expressions. These topics spiritually sow the seeds of essential concepts to enlighten further exploration of the interesting subjects in the subsequent sprouting courses. To learn and think independently is highly encouraged. The relevance and inter-relationships between one and another are illustrated to establish a clear roadmap of computation principles.
INTERNET PROGRAMMING  In this course, we will introduce the technologies for Web-based Programming. This course will cover the basics of HTML(HyperText Markup Language), CSS(Cascading Style Sheets), JavaScript, and Java Server Pages. The students will learn to develop dynamic web sites using these technologies. Besides, we will provide knowledge of the characteristics of good web site design principles。
NETWORK IMPLEMENTATION  This course aims at leading the students to understand how the Internet works and probing into the technology of network construction thoroughly. Employing theory and practice, not only should the students progressively know the infrastructure of the Internet, but also be able to use proper tools and extant modules to carry out the planning, design and development of a network system. Topics of this course include fundamentals of networks, routing protocols, switching, and knowledge of internet infrastructure such as TCP/IP, client-server model, common tools, and network protection, etc.
E-BUSINESS SECURITY  e-Commerce is a commercial application building upon the Internet, World Wide Web ( WWW) make the e-commerce be able to do business more with less and cheap cost, while whether e-commerce can be booming and further influence the future of our economic development. To some extent very depends upon the development of data security and the building blocks of security transaction architecture. This course will introduce the security threats of e-commerce transactions, security technology, electronic bill payment, security auditing, digital certificates technology, secured transaction technology, and the related security knowledge over the Internet.
ANALYSIS FOR NETWORK ATTACKS AND ITS BEHAVIORS  The goal of this course is to provide broad coverage of the topics associated with computer and information security to our students. Al-though not going into too much detail on any single subject, necessary materials are provided to understand the problems associated with the many aspects of security. While the danger of threats such as viruses or hackers is indeed real, there are basic actions to protect computer systems and networks from all but the most talented and persistent of intruders. Hopefully, with the course, our students will better secure the networks and computer systems they are, or will be, responsible for. The goal of the class is to demonstrate various hacking techniques using the tools as an example to prove a point. For example, Netbus Trojan is showcased to show how a machine can be controlled by planting a server Trojan and control it by using client software. Practically speaking, the Netbus Trojan will be caught by anti-virus software and quarantined if files are infected. So do not dismiss this Trojan as being OUTDATED and does not work in real life. What you are showcasing is an example of a Trojan at work. This concept is VERY IMPORTANT. Topics included the following: 1. Ethics and Legal Issues. 2. Footprinting. 3. Scanning. 4. Enumeration. 5. System Hacking. 6. Trojans and Backdoors. 7. Sniffers. 8. Denial of Service. 9. Social Engineering. 10. Session Hijacking. 11. Hacking Web Servers. 12. Web Application Vulnerabilities. 13. Web Based Password Cracking Techniques. 14. SQL Injection. 15. Hacking Wireless Networks. 16. Virus and Worms. 17. Hacking Novell. 18. Hacking Linux. 19. IDS, Firewalls, and Honeypots. 20. Buffer Overflows. 21. Cryptography
INTRODUCTION TO GAME DESIGN  This course will show you how to design various games from simple board games to the complex on-line game. While many games will be covered, this course emphasizes on showing the students how to design their own games. This class will show you how to think about games from the designer’s viewpoint. Important timeless principles underlying successful games are given and explained in this course.
SINGLE-CHIP SYSTEM DESIGN AND IMPLEMENTATION  This course is one of the series of digital system courses and quite important to the students. It introduces the basic concepts of microprocessors including memory structure, hardware modes, timers, interrupt design, and serial port communication. The students can learn the basic concepts and control-programming experiences in this course.
COMPUTER GAME DESIGN  This course covers all the important concepts of game development, including the related knowledge of mathematics, physics, collision detection and response, artificial intelligence, image and sound effects, and so on. In addition to the theory, it also provides several full game projects for practice. These projects let students to have a more specific practical experience of the theory, and to understand how a commercial game prototype progress.
SPECIAL TOPIC ON INFORMATION SYSTEMS  This course will help students to build up their cooperative capabilities in implementing IT projects. Each group will be instructed by a faculty individually. There will be a final joint-together presentation at the end of the semester.
PROGRAM DESIGN LAB  In this course, we teach program design and C++. The students will learn a programming language (C++). Besides, they will also learn to write programs in C++ to solve the problems.
SYSTEMS ANALYSIS AND DESIGN  This course will teach students how to develop modern information systems by using object-oriented technology and UML (Unified Modeling Language). In particular, this course will introduce the processes of system analysis and design from several viewpoints, including functional viewpoint (Use Case Diagram and Activity Diagram), static viewpoint (Conceptual Modeling, Class Diagram, and Object Diagram), dynamic viewpoint (Analysis Object and Sequence Diagram), deployment viewpoint (Component Diagram and Deployment Diagram), and design viewpoint (Design Pattern and Framework).
ASSEMBLY LANGUAGES  Teach assembly language, and related hardware and number representation theories. The 80X86 assembly language will be instructed, and to use assembly language to write the program for peripheral control will be enhanced, too. Since Assembly Language is a low-level language, to understand the CPU structure (programming model of Assembly language) is important. Besides this, using the DOS library is also important to write useful programs. DOS library is also an important point for teaching.
MULTIMEDIA & DIGITAL EDITING  The Department of Planning courses in the following main courses: 2D computer animation, Internet multimedia, digital video production, 3D computer animation, commercial photography, corporate identity systems, digital video editing, advertising, film production, computer games, and other professional courses.
2D computer animation: the computer from the auxiliary tool designed to further enhance the creative arts and design tools, with special emphasis on the use of a variety of graphics software, and inspire creative ideas and skills with a view to its students can use in Visual Communication Design on various fields.
Internet Multimedia: lesson pipeline through questionnaires, collect and evaluate data, statistics and analysis, information security, and network investigation and other ethical issues. The goal is to help students understand the basic concepts and related multimedia technology, multimedia design so that students have the ability to appreciate and editing and multimedia design with a theoretical basis and practical skills.
Digital video production: exploring the film's story idea generation, creative content construction, planning to write a book is completed. And the real story for the complete video production, and the way the division of labor, training, and experience the nature of work for each job
3D Computer Animation: goals for students to have a good understanding of 3D animation and advanced technology to explore for a deeper study by practical experience in the production of the topic, students design and manufacture advanced 3D animation capabilities. Courses will be designed to focus on the concept of 3D computer animation exercises and techniques (model construction, textures set, lighting and camera use, keyframe animation production) as well as animation theory introduction. 
INTELLIGENT MOBILE PHONE PROGRAMMING  The Intelligent Mobile Phone Programming course will teach students how to utilize Android development tools, including Java JDK and Android Studio, to develop various applications that can run on Android mobile phones. The subjects to be taught in this course include Android Architecture and Android Studio Development Environment, XML and Java Review, Android GUI, Resource Management and Dialogs, Event and Menu, Intents to Trigger Activities and Applications, Content Provider and Adapter, Preference Setting, Database, Broadcast Receiver, System Services, Drawing and Multimedia, Networking and Communication, Package and Publish Applications, etc. This course also teaches how to combine Google Maps and Location cloud services to extend the application scope of intelligent mobile phones. 
FUNDAMENTAL CLOUD COMPUTING PROGRAMMING  This course will teach the fundamental skills of cloud computing programming. The course covers four parts:(1) Introduction to Cloud Computing and Deployment of Cloud Web Site and Cloud Web Service, (2) C# Programming, (3) Web Site Design using ASP.NET MVC, and (4) RESTful Web Service Design using ASP.NET Web API 2. It is expected that the students taking this course will learn the characteristics of cloud computing and programming skills of cloud web sites and cloud web services after completing this course. 
SYSTEMS FOR INTERNET OF THINGS  This course provides an overview of the Internet of Things (IoT) principles and technologies from the viewpoint of computer science majors. IoT technology has become the most exciting area in telecommunications and networking. The rapid growth of mobile phone telephone use, various satellite services, and now the wireless Internet and wireless LANs are generating tremendous changes in telecommunications and networking. This course explores the key topics in the field in the following categories: Technology and architecture (including frequency band, signal encoding technique, error correction technique, and network architecture), Network type (including satellite, cellular, fixed wireless access, and wireless LAN), Design approaches, Applications (including mobile IP and wireless Web access).
SEMANTIC WEB  Semantic Web Programming takes the Semantic Web directly and boldly into solving practical, real-world programs that flexibly deliver real value from our growing ability to access information and services from our laptop to the enterprise to the Word Wide Web.
LINUX SYSTEM MANAGEMENT  In this course, we'll start from the basics of Linux commands, explaining how to run the shell program and some skills needed in shell programming. The aim of the course includes the
following:
* Introduction to the Linux environment
* Shell programming environment
* Shell syntax and debugging
* Practical examples for Linux programming
OBJECT-ORIENTED PROGRAMMING LAB  This course will serve as a lab course of introduction to C++.  Students will practice object-oriented programming skills in this course.
COMPUTER MATHEMATICS  This course is a freshman-level mathematical course, for which only a traditional background of high-school-level mathematics is required. The course prepares students for junior and senior-level courses in the areas of communications, digital signal processing, and multimedia computing. Since the signals (or data) of the abovementioned areas are mostly represented or stored in digital form, this course put emphasis on manipulating mathematical expressions, using computers to analyze and solve engineering problems, and constructing numerical solutions.
COMPUTER ANIMATION AND MODELING  This course is intended to offer students an introduction to the design of computer animation and 3-D modeling. It provides a basic understanding of the skills and techniques employed by 3-D designers in a wide range of applications. We will explore basic mesh modeling, texturing, lighting, animation and rendering. These techniques should provide a good basis for further independent study in architectural, engineering, game, theatrical and character modeling.
DATA ANALYTICS WITH R  The course is divided into two parts, the first part will be the main teaching language R, allow students to understand the characteristics of the R language, and writing skills; the second part will make use of the R language suite of data analysis related to implementing different data analysis algorithms.
INNOVATION AND ENTREPRENEURSHIP OF INFORMATION TECHNOLOGY  This course provides a systematic and practical way for new information technology product planning.  According to the various levels of analysis, the students could make good decisions about the corresponding business scenario. The students have to write an information technology entrepreneurial plan.
INFORMATION TECHNOLOGY INTERNSHIP  In order to enable students to combine theory and practice, and increase students' workplace adaptability and employment competitiveness, this course will arrange students to information technology-related companies for internships.
Students will experience workplace life and verify what they have learned by actually joining related companies. 
CROSS-PLATFORM MOBILE APPLICATION DEVELOPMENT  The mainstream operating systems include iOS, Android, and Windows Phone. It is time-consuming to develop native mobile apps on each specific platform. The developer must customize apps for each operating system. It's also complicated to maintain these native apps. The cross-platform mobile apps development develops mobile apps by using web development technologies like HTML5, CSS, jQuery Mobile, and Apache Cordova. The approach not only reduces the difficulty to develop apps, but also makes native-like mobile apps by taking advantage of accessing built-in capabilities of mobile devices like GPS, address book and camera. Prior knowledge about HTML, CSS, and Javascript is required. The students can learn jQuery and DOM model firstly. Then they will learn how to develop pages of mobile apps by jQuery Mobile. Besides, Students will also learn how to build apps utilizing device hardware resources like contacts, camera, accelerometer, and GPS.
RESEARCH AND SERVICE IN INFORMATION TOPICS  This course is designed for students who want to do more in-depth research on the topics they have done. Our students will serve society by using information technology they have learned.  This course will provide service-learning credits to students.  At first, do researches about the organization we served.  Then propose how to carry out service-learning activities.  Finally, serve the society with practical actions. 
CUDA PROGRAMMING AND DEEP LEARNING  This course is designed for students looking to leverage and harness the processing power of modern graphics hardware for various computing problems. We will learn techniques for CUDA programming and basic parallel programming model. We will also introduce libraries for deep learning techniques.