Information Technology
1. DIGITAL SYSTEM
The course discusses digital circuits that are main constituent of a computer system. Itcovers the difference between analog and digital systems and the benefits of digital systemsover the analog one. It discusses basic digital components of a computer system such asflip-flops, registers, memory, counters, and others. It discusses how to construct and simplifybuildings of digital systems.
2. ELECTRICAL CIRCUIT
The course introduces basic concept of electrical circuits such as Kirchhoff's Laws, resistivecircuits using Thevenin and Norton theories, dc operating point and others.
3. PROGRAMMING CONCEPTS
This course gives a solid programming foundation. Student will learn all the fundamentalconcepts of programming including how to think algorithmically and systematically to solvegiven problems. The basic construction of programming language, such as variable and datatype concept, selection instruction, looping instruction, function, pointer, and file also willbe given in this course. C programming language will be used as programming tool.
4. COMPUTER ORGANIZATION AND ARCHITECTURE
This course gives knowledge about all the hardware components and subsystem of computerincluding the processor, memory, input-output devices, bus, and the interaction among them.This course also discusses computer organization in different level of view such as the digitallogic level, the micro architecture level, the operating system level, and he assembly languagelevel. Parallel computer is also given briefly.
5. COMPUTER NETWORK
This course discuss the basic principle of networking including the necessary hardwarecomponents (hub, bridge, router, Ethernet card, cabling, etc.), the protocols (TCP-IP andOSI layering), and the applications. Student will have a hand on experience on how to setup the network including how to set up local area network (LAN) and wide area network(WAN) and how to manage the network. The recent issues of networking (content distributionnetwork, mobility and mobile IP, wireless and broadband network, multimedia networking)also will be discussed.
6. DATABASE SYSTEM
This course gives knowledge and skills to design a well formed database and to manage anexisting database system. The methodology of database design will be discussed thoroughlybeginning from creating E-R diagram, converting E-R diagram to relational model, identifyingfunctional dependency and multi valued dependency, applying axioma Armstrong, normalization(1NF, 2NF, 3NF, BCNF, 4NF, 5NF), and implementing in the computer. Student also will havethe skill to use the SQL database language in any DBMS software, connecting the SQL toprogramming language, and developing the database applications. The database administratorskill such as doing back up, recovery, replication, and concurrency control will be given aswell. Microsoft SQL server, oracle, visual basic, and ASP will be used as DBMS and softwaretools.
7. DISCRETE MATHEMATICS
This course gives a strong mathematical foundation needed for computing. This course willcover the computational logic, set and relation, counting, induction principle, number theory,tree, graph. How to measure the complexity of a program also will be discussed.
8. OBJECT-ORIENTED PROGRAMING
This course gives a solid foundation of how to think and create a program in object orientedparadigm. This course will cover all aspects of object oriented programming paradigm suchas the concept of class, object, encapsulation, inheritance, polymorphism, and operatoroverloading. C++ programming language and java programming language will be used asprogramming tools.
9. MATRIX AND VECTOR
The course discusses linear algebra. Its primary emphasis is developing matrix techniquesfor solving systems of linear equations. The course will discuss the use and application ofmatrices in the solution of systems of linear equations, determinants, vector spaces, lineartransformations, Eigen values, and eigenvectors. It also discusses vectors and their applications.
10. DATA STRUCTURE AND ALGORITHM
This course gives a solid foundation of how to create and manipulate from the simple datastructure to complex data structure and some algorithm design techniques. The data structurediscussed including list, stack, queen, tree, and graph. Various sorting algorithms (insertionsort, shell sort, heap sort, merge sort, quick sort, indirect sort, bucket sort, and externalsort), searching algorithms (linear searching, binary search, trie).
11. INFORMATION SYSTEM ANALYSIS AND DESIGN
The course will give knowledge and skills of how to analyze and design a system. Varioussystems analysis and design methodology (SDLC, RAD, object oriented analysis and design,etc) and tools (DFD, ERD, UML, etc) will be discussed. The students will have a hands-onexperience to analyze and design a real word system using those methodologies.
12. MANAGEMENT INFORMATION SYSTEM
This course focuses on how to manage an information system and how to support thecompany business process with an information system. This course will cover the organizations,management, and the networked enterprise; the information technology infrastructure; theorganizational and management support system for enterprise, and how to build and managethe information system.
13. COMPUTER VISION AND IMAGE PROCESSING
The course will provide mathematical foundations and practical techniques for digitalmanipulation of images; image acquisition; preprocessing; segmentation; compression; andthe relevant algorithms. It also gives skill of developing program related to the course suchas pattern and/or symbol recognition.
14. NETWORK PROGRAMMMING
The course provides fundamentals that are needed to develop networking software along withcase studies of several networking applications. Students can understand how to design anddevelop networking software. The topics will include the socket concepts; socket API, developingclients for common services (FTP and telnet, SMTP, POP, IMAP, NNTP, Web clients), developingTCP client/server systems (forking server and the inetd daemon, multithreaded applications,multiplexed applications, nonblocking I/O, bulletproofing servers, poll), and some advancedtopics (TPC urgent data, the UDP protocol and servers, broadcasting, multicasting, etc).
15. DISTRIBUTED SYSTEM
This course introduces and discusses basic concepts and principles of distributed operatingsystems, interprocess communications, distributed file systems and Distributed Transaction,shared data, Time and Coordination, Replication,.and the middleware approach. Topics:Introduction - Characteristics of Distributed Systems; Process Management Communicationin Distributed Systems; Distributed Synchronization; Distributed Real-time Systems; FileSystems; Naming Security; Fault Tolerant Distributed Systems; Distributed Simulation; WWWas an application of Distributed System
16. MACHINE LEARNING
This course discusses the basic concepts and algorithms in machine learning in order tomake better use of powerful computers to learn knowledge (or regularities) from the rawdata. The objective is to build self-learning systems to help human from some of already-too-many programming tasks.
17. SIMULATION AND MODELING
The course will introduce simulation modeling and analysis techniques with application toproduction, logistics, service, and other systems. Emphasis on model building, applicationof basic statistical data analysis, and the use of simulation for design, evaluation, andimprovement of such systems.
18. VISUAL COMMUNICATION AND DESIGN
This course introduces concept and elements of design as applied to visual communication.The objective is to provide students with the skills required to engage in innovative designand creation of interactive digital media suitable for use in today's e-business and e-learningsettings.
19. MULTIMEDIA SYSTEM
The course introduces representation and modeling of multimedia entities using variousmodeling approaches, matching of a model with an input entity, and derivation of a modelfrom sample entities emphasizing on the nonvector-space approach, which complementsthe vector-space approach to multimedia analysis The objective is to provide a comprehensiveand rigorous treatment of the main approaches in multimedia (document, image, video,graphics) analysis.
20. COMPUTER ETHICS
The course discusses the interaction between law, regulations, policies and informationtechnology as they relate to ethic issues on the use of the technology especially the Internetin the modern business world.
21. COMPILER DESIGN
The course introduces the basic concept of program compilation, various techniquesfor program parsing, program analysis, program optimization, and run-time organizationrequired for program execution. It covers regular expressions, context-free grammars,lexical analysis, syntax analysis; different algorithms for parsing codes, such as top-down parsing, bottom-up parsing; translation to abstract syntax using modern parsergenerator technology, intermediate representation, semantics analysis, type system,un-optimized code generation, code optimization, data-flow analysis, instructionscheduling.
22. GEOGRAPHICAL INFORMATION SYSTEM
The course examines in detail the fundamentals of Geographic Information System (GIS)and their applications. It will describe the combination of hardware and software withcapabilities for manipulating, analyzing, and displaying spatially-referenced information whichis referenced by its location.
23. INFORMATION RETRIEVAL
The course will deal with the automated storage and retrieval of documents techniques thathave also been used in areas such as office automation and software engineering. It coversretrieval models such as Boolean, vector space, and probabilistic, relevance feedback andweb search engine.
INFORMATION TECHNOLOGY CORE
1. OPERATING SYSTEM
The course addresses fundamental understanding of operating system including its functions,concept , structures. It covers all traditional topics of operating system such as processesand threads, system calls, memory management, deadlocks, interprocess communication(ipc), and input/output as well. These principles are thoroughly described with real operatingsystems such as DOS, Windows-base, Unix, and/or Unix.
2. INTERNET PROGRAMMING
The course discusses several topics in internet technologies. It covers TCP/IP, namespace,connections, and protocols, web/HTTP/HTML/VBScript/JavaScript technique for text, images,links, and forms as well. It also gives basic knowledge and skills of developing server sideprogramming. CGI scripts, PHP programming, and ASP programming.
3. COMPUTER GRAPHICS AND ANIMATION
The course will address the fundamental understanding of major elements of computergraphics including design, geometric modeling, rendering and animation. It also introducesmodeling and objects hierarchy, 3D algorithms such as raster and others, and advance displayarchitecture. The application of computer graphics (game, virtual reality, etc) also will bediscussed.
4. WIRELESS COMPUTING
This course will cover a broad selection of topics in data communications, resourcemanagement, network protocols, distributed computing, information management, userinterfaces, applications/services, and security in wireless/mobile environment. It also discussesthe principles of mobile computing and its enabling technologies (1G, 2G, 3G, etc), andexplores a young but rich body of exciting ideas, solutions, and paradigm shifts. The studentswill also have a hands-on experience of how to create the wireless/mobile applications (sms-based application, wireless markup language, etc).
5. ARTIFICIAL INTELLIGENCE
This course introduces basic concepts and methods of artificial intelligence. The course willconcentrate on the selection of data representations and algorithms useful in the design andimplementation of intelligent systems. The course will contain an overview of one al languageand some discussion of important applications of artificial intelligence methodology. Thetopics will include intelligent search (alpha-beta pruning), machine learning (neural network,statistical machine learning, decision tree, genetic algorithm), natural language processing,intelligent game, automatic speech recognition, automated theorem proving, expert system,data and text mining, and knowledge management.
6. ALGORITHMIC STRATEGIES
This course is indeed the continuation of data structures and algorithms. It will focus mainlyon algorithm design techniques: greedy, divide and conquer, dynamic programming,backtracking algorithm, randomized algorithm.
7. IT PROJECT MANAGEMENT
The course focuses on models used in a software development project, including tools thatimprove project productivity. Topics include concepts of project management, task scheduling,cost estimation models, risk assessment and software maturity framework.
8. SOFTWARE ENGINEERING
This course addresses the issues of how to manage the software development project. Thiscourse will cover the managing software projects, conventional method for softwareengineering, and object oriented software engineering. The advanced topics in softwareengineering such as formal methods, software reuse, reengineering, and computer aidedsoftware engineering also will be discussed.
9. COMPUTER AND NETWORK SECURITY
This course will give knowledge and skills on how to secure the computer and network from insider and outsider attacks. This course discusses types of attacks (snooping, eavesdropping,interception, denial of service, repudiation, IP spoofing, sniffing, buffer overflows, etc),malicious codes (virus, Trojan horses, worms), security technologies (firewalls, virtual privatenetwork, encryption, intrusion detection), and some platform specifies security includingLinux/UNIX security, MS Windows security, e-commerce security, and wireless security.
10. FORMAL LANGUAGE AND AUTOMATA
This course discusses a formal method for language description and its automata forrecognizing that language. This course will cover the grammar, Chomsky classification oflanguage (regular, context-free, context sensitive, and unrestricted language), finite automata,regular expression, context free grammar and language, pushdown automata, and turningmachine. The application of formal language and automata to develop complier (includinglexical analysis, syntax analysis, semantic analysis, code generation) also will be discussed.
