Ying Wu College of Computing

Computing is shaping the way we live, yet its biggest potential still lies ahead. Eliminating boundaries of space and time, computing has created a common store of knowledge and information that dwarfs anything that previously existed and will eventually be used in ways unimaginable today.

NJIT established the Ying Wu College of Computing in 2001, reflecting its desire to make computing a centerpiece of its vision for the 21st century. Our mission is to teach a broad range of computing disciplines to students on campus and at a distance, to carry out cutting-edge computing research, and to work closely with industry. We also support faculty and student innovation and collaborate closely with the local entrepreneurial eco-system, including the one in neighboring New York City. We aim for a broad impact inside and outside the campus.

The College enrolls more than 4,000 students and graduates more than 1,000 computing professionals every year.  As such, we are the largest computing program in the region, and the most significant generator of tech talent in the New York metro area. We offer a broad range of computing degrees at all levels. Graduate degrees on the most popular subjects are also offered online, and at our new facility in Jersey City, serving working professionals in the New York City region, across a broad swath of industries.

Our instruction features small classes averaging under 30 students, multiple team projects and co-op programs in collaboration with industry.  Our students are educated for a wide range of employment options, and most will end up working at the best companies, often before graduation. Students engage with our faculty in cutting-edge research in areas ranging from networking and cybersecurity to data science, cloud computing, gaming and virtual reality. 

Ying Wu College of Computing Courses

BNFO 601. Foundations of Bioinformatics I. 3 credits, 3 contact hours.

Introduction to script programming and basic biomolecular sequence analysis. Topics covered include sequence alignment, dynamic programming algorithms, hidden Markov models, and their implementation with a scripting language.

BNFO 602. Foundations of Bioinformatics II. 3 credits, 3 contact hours.

Topics in bioinformatics such as phylogeny reconstruction, genome-wide association study analysis, structure and sequence analysis, and machine learning and statistical approaches. Focus of the course is on a hands-on project on a contemporary bioinformatics problem.

BNFO 615. Machine Learning for Bioinformatics. 3 credits, 3 contact hours.

Students will learn machine learning methods. They will apply the methods to various problems in bioinformatics using the Python scikit machine learning library. Previous programming experience is required, previous knowledge of Python is a plus.

BNFO 620. Genomic Data Analysis. 3 credits, 3 contact hours.

This course will introduce students to the practice of analyzing large-scale genomic data generated by recent high throughput bio-techniques. It will cover microarray data and short-read sequencing data. It presents widely used analytical methods and software. The course includes several case studies on real large-scale genomics datasets. Students will gain practical experience in large-scale data analysis, which is highly desirable by both industry and academia employers.

BNFO 644. Data Mining and Management in Bioinformatics. 3 credits, 3 contact hours.

Concepts and principles of data management in bioinformatics. Presents methods for indexing, querying, and mining data obtained from molecular and evolutionary biology. Provides hands-on experience in designing a simple information system for querying and mining genomic data using ORACLE or MySQL.

BNFO 698. ST:. 3 credits, 3 contact hours.

BNFO 700B. Masters Project. 3 credits, 3 contact hours.

Approval of the project advisor is required for registration. Experimental and/or theoretical investigation of a relevant topic in bioinformatics. A written report must be submitted to the project advisor. The student cannot register in BNFO 700B more than once and the incomplete (I) grade is not allowed. Master’s students registering for the first time in Master’s Project must take simultaneously the INTD 799 (Responsible Contact of Research) course.

BNFO 701B. Masters Thesis. 3 credits, 3 contact hours.

Approval of the thesis advisor is required for registration. Experimental and/or theoretical investigation of a relevant topic in bioinformatics that can lead to a quality publication. A written thesis must be defended and approved by a committee of at least three faculty members. The student is expected to defend the thesis upon accrual of six thesis credits. Additional registration in BNFO 701B, beyond six credits, is required every semester until successful thesis defense (six credits count toward degree requirements and time limits apply). Master’s students registering for the first time in Master’s Thesis must take simultaneously the INTD 799 (Responsible Contact of Research) course.

BNFO 701C. Masters Thesis. 6 credits, 6 contact hours.

Approval of the thesis advisor is required for registration. Experimental and/or theoretical investigation of a relevant topic in bioinformatics that can lead to a quality publication. A written thesis must be defended and approved by a committee of at least three faculty members. The student must continue registering for three thesis credits (BNFO 701B) each semester until successful thesis defense (six credits count toward degree requirements and time limits apply).

BNFO 725. Independent Study. 3 credits, 3 contact hours.

Approvals of the academic advisor and course instructor are required for registration. Students working on their PhD dissertation or MS thesis cannot normally register for this course with their respective dissertation/thesis advisor. This special course covers areas of study in which one or more students may be interested but there is not sufficiently broad interest to warrant a regular course offering. Students may not register for this course more than once.

BNFO 726. Independent Study II. 3 credits, 3 contact hours.

Approvals of the academic advisor and course instructor are required for registration. Students working on their PhD dissertation or MS thesis cannot normally register for this course with their respective dissertation/thesis advisor. This special course covers areas of study in which one or more students may be interested but there is not sufficiently broad interest to warrant a regular course offering. Students may not register for this course more than once. Students should only register for BNFO 726 if they have taken BNFO 725 in a prior semester.

CS 505. Programming, Data Structures, and Algorithms. 3 credits, 4 contact hours.

Prerequisites: No formal prerequisites – The course assumes basic knowledge of a higher-level programming language. A higher-level programming language (e.g. C++/Java); program design techniques; introductory data structures (linked lists, stacks, sets, trees, graphs); and algorithms (sorting, searching, etc.) and their analysis. Programming assignments are included.

CS 506. Foundations of Computer Science. 3 credits, 3 contact hours.

Prerequisites: No formal prerequisites – The course assumes basic knowledge of a higher-level programming language. Introduction to the concepts of iteration, asymptotic performance analysis of algorithms, recursion, recurrence relations, graphs, automata and logic, and also surveys the main data models used in computer science including trees, lists, sets, and relations. Programming assignments are given.

CS 593. Graduate Co-op Work Experience IV. 0 credits, 0 contact hours.

Restriction: One immediately prior 3-credit registration for graduate co-op work experience with the same employer. Requires approval of departmental co-op advisor and the Division of Career Development Services. Must have accompanying registration in a minimum of 3 credits of course work.

CS 602. Java Programming. 3 credits, 3 contact hours.

Prerequisite: advanced Web-based programming with an emphasis on the Java language and platform. No prior knowledge of Java is required but students are expected to have a good understanding of object-oriented programming concepts such as encapsulation, inheritance, and polymorphism, experience with C++. Basic constructs and syntax and then the core advanced features. Topics include: networking and sockets, remote method invocation (RMI), database connectivity (JDBC), Java Beans, multi-threading and lighweight components (Swing). Common gateway interface (CGI) languages and browser scripting (JavaScript and VBScript) are discussed when used as a complement to the functionality of the Java language. Emphasis is on the latest version of Java, both deprecated methods and newly introduced features are discussed.

CS 608. Cryptography and Security. 3 credits, 3 contact hours.

This course involves computational methods providing secure Internet communication. Among the topics covered are: Security threats in communication systems; conventional cryptography: substitution and transposition codes; distribution of secret key over the Internet; principles of public-key cryptography; RSA and other public-key cryptographic methods; and digital signature protocol.

CS 610. Data Structures and Algorithms. 3 credits, 3 contact hours.

Prerequisites: CS 114 and CS 241 or equivalents (see undergraduate catalog for description). Intensive study of the fundamentals of data structures and algorithms. Presents the definitions, representations, processing algorithms for data structures, general design and analysis techniques for algorithms. Covers a broad variety of data structures, algorithms and their applications including linked lists, various tree organizations, hash tables, strings, storage allocation, algorithms for searching and sorting, and a selected collection of other algorithms. Programs are assigned to give students experience in algorithms, data structure design and implementation.

CS 611. Introduction to Computational Complexity. 3 credits, 3 contact hours.

Prerequisites: CS 610 or CS 435, or doctoral student status. While efficient algorithms have been discovered for many computational problems, many other problems appear to be computationally hard. Such problems appear in disparate contexts and they often look quite different. Computational Complexity is the systematic study of computationally hard problems that uncovers hidden relationships among them. This course introduces the fundamentals of Computational Complexity and provides an understanding of both the inherent capabilities and limitations of computation. Topics include: Computability, Reductions, NP-Completeness and Time Complexity, Space Complexity, Computational Hierarchies, Parameterized and Fine-Grained Complexity, Interactive Proofs, Complexity of Counting, and Basic Cryptography.

CS 630. Operating System Design. 3 credits, 3 contact hours.

Prerequisites: No formal prerequisites - The course assumes knowledge of topics of CS 332 and CS 505 or equivalent courses. An intensive study of computer operating system design including multiprogramming, time-sharing, real-time processing, job and task control, synchronization of concurrent processes and processors, resource scheduling, protection, and management of hierarchical storage.

CS 631. Data Management System Design. 3 credits, 3 contact hours.

Prerequisites: knowledge of C and data structures. Acquaintance with fundamental notions of relational database technology. Mathematical properties and usage of database programming languages. Methods of database design and conceptual modeling. Methods of physical storage for database information. Fundamental notions of concurrency control and recovery in database systems.

CS 632. Advanced Database System Design. 3 credits, 3 contact hours.

Prerequisites: CS 631 and good knowledge of a high-level programming language. Covers the rapidly changing concepts and principles of modern database systems and database programming based on SQL. Additional topics may include: advanced data modeling, OODBs, parallel and distributed database systems, XML and NO-SQL databases, Web-database systems, active databases, multimedia and text databases, database security, query optimization, indexing techniques, concurrency control, system performance, and data warehaousing.

CS 633. Distributed Systems. 3 credits, 3 contact hours.

Prerequisite: completion of bridge requirements. Fundamental topics concerning the design and implementation of distributed computing systems are covered, including interprocess communication, remote procedure calls, authentication, protection, distributed file systems, distributed transactions, replicated data, reliable broadcast protocols, and specifications for distributed programs. All topics will be illustrated with case studies. Optional topics may include synchronization, deadlocks, virtual time, and load balancing.

CS 634. Data Mining. 3 credits, 3 contact hours.

This course covers the principles of data mining system design and implementation. It presents methods for association and dependency analysis as well as classification, prediction, and clustering. Optional topics may include time series and graph mining, current trends in data mining, and data mining for scientific, medical and engineering applications.

CS 635. Computer Programming Languages. 3 credits, 3 contact hours.

Prerequisites: No formal prerequisites – The course assumes knowledge of a high-level programming language and topics of CS 505 or equivalent courses. The theory and design of computer language systems; the formal theory of syntax and language classification; a survey of procedure and problem-oriented computer programming languages, their syntax rules, data structures, and operations; control structures and the appropriate environments and methods of their use; a survey of translator types.

CS 636. Data Analytics with R Program. 3 credits, 3 contact hours.

Prerequisites: No formal prerequisites – The course assumes knowledge of programming, probability, and statistics, e.g. topics of MATH 333, CS 280, or equivalent courses. This course teaches data analytics with R programming. The student will learn and gain basic analytic skills via this high-level language. The course covers fundamental knowledge in R programming. Popular R packages for data science will be introduced as working examples. The course also includes case studies on data analytics projects. As a core course in data science, it provides skills that are highly desirable for both industry and academic employers.

CS 639. Elec. Medical Records: Med Terminologies and Comp. Imp.. 3 credits, 3 contact hours.

This course presents a graduate introduction to Medical Informatics for Computer Science students covering (1) the design, use and auditing of medical terminologies, such as the Unified Medical Language System (UMLS) and the Systematized Nomenclature of Medicine (SNOMED); and (2) principles of Electronic Medical Records (EMR), Electronic Health Records (EHR) and Personal Health Records (PHR), including issues of privacy and security.

CS 643. Cloud Computing. 3 credits, 3 contact hours.

Prerequisites: CS 644 or CS 656 or ECE 637. The course presents a comprehensive view of cloud computing, from platforms and services to programming and infrastructure. The topics include: cloud computing platforms, with examples from Amazon Web Services (AWS), Google Cloud, and Microsoft Azure; cloud services for data analytics, machine learning, mobile computing, IoT, edge computing, security and privacy, and devops; programming frameworks for parallel computing in the cloud; distributed storage in the cloud; and virtualization and containerization. The course includes homework, programming assignments, and research paper presentations.

CS 644. Introduction to Big Data. 3 credits, 3 contact hours.

Prerequisite: permission of the instructor. This course provides an in-depth coverage of various topics in big data from data generation, storage, management, transfer, to analytics, with focus on the state-of-the-art technologies, tools, architectures, and systems that constitute big-data computing solutions in high-performance networks. Real-life big-data applications and workflows in various domains (particularly in the sciences) are introduced as use cases to illustrate the development, deployment, and execution of a wide spectrum of emerging big-data solutions.

CS 645. Security and Privacy in Computer Systems. 3 credits, 3 contact hours.

Prerequisites: Students are expected to enter this course with a basic knowledge of operating systems, networking, algorithms, and data structures. Also, students should be able to program in Java and C/C++. The course covers fundamental principles of building secure systems and techniques to ensure data security and privacy. Topics include access control mechanisms, operating systems security, malicious code threats and software security, trusted computing, content protection, and database security . The course will also study existing technical approaches to protecting privacy, including Web anonymizers and ant-censorship tools, as well as policy and legal aspects of privacy.

CS 646. Network Protocols Security. 3 credits, 3 contact hours.

Prerequisites: CS 656 or ECE 637, and ability to program in Java and C/C++. This course covers the security of network protocols currently used on the internet. It seeks to familiarize students with common threats and network attacks, and provides an in-depth study of methods used to secure network communication. The course includes an applied component, which will help students gain practical experience in attacking and defending networked systems. Topics include authentication systems, and routing security, firewalls, intrusion detection, honeypots, wireless network security, malware, propagation and detection, and web security.

CS 647. Counter Hacking Techniques. 3 credits, 3 contact hours.

Prerequisites: CS 645 or CS 646 or CS 696 or ECE 638 or approval of the instructor. This course covers advanced techniques that can be used for offensive or defensive goals in network, computer systems and applications. The course follows a ?learning by doing? teaching approach through extensive use of virtual machines with vulnerable operating systems and applications. Topics covered include system memory organizations, CPU registers, assembly language fundamentals, GNU and Immunity debuggers, fuzzing based security testing development of local and remote Linux and Windows exploits, shellcode development, stealthy attacks, bypassing memory protection techniques, network and wireless hacking techniques, and ethical and legal implications of cyber-attacks.

CS 648. Cyber Sec Investigations & Law. 3 credits, 3 contact hours.

Prerequisites: CS 656 or IT 640 or permission of the instructor. This course will prepare students for a real-life experience for operating and protecting computer networks, data communication, and data storage systems. The course will provide the student with a methodology to examine and investigate intrusions and security of data storage, data management, and data transmission systems as a part of an integrated network. It will explore the various interfaces of these systems from a technical, human, and investigative perspective, and the potential legal issues. The course will provide the student with various fundamental legal knowledge necessary for a cyber practitioner: (a) basic intellectual property law including trade secrets and patents; (b) foreign viewpoints of intellectual property and compliance to include EU privacy law; (c) U.S. law of electronic surveillance, electronic search, and stored communications; (d) government and workplace consensual search and surveillance and consent banners/agreements.

CS 650. Computer Architecture. 3 credits, 3 contact hours.

Prerequisites: No formal prerequisites – The course assumes knowledge of topics of CS 350 or equivalent courses. The course offers a foundation for students in computing. The main topics are exploiting parallelism, memory hierarchy, storage systems, multicore systems, vector machines, GPUs, and multiprocessors. Exploiting parallelism includes instruction, data, and thread-level parallelism as well as pipelining, out-of-order, and speculative execution. Cybersecurity issues arising out of speculative execution will be discussed. Topics of memory hierarchy consist of main memory, three levels of caches, and virtual memory. Storage systems include hard disks, solid state disks, and non-volatile memory. Multicore processors that employ performance and efficiency cores will be discussed to highlight distinctive performance and power requirements for various devices including cell phones, tablets, laptops, desktops, and servers. Discussion on high performance machines such as shared-memory and distributed-memory multiprocessors and their respective programming environments OpenMP and MPI concludes the course.

CS 651. Data Communications. 3 credits, 3 contact hours.

Prerequisite: No formal prerequisites – The course assumes knowledge of topics of MATH 333 or equivalent courses. Intensive study of the analytic tools required for the analysis and design of data communication systems. Topics include: birth-death queuing systems, Erlang's distribution, bulk-arrival and bulk-service systems, design and analysis of concentrators and multiplexers, elements of Renewal Theory, M/G/1 system, analysis of Time Division Multiplexing, priority queues, analysis of random access systems, time reversibility, open and closed queuing networks, mean value analysis, flow and congestion, control mechanisms, routing algorithms, flow models, and network topological design.

CS 652. Network-Arch & Protocols. 3 credits, 3 contact hours.

Prerequisite: CS 656. If anything can characterize today's networking environment is its newly found significance in delivering cloud applications at scale. Everything has become a cloud - even the formerly-rigid wireless proprietary nodes, known as base stations, are broken up to independently developed network micro-services running on cloud-native runtimes supported by commodity compute and storage. Networking has become a software business and complete network disaggregation is the end game. In this new world, network operators are increasingly becoming content providers and they abandon R&D-heavy network disaggregation initiatives run by the Linux Foundation and increasingly trust public cloud providers to run their networks and take full advantage of the public cloud completely abstracted set of APIs to build applications faster than they could ever do before. Drawing from these trends, the course aims on one hand to provide a foundation of the so called multi-cloud network environment and on the other, to provide the student with the tools and knowledge required to understand how these multi-cloud networks are operated / managed via a set of data-driven distributed applications, the Cognitive Network Apps, that bring Machine Learning / AI and big network data analytics together. We treat the most important networking architectures and technologies that empower today’s cloud provider networks at the core / edge such as CDN and 5G and learn how self-healing, self-optimization and self-configuration applications provide the reliability, resiliency and performance metrics needed by cloud applications such as Netflix, Zoom and many others.

CS 656. Internet and Higher-Layer Protocols. 3 credits, 3 contact hours.

The course introduces the protocols and standards of the TCP/IP suite that govern the functioning of the Internet. The material covered in class is a top-down approach on introduction, discussion, and analysis of protocols from the data-link layer to the application layer. Alternative protocols to the TCP/IP suite and new protocols adopted by this suite are discussed. Numerical examples related to network planning and proocol functioning are analyzed.

CS 657. Principles of Interactive Computer Graphics. 3 credits, 3 contact hours.

Prerequisites: No formal prerequisites – The course assumes familiarity with the organization of a computer system and knowledge of topics of CS 505 or equivalent courses. Graduate-level introduction to computer graphics concepts, algorithms, and systems. Includes 2-D raster graphics, algorithms, 2-D and 3-D geometric transformations, 3-D viewing, curves and surfaces. Emphasis on PC-based graphics programming projects. Principles of interactive graphics systems in terms of the hardware, software and mathematics required for interactive image production.

CS 659. Image Processing and Analysis. 3 credits, 3 contact hours.

Prerequisite: No formal prerequisites – The course assumes knowledge of topics of CS 505 or equivalent courses. Fundamentals of image processing, analysis and understanding. Topics include image representation, image data compression, image enhancement and restoration, feature extraction and shape analysis, region analysis, image sequence analysis and computer vision.

CS 661. Systems Simulation. 3 credits, 3 contact hours.

Prerequisites: an undergraduate or graduate course in probability theory and statistics, and working knowledge of at least one higher-level language. An introduction to the simulation of systems, with emphasis on underlying probabilistic and statistical methodologies for discrete-event simulations. Design of simulation applications, and simulation programming in a high-level language. Algorithms for the generation of pseudorandom numbers. Algorithmic methodologies for the simulation of discrete and continuous probabilistic processes. Use of statistical tools. Simulation of queuing systems. Applications of simulation to a variety of system studies. The special purpose simulation language GPSS is studied in detail.

CS 665. Algorithms on Graphs. 3 credits, 3 contact hours.

Prerequisites: CS 610, or CS 435, or doctoral student status, or instructor permission. Graphs are a ubiquitous type of data structure, with multiple scientific and industrial applications. This course covers various old and new graph algorithms with a focus on efficiency and practicality. Topics include: shortest paths, random walks and diffusion, unsupervised and supervised node clustering, hierarchical graph clustering, graph partitioning based on graph matrices, discovering and counting graph substructures, and sampling methods for graph sparsification.

CS 667. Design Techniques for Algorithms. 3 credits, 3 contact hours.

Prerequisite: CS 610. An introduction to the principles of major design techniques in algorithms. Examples from a variety of topics and problems in computer science are used to demonstrate these design techniques and their appropriate application.

CS 668. Parallel Algorithms. 3 credits, 3 contact hours.

Prerequisites: CS 610 and CS 650. This course examines a variety of parallel algorithms and architectures. Shared memory algorithms and algorithms for special architectures (tree processors, grids, systolic arrays, butterflies) are considered. The basic theory of algorithm/architecture performance will be described.

CS 670. Artificial Intelligence. 3 credits, 3 contact hours.

Fundamental concepts and general techniques in artificial intelligence. Main topics include goal tree search, logic and deduction, adduction, uncertainty, fuzzy logic, knowledge representations, machine learning, vision, and action planning. The LISP programming language is used extensively. Students are required to do programming assignments, complete a programming term project, and review case studies.

CS 673. Software Design and Production Methodology. 3 credits, 3 contact hours.

Modern techniques and methods employed in the development of large software systems, including a study of each of the major activities occurring during the lifetime of a software system, from conception to obsolescence and replacement. Topics include cost/performance evaluation, documentation requirements, system design and production techniques, system verification techniques, automated aids to system development, and project organization and management.

CS 675. Machine Learning. 3 credits, 3 contact hours.

Pre-requisites: Basic probability, linear algebra, computer programming, and graduate or undergraduate senior standing, OR approval of instructor. This course is an introduction to machine learning and contains both theory and applications. Students will get exposure to a broad range of machine learning methods and hands on practice on real data. Topics include Bayesian classification, perceptron, neural networks, logistic regression, support vector machines, decision trees, random forests, boosting, dimensionality reduction, unsupervised learning, regression, and learning new feature spaces. There will be several programming assignments, one course project, one mid-term and one final exam.

CS 676. Cognitive Computing. 3 credits, 3 contact hours.

Corequisites: CS 631. Prerequisite: Good knowledge of programming (C/C++/Java), or permission of instructor. This course provides an application oriented overview of Cognitive Computing, aimed at students specializing in data sciences. Cognitive algorithms (e.g. IBM, Stanford) that combine machine learning, data mining, AI and natural language will be used to build systems for finance, telecom and retail. Real world problems and data sets such as financial risk measurement or telecom churn will be introduced, and students will study and build Cognitive models on the IBM and open-source platforms. An important feature of this course is the usage of Harvard HBS case studies to illustrate current business challenges. This course will illustrate the development, deployment, and execution of a wide spectrum of Cognitive solutions.

CS 677. Deep Learning. 3 credits, 3 contact hours.

Prerequisites: CS 675 or approval of the instructor. This course covers current topics in data science. The topics include but are not limited to parallel programming on GPU and CPU multi-cores, deep learning, representation learning, optimization algorithms, and algorithms for big datasets. Students will present recent papers in data science, work on programming assignments, and do a machine learning/deep learning/data science project.

CS 678. Topics in Smartphone Sec & Rel. 3 credits, 3 contact hours.

This course covers current topics in the security and reliability of smartphones, and smartphone platform-based devices. The topics include but are not limited to understanding the software and hardware platforms; static and dynamic analyses for devices and apps; effective testing of devices and apps; formulating and launching attacks against these devices or apps, and understanding the security, privacy, and reliability risks that users expose themselves to when using such devices. The professor and students will present recent papers; discuss and critique papers, draw outlines for potential research explorations in this area; the students will complete a programming assignment designed to familiarize themselves with programming for the platform; the students will spend the rest of the individual work assignment on a project: running a research tool, designed to expose security and reliability issues, on popular platforms/apps/devices and reporting the findings.

CS 680. Linux Kernel Programming. 3 credits, 3 contact hours.

An in-depth study of how the Linux operating system is built from scratch. AS a hands-on course, students will perform intensive programming using Linux Kernel. The contents include machine booting, segmentation and paging memory management, creating and destroying processes, process switching and scheduling, handling exceptions and hardware interrupts, software interrupts, creating system calls, creating file systems, networking with TCP/IP, device driver writing and module programming, etc. At the end of the course, students will be able to modify Linux operating system to create their own.

CS 681. Computer Vision. 3 credits, 3 contact hours.

This course introduces computational models of computer vision and their implementation on computers, and focuses on material that is fundamental and has a broad scope of application. Topics include comtemporary developments in all mainstream areas of computer vision e.g., Image Formation, Feature Detection/Representation, Classification and Recognition, Motion Analysis, Camera Calibration, 3D/Stero Vision, Shape From X (motion, shading, texture, etc.), and typical applications such as Biometrics.

CS 683. Software Project Management. 3 credits, 3 contact hours.

This course gives the student the necessary background to allow her/him to manage software projects; this includes economic, managerial and organizational aspects. The essence of software engineering is not only to introduce a valuable software product, but to do so economically and competitively. Like any engineering discipline, software engineering depends critically on managerial, economic and organizational considerations. Students will learn software management technique, various software costing techniques including COCOMO and ROI, team organization and management, and various methods of software development including Cleanroom and Agile.

CS 684. Software Testing and Quality Assurance. 3 credits, 3 contact hours.

This course discusses software faults and techniques to reduce faults and improve software quality. Software systems are some of the most complex human artifacts ever built and also some of the most critical means to ensure our safety, well being, and prosperity. This course teaches techniques to ensure software systems perform their function correctly. Topics include software specifications, goals of testing, techniques of test data selection, test oracle design, test data analysis, test lifecycle and quality impacts of testing.

CS 685. Software Architecture. 3 credits, 3 contact hours.

The software architecture defines the structure and interactions of software modules. This course provides a working knowledge of the terms, principles and methods of software architecture and module design. It explains the constraints on the design and the properties of capacity, response time, and consistency. The "4+1" architecture model is taught with architectural styles, interface isolation, decoupling, reuse, agile design with software patterns, data structures, queuing effects, design simplification and refactoring. The non-functional requirements of reliability, performance and power consumption, component based design and good industry practices for documenting and managing the architectural process are taught.

CS 690. Software Studio. 3 credits, 3 contact hours.

Prerequisite: CS 673 or approval of the instructor. This course is the first of a two-course sequence (CS 690, CS 700B) that focuses on a team-based industrial scale software project. This two-course sequence is part of the required courses of the Master of Science in Software Engineering (MSSE). This course covers the early phases of the software lifecycle, including requirements analysis, requirements specifications, project planning, software architecture and product level design, along with associated documentation. This sequence is typically taken in the last year of the MSSE, and is intended as an opportunity for MSSE students to apply the material they have learned throughout the program.

CS 696. Network Management and Security. 3 credits, 3 contact hours.

Prerequisites: CS 652 or CS 656 or ECE 637 or ECE 683 Thorough introduction to current network management technology and techniques, and emerging network management standards. In-depth study of the existing network security technology and the various practical techniques that have been implemented for protecting data from disclosure, for guaranteeing authenticity of messages, and for protecting systems from network-based attacks. SNMP family of standards including SNMP, SNMPv2, and RMON (Remote Monitoring), OSI systems management. Various types of security attacks (such as intruders, viruses, and worms). Conventional Encryption and Public Key Cryptology. Various security services and standards (such as Kerberos, Digital Signature Standard, Pretty Good Privacy, SNMPv2 security facility). Same as ECE 638.

CS 698. Special Emerging Topics:. 3 credits, 3 contact hours.

Prerequisites: Determined by the nature of the topic area. The course covers special emerging topics that are not offered as regular courses.

CS 700B. Master's Project. 3 credits, 3 contact hours.

Prerequisites: Approval of the project advisor is required for registration. Pre or Corequisites: INTD 799. Restrictions: Restricted to Master's students only. Experimental and/or theoretical investigation of a relevant topic in computer science. A written report must be submitted to the project advisor. The student cannot register in CS 700B more than once and the incomplete (I) grade is not allowed.

CS 701B. Master's Thesis. 3 credits, 3 contact hours.

Prerequisites: CS 700B and approval of the thesis advisor who must be the same as the student's advisor in CS 700B. Pre or Corequisites: INTD 799. Experimental and/or theoretical investigation of a relevant topic in computer science that can lead to a refereed publication. The MS thesis topic should be continuation of the student's work in CS 700B. A written thesis must be orally defended and approved by a committee of at least three faculty members.

CS 703. Computational Optimization. 3 credits, 3 contact hours.

Prerequisites: CS 610 and MATH 333, or consent of instructor. This course introduces basic elements of the theory of optimization, with a focus on continuous optimization. Topics include deterministic and stochastic methods and average-case and asymptotic error bounds. Applications to image processing and machine learning will be surveyed.

CS 704. Sequencing and Scheduling. 3 credits, 3 contact hours.

This course introduces basic elements of sequencing and scheduling. It covers various scheduling models including single machine scheduling, parallel machine scheduling, flow job scheduling, job shop scheduling, and energy aware scheduling. The course covers algorithms for tractable scheduling problems as well as hardness proofs of intractable scheduling problems and approximation algorithms for some of these intractable problems.

CS 708. Advanced Data Security and Privacy. 3 credits, 3 contact hours.

Prerequisites: CS 608, CS 645, CS 696, or instructor approval. In-depth study of the security and privacy issues associated with the massive amount of data that is collected, stored, shared and distributed in today's society. New paradigms are needed to address the security/privacy challenges when data is outsourced at untrusted servers (such as in cloud computing), when data is anonymized in order to be shared among untrusted parties, or when copyrighted data needs to be protected from unauthorized use.

CS 725. Independent Study in Computer Science I. 3 credits, 3 contact hours.

Restrictions: Restricted to doctoral students only. Approval of the academic advisor is required for registration. Students working on their PhD dissertation cannot register for both CS 725 and CS 726 with the same faculty. This special course covers areas of study in which one or more students may be interested but there is not sufficiently broad interest to warrant a regular course offering. Students may not register for this course more than once.

CS 726. Independent Study in Computer Science II. 3 credits, 3 contact hours.

Restrictions: Restricted to doctoral students only. Approval of the academic advisor is required for registration. Students working on their PhD dissertation cannot register for both CS 725 and CS 726 with the same faculty. This special course covers areas of study in which one or more students may be interested but there is not sufficiently broad interest to warrant a regular course offering. Students may not register for this course more than once.

CS 731. Applications of Database Systems. 3 credits, 3 contact hours.

Prerequisite: CS 631. Restricted to students who are specializing in computer and information systems management. Comparative study of different models of database management systems and their applications. Emphasis on the functions of the database administrator. Includes a survey of physical and logical organization of data, methods of accessing data, characteristics of different models of generalized database management systems, and case studies using these systems from various applications. Student teams design database systems for class projects.

CS 732. Advanced Machine Learning. 3 credits, 3 contact hours.

Prerequisites: CS 634 or CS 670. This course presents advanced topics in the machine learning field, with a focus on recent learning techniques developed for analysis of high dimensional data such as a model selection by regularization and ensemble learning. The course also covers the theory of supervised, semi-supervised, unsupervised, transduction and reinforcement learning, as well as applications of these learning methods.

CS 735. High Performance Analytics Dat. 3 credits, 3 contact hours.

Prerequisites: Knowledge of material from at least four courses in the following list: CS 631 (Data Management Systems Design), CS 634 (Data Mining), CS 643 (Cloud Computing), CS 644 (Introduction to Big Data), CS 675 (Machine Learning). Targeting the latest computing infrastructures and software systems for data analytics, this course introduces students to the design and analysis of scalable data science algorithms, as well as skills to implement high performance data science applications. Specific topics include in-memory data processing, column-oriented data storage and retrieval, cloud-based data intensive systems, as well as classic data analytics algorithms such as causal discovery and network inference and their scalable implementation.

CS 744. Data Mining and Management in Bioinformatics. 3 credits, 3 contact hours.

Prerequisites: CS 610 or permission of the instructor. Concepts and principles of bioinformatic data mining and management with focus on efficiency and scalability. Methods for indexing and querying biological databases, biological data mining, and algorithmic development for bimolecular and phlyogenetic data analysis. Trends and advances in areas such as functional genomics and proteomics, genetic engineering, and large-scale gene expression data analysis.

CS 750. High Performance Computing. 3 credits, 3 contact hours.

Prerequisite: CS 650. An in-depth study of the state of the art in high performance computing. Topics parallel computer architectures, programming paradigms, and their applications. Parallel architectures include PC clusters, shared-memory multiprocessors, distributed-memory multiprocessors, and multithreaded architectures. Parallel programming paradigms include message passing interface (MPI), its second-generation MPI-2, and multithreaded programming. Applications include computational science and high performance Web and database servers for Internet-based electronic commerce. Students program a parallel machine in class projects. First-hand experience in stable, scalable, high performance computing for Internet-based electronic commerce.

CS 755. Security and Privacy in Wireless Networks. 3 credits, 3 contact hours.

This course covers selected topics on security and privacy in wireless networks and is intended for graduate students who are interested in network security. This course can help the students learn the state of the art and open challenges in wireless network security and privacy, thus enhancing their potential to perform research or pursue a career in this emerging area.

CS 756. Mobile Computing and Sensor Networks. 3 credits, 3 contact hours.

This course provides an in-depth study of mobile computing and sensor networks, which are becoming major components of the transition from today's world of desktop computers to a world where computing is ubiquitous. The main topics include: techniques to handle mobility in the Internet and ad hoc networks; operating systems, programming languages, and protocols for sensor networks; applications, middleware, programming models, and security ubiquitous computing environments.

CS 759. Advanced Image Processing and Analysis. 3 credits, 3 contact hours.

Prerequisite: CS 659. Advanced study of recent research in image processing, analysis, and understanding. Topics include all image processing techniques, high-level recognition approaches, and automated expert vision systems.

CS 775. Seminar in Software Engineering. 3 credits, 3 contact hours.

Prerequisite: CS 673. A seminar in which students pursue intensive study of specialized topics in the current literature of software engineering. Each topic is supported by an initial reading list on current problems in theory and practice. The results of the studies are discussed in class with students, faculty and invited specialists.

CS 777. Seminar in Software Management and Production. 3 credits, 3 contact hours.

Prerequisites: Ph.D. core courses. A seminar in which students pursue intensive study of specialized topics in the current literature of software management and production. Each topic is supported by an initial reading list covering current problems in theory and practice. The results of the studies are discussed in class with students, faculty, and invited specialists participating. Topics include, but are not limited to, theory of algorithm structure, analysis of algorithms and programs, hardware technology assessment, automated tools for software production, software measurements and quality, peripheral device interfaces, data communications, computer networks, distributed processing, software verification, implementation standards, documentation standards, system security, software copyright, and project control and organization.

CS 782. Pattern Recognition and Applications. 3 credits, 3 contact hours.

Prerequisite: CS 610. Study of recent advances in development of (statistical and syntactic) pattern algorithm, approximation, and estimation techniques. Topics include statistical estimation theory, classifier design, parameter estimation and unsupervised learning, bias vs. variance, nonparametric techniques, linear discriminant functions, tree classifiers, feature extraction, and clustering. Additional topics include Support Vector machines (SVM), Bayesian Learning, Hidden Markov Models (HMM), evolutionary computation, neural networks, with applications to signal interpretation, time-series prediction, and Biometrics.

CS 785. Seminar in Computer Science I. 3 credits, 3 contact hours.

This seminar course examines in-depth recent research literature in an area of computer science. The selected topic and course prerequisites are announced before the beginning of the semester.

CS 786. Seminar in Computer Science II. 3 credits, 3 contact hours.

This seminar course examines in-depth recent research literature in an area of computer science. The selected topic and course prerequisites are announced before the beginning of the semester.

CS 790A. Doct Dissertation & Res. 1 credit, 1 contact hour.

Co-requisite: CS 791. Approval of the dissertation advisor is required for registration. Experimental and/or theoretical investigation of a relevant topic in computer science. For PhD students who have successfully defended their dissertation proposal. The student must register in CS 790A every semester until successful dissertation defense. A written dissertation must be defended and approved by a committee of at least five members. Students enrolled in the PhD program before 2015 Fall must accumulate a minimum number of credits in Doctoral Dissertation Research and Pre-Doctoral Research (see graduate catalog for program-specific details; the same requirement may apply to joint PhD programs with other universities).

CS 791. Graduate Seminar. 0 credits, 0 contact hours.

A seminar in which faculty, students, and invited speakers will present summaries of advanced topics in computer science. In the course, students and faculty will discuss research procedures, dissertation organization, and content. Students engaged in research will present their own problems and research progress for discussion and criticism.

CS 792. Pre-Doctoral Research. 3 credits, 3 contact hours.

Co-requisite: CS 791. Approval of the dissertation advisor is required for registration. Preliminary experimental and/or theoretical investigation of a relevant topic in computer science. For students who have passed the qualifying examination but have not defended the dissertation proposal. Permission is needed of the academic advisor as well for students who have completed the required coursework but have not passed the qualifying examination.

DS 632. Computing with Advanced Data Representations. 3 credits, 3 contact hours.

Prerequisites: CS 631 or knowledge of SQL, and good knowledge of a high-level programming language. Covers the rapidly changing concepts and principles of modern database systems and database programming. Topics include relational databases, object-oriented databases and object-oriented data modeling, XML data, JSON data, Graph Databases, NO-SQL databases, programming with stored procedures, database security and access control, indexing in SQL and NO-SQL databases, and current trends in databases (e.g., serverless cloud databases). Example systems used include Oracle with PL/SQL, MongoDB, and Neo4j.

DS 636. Data Analytics with R Program. 3 credits, 3 contact hours.

Prerequisites: Entry-level courses in programming, probability and statistics (e.g MATH 333, CS 280, or equivalent courses with permission of the instructor). This course teaches data analytics with R programming. The student will learn and gain basic analytic skills via this high-level language. The course covers fundamental knowledge in R programming. Popular R packages for data science will be introduced as working examples. The course also includes case studies on data analytics projects. As a core course in data science, it provides skills that are highly desirable for both industry and academic employers.

DS 642. Applications of Parallel Computing. 3 credits, 3 contact hours.

Prerequisites: Proficiency in (non-parallel) programming in a high level procedural language. This course will teach students how to design, analyze, and implement, parallel programs for high performance computational science and engineering applications. The course focuses on advanced computer architectures, parallel algorithms, parallel languages, and performance-oriented computing. Students will develop knowledge and skills to efficiently solve challenging problems in science and engineering, where very fast computers are required either to perform complex simulations or to analyze enormous datasets.

DS 644. Introduction to Big Data. 3 credits, 3 contact hours.

Prerequisites: Permission of the instructor. This course provides an in-depth coverage of various topics in big data from data generation, storage, management, transfer, to analytics, with focus on the state-of-the-art technologies, tools, architectures, and systems that constitute big-data computing solutions in high-performance networks. Real-life big-data applications and workflows in various domains (particularly in the sciences) are introduced as use cases to illustrate the development, deployment, and execution of a wide spectrum of emerging big-data solutions.

DS 650. Data Visualization and Interpretation. 3 credits, 3 contact hours.

The course will focus on training students with the knowledge of data visualization theory, techniques, and tools. Students will learn why and how visualization can be applied in the human-centered data science pipeline and the different uses of visualization, such as in exploratory data analysis, and in the communication of data-driven insights. They will gain practical experience in interpreting, critiquing, and comparing visualization techniques by using real-world data sets and case studies. Students will also develop interactive visualization interfaces as part of the class project. They will gain a broad understanding of how visualization can enhance trust and interpretation of machine learning models. The students will read and learn about recent progress in the areas of information visualization, visual analytics, and human-data interaction.

DS 669. Reinforcement Learning. 3 credits, 3 contact hours.

Prerequisites: Linear algebra, basic probability, basic calculus, computer programming, or approval of instructor. Experience with machine learning, artificial intelligence, or deep learning (e.g., CS 675, CS 670, CS 677) is recommended. This course covers current topics, key concepts, and classic and modern algorithms in reinforcement learning and contains both theory and applications. The topics include but are not limited to, Markov Decision Processes, exploration and exploitation, planning, value-based learning, policy gradient, etc. Students will present recent papers in reinforcement learning, and work on written and programming assignments and do a reinforcement learning project. After completing this course, students will be able to start using reinforcement learning for real world problems that can be specified as Markov Decision Processes.

DS 675. Machine Learning. 3 credits, 3 contact hours.

Prerequisites: Basic probability, linear algebra, computer programming, and graduate or undergraduate senior standing, OR approval of instructor. This course is an introduction to machine learning and contains both theory and applications. Students will get exposure to a broad range of machine learning methods and hands on practice on real data. Topics include Bayesian classification, perceptron, neural networks, logistic regression, support vector machines, decision trees, random forests, boosting, dimensionality reduction, unsupervised learning, regression, and learning new feature spaces. There will be several programming assignments, one course project, one mid-term and one final exam.

DS 677. Deep Learning. 3 credits, 3 contact hours.

Prerequisites: DS 675 or CS 675 or approval of the instructor. This course covers current topics in data science. The topics include but are not limited to parallel programming on GPU and CPU multi-cores, deep learning, representation learning, optimization algorithms, and algorithms for big datasets. Students will present recent papers in data science, work on programming assignments, and do a machine learning/deep learning/data science project.

DS 680. Natural Language Processing. 3 credits, 3 contact hours.

Prerequisites: DS 675 or DS 677 and instructor's approval. This course aims to teach how to process one of the fundamental data sources—natural language—with the help of deep learning techniques. The target of this course is to familiarize students with state-of-the-art language models, wide variety of tasks performed with these models and the fusion of these in deep learning architectures. This course will help students read advanced research papers on complex NLP concepts and theories, while the class project will help them apply NLP techniques to different domains.

DS 700B. Master's Project. 3 credits, 3 contact hours.

Restrictions: Approval of the project advisor is required for registration. Approval of the project advisor is required for registration. Experimental and/or theoretical investigation of a relevant topic in data science. A written report must be submitted to the project advisor. The student cannot register in DS 700B more than once and the incomplete (I) grade is not allowed. Master’s students registering for the first time in Master’s Project must take simultaneously the INTD 799 (Responsible Conduct of Research) course.

DS 701B. Master's Thesis. 3 credits, 3 contact hours.

Restrictions: Approval of the thesis advisor is required for registration. Approval of the thesis advisor is required for registration. Experimental and/or theoretical investigation of a relevant topic in data science that can lead to a quality publication. A written thesis must be defended and approved by a committee of at least three faculty members. The student is expected to defend the thesis upon accrual of six thesis credits. Additional registration in DS 701B, beyond six credits, is required every semester until successful thesis defense (six credits count toward degree requirements and time limits apply). Master’s students registering for the first time in Master’s Thesis must take simultaneously the INTD 799 (Responsible Conduct of Research) course.

DS 701C. Master's Thesis. 6 credits, 6 contact hours.

Restrictions: Approval of the thesis advisor is required for registration. Approval of the thesis advisor is required for registration. Experimental and/or theoretical investigation of a relevant topic in data science that can lead to a quality publication. A written thesis must be defended and approved by a committee of at least three faculty members. The student must continue registering for three thesis credits (DS 701B) each semester until successful thesis defense (six credits count toward degree requirements and time limits apply).

DS 725. Independent Study I. 3 credits, 3 contact hours.

Approval of the academic advisor is required for registration. Students working on their PhD dissertation cannot register for both DS 725 and DS 726 with the same faculty. This special course covers areas of study in which one or more students may be interested but there is not sufficiently broad interest to warrant a regular course offering. Students may not register for this course more than once.

DS 726. Independent Study II. 3 credits, 3 contact hours.

Approval of the academic advisor is required for registration. Students working on their PhD dissertation cannot register for both DS 725 and CS 726 with the same faculty. This special course covers areas of study in which one or more students may be interested but there is not sufficiently broad interest to warrant a regular course offering. Students may not register for this course more than once.

DS 786. Selected Topics in Data Science. 3 credits, 3 contact hours.

Prerequisites: As determined by nature of topic area. Introduction to selected topics in data science.

DS 789. Trustworthy Artificial Intelligence. 3 credits, 3 contact hours.

Prerequisites: DS 675 or approval of instructor. As machine learning (ML) systems are increasingly being deployed in real-world applications, it is critical to ensure that these systems are behaving responsibly and are trustworthy. That will lead to wider adoption of ML in real-world applications in practice. This course will provide a deep understanding of state-of-the-art ML methods designed to make AI more trustworthy to unforeseen faults, adversarial manipulation, and to violations of ethical norms in privacy and fairness. Students will gain an understanding of and experience in using a set of methods and tools for deploying transparent, ethically sound, and robust machine learning solutions. The course is also an excellent opportunity to conduct research on the security/privacy/trustworthiness in ML and find research topics for Ph.D. and M.S. theses.

DS 790A. Doctoral Dissertation & Research. 1 credit, 1 contact hour.

Corequisites: DS 791. Approval of the dissertation advisor is required for registration. Experimental and/or theoretical investigation of a relevant topic in data science. For PhD students who have successfully defended their dissertation proposal. The student must register in DS 790A every semester until successful dissertation defense. A written dissertation must be defended and approved by a committee of at least five members.

DS 791. Graduate Seminar. 0 credits, 1 contact hour.

Corequisite (for doctoral students only): DS 790. A seminar in which faculty, students, and invited speakers will present summaries of advanced topics in data science. In the course, students and faculty will discuss research procedures, dissertation organization, and content. Students engaged in research will present their own problems and research progress for discussion and criticism.

DS 792B. Pre-Doctoral Research. 3 credits, 3 contact hours.

Corequisites: DS 791. Approval of the dissertation advisor is required for registration. Preliminary experimental and/or theoretical investigation of a relevant topic in data science. For students who have passed the qualifying examination but have not defended the dissertation proposal. Permission is needed of the academic advisor as well for students who have completed the required coursework but have not passed the qualifying examination.

IS 513. Programming Foundations for IS. 3 credits, 3 contact hours.

This course is an introduction to the Java programming language teaching the foundations of writing, testing and debugging of programs. The course has three major parts. The first part teaches fundamental programming techniques that use primitive data types, variables, assignments expressions and operators, control statements, arrays and files I/O. The second part covers testing and debugging, and teaches students how to write programs that work reliably. The third part introduces object-oriented programming.

IS 531. Database Fundamentals. 3 credits, 3 contact hours.

This course gives students extensive, pragmatic experience in designing, building, querying, updating, maintaining and managing relational databases, using the Structured Query Language (SQL). We will start our journey by analyzing what database is and why it is superior to other data management methods. We will then conduct logical and physical database design. SQL will be extensively covered, and students will design and implement sophisticated SQL queries invoking self-joins, outer joins, correlated subqueries and related concepts. Hands-on experience will be gained by working with actual databases using industry-standard database management systems such as Oracle.

IS 565. Aspects Of Information Systems. 3 credits, 3 contact hours.

Methods and models of supporting the management process; ethical issues pertaining to the construction, deployment, and impact of information systems on organizations and society; description, analysis, and design of information systems to assist problem solving and decision-making in a business environment.

IS 590. Graduate Co-op Work Experience I. 1 credit, 1 contact hour.

Prerequisite: students must have the approval of the co-op advisor for the Informatics department. Provides on-the-job reinforcement and application of concepts presented in the graduate IS curriculum. Work assignments are identified by the co-op office and developed and approved by the Informatics department in conjunction with the student and employer. Students must submit, for Informatics department approval, a proposal detailing the nature of the intended work. A report at the conclusion of each semester's work experience is required. Credits for this course may not be applied toward degree requirements for either the bachelor's or master's in IS.

IS 591. Graduate Co-op Work Experience II. 1 credit, 1 contact hour.

Prerequisite: students must have the approval of the co-op advisor for the IS department. Provides on-the-job reinforcement and application of concepts presented in the graduate IS curriculum. Work assignments are identified by the co-op office and developed and approved by the Informatics department in conjunction with the student and employer. Students must submit, for Informatics department approval, a proposal detailing the nature of the intended work. A report at the conclusion of the semester work experience is required. Credits for this course may not be applied toward degree requirements for either the bachelor's or master's in IS.

IS 592. Graduate Co-op Work Experience III. 1 credit, 1 contact hour.

Prerequisites: graduate standing, and acceptance by the Informatics department and the Division of Career Development Services. Students must have the approval of the co-op advisor for the Informatics department. Provides on-the-job reinforcement and application of concepts presented in the graduate IS curriculum. Work assignments are identified by the co-op office and developed and approved by the Informatics department in conjunction with the student and employer. Students must submit, for IS department approval, a proposal detailing the nature of the intended work. A report at the conclusion of the semester work experience is required. Credits for this course may not be applied toward degree requirements for either the bachelor's or master's in IS.

IS 593. Graduate Co-op Work Experience IV. 0 credits, 0 contact hours.

Prerequisite: One immediately prior 3-credit registration for graduate co-op work experience with the same employer. Requires approval of departmental co-op advisor and the Division of Career Development Services. Must have accompanying registration in a minimum of 3 credits of course work.

IS 601. Web Systems Development. 3 credits, 3 contact hours.

Prerequisites:NONE Students will gain experience in open source web development through an intensive hands-on project, applying real-world problem-solving skills to meeting information systems requirements. Students will learn Web development principles, as well as professionally relevant skills including industry standards, conventions, and procedures within large-scale programming projects. Also covered are the communication tools, technologies, and practices that individuals use to coordinate and collaborate within the open source software development community.

IS 612. Emergency Management Informatics. 3 credits, 3 contact hours.

This course covers core aspects of Emergency Management (EM) as they relate to information systems and usage of associated technologies. EM theory identifies four critical areas: 1) understanding & mitigating risk, 2) planning & preparedness, 3) reaction & response, 4) recovery & normalization. The role of informatics for each critical area will vary and is the basis for discussions and assignments. This course also focuses on innovative information systems approaches to EM in each area. Within the EM domain, business continuity (information processing and sharing during crisis situations), cyberterrorism, and international response are covered.

IS 613. Design of Emergency Management Information Systems. 3 credits, 0 contact hours.

This course is concerned with the development of requirements, the design of the human interaction, and the supporting functionality of any Information System related to the complete preparedness lifecycle for emergency, disaster, and crisis situations for government bodies, non-profit, and/or private organizations that are concerned with business continuity. It also focuses on organizational behavior and its effects on the functionality of the system and the design of the human interface.

IS 614. Command and Control Systems. 3 credits, 3 contact hours.

This course investigates the relevance and applicability of using of Command and Control (C2) models in organizational responses to both normal emergencies and catastrophic events. C2 refers to how leadership, authority, decision-making and coordination are assured within an organization, including distributed and virtual organizations. The course examines the functionality and properties of C2 systems in terms of matching requirements for these systems to the behavior of individuals, groups, and organizations during emergency conditions. It will address integrating systems and technologies within organizational emergency operations functions and processes to include business continuity and disaster response.

IS 616. Learning Methodologies and Training Technologies. 3 credits, 3 contact hours.

This course provides an overview of learning methodologies and training technologies, with an emphasis on emergency management. It reviews theories and develops skills for the planning, evaluation and selection of traditional and new technology-driven learning and training methods. Course participants will review relevant research and learn how to choose the most effective training methodologies, technologies and content resources appropriate to the needs of different audiences.

IS 631. Enterprise Database Management. 3 credits, 3 contact hours.

Prerequisites: IS 601 This course provides an understanding of the issues as well as hands-on experience in managing database systems as an essential organizational resource. Students will obtain a conceptual foundation of database design and explore the implications for organizational database usage. Students also will gain experience with enterprise database management systems, such as Oracle. This course introduces the design and management of enterprise-wide database systems. Topics include: (1) data modeling and database design; (2) database implementation with SQL; (3) database access standards for enterprise database systems; (4) multidimensional databases, online analytic processing (OLAP) and data warehousing, customer relationship management (CRM); and (5) web-based enterprise database systems.

IS 634. Information Retrieval. 3 credits, 3 contact hours.

Prerequisite: IS 601 Modern information retrieval systems, such as web search engines, empower users to easily access information on the web. The course covers the concepts and principles of information retrieval systems design, including web crawling, automatic indexing, vector space modeling, retrieval algorithms, digital libraries, text mining, information extraction, and document warehousing. These techniques are essential for building web systems, text databases, document processing systems, and other advanced information management systems.

IS 650. Data Visualization and Interpretation. 3 credits, 3 contact hours.

The course will focus on training students in data visualization techniques and relevant tools. They will learn theoretical aspects of visualization design, and gain practical experience in interpreting data as well as critiquing and comparing visualization techniques. They will develop interactive visualization interfaces as part of a class project. Students will also gain a broad understanding of how visualization can enhance data interpretation and play a key role in the data science pipeline. Finally, recent advances will be presented in the areas of information visualization, visual analytics, and human-data interaction.

IS 654. Visual Informatics for Social Network and Mobile Flow. 3 credits, 3 contact hours.

Prerequisite: IS 665 or equivalent. Nowadays, computational scientists are using network and flow to explore and analyze relationships among spatial objects. In the meantime, more and more virtual networks, such as Facebook and Twitter, have spatial characteristics which bring researchers opportunity to study spatial pattern of virtual network elements such as information diffusion and human behavior across space. This course will focus on substantive themes within network and flow. Visual informatics will be covered in this course followed by several case studies.

IS 657. Spatiotemporal Urban Analytics. 3 credits, 3 contact hours.

Prerequisite: IS 665 or equivalent. This course teaches essential concepts and skills needed to efficiently develop spatiotemporal thinking, create a spatiotemporal model, and visualize/model the urban spatiotemporal relationships in the open source environment. Students will learn about big data analytic skills that integrate large open source data and traditional data by investigating the relationship between virtual and physical worlds in the built environment.

IS 661. User Experience Design. 3 credits, 3 contact hours.

This is a foundation course on the design of digital products. User eXperience Design (UXD) isn't just about making interfaces usable. It is about designing and building relevant and successful products. Effective UXD requires a mix of Interaction Design (ID) methods and processes. This course takes you through the process of creating compelling interaction designs for digital products from the idea stage into creating a simple and intuitive user experience blueprint. You will 'learn by doing' in a team environment, enabling you to practice the techniques with coaching from instructors. The course will demystify Lean UX; Agile UX; Human Computer Interaction (HCI); Design Audits and Claims analysis; Persona construction; Storyboarding; ID scenarios; ID Frameworks; Role of user-research in UXD; and Design Patterns.

IS 663. System Analysis and Design. 3 credits, 3 contact hours.

Pre or Corequisite: IS 601 This course develops the skills necessary to analyze, design and manage the development of effective enterprise-scale information systems solutions incorporating contemporary methods and effective organizational and global project management practices. It focuses on technical business systems analysis and design techniques, and covers key software engineering principles, methods and frameworks, including process models, agile and lean principles, project and risk management, estimation, requirements elicitation and analysis, modeling, system and software architecture, design patterns, and quality systems. Students will actively participate in discussions, review selected articles, participate in team exercises and collaborate on projects involving analysis and prototyping of applications addressing real-world problems and integrating current and emerging technologies.

IS 664. Customer Discovery. 3 credits, 3 contact hours.

'Customer Discovery' is the term used by lean startup companies to describe the process of directly engaging with customers to explore potential new markets. Such evidence-based entrepreneurship guides the potential for new product ideas early in the development process. Similarly, high-tech innovators in new media, web, software apps, social networking, wearable computing, and mobile devices need to determine early on if their proposed solutions address real user needs. They do this by understanding potential user's practice, preferences and mental models. As a result, knowledge of a basic set of qualitative customer discovery methods is essential for both the lean startup entrepreneur and those engaged in interaction design innovation. This course teaches these methods through hands-on team projects. Students will design and run interview and diary studies, thinking out-loud protocols and focus groups, and analyze and report on findings. Students will explore over the course of the semester a problem domain and gain understanding of customer needs that will serve as a foundation for high-tech, innovative product design.

IS 665. Data Analytics for Info System. 3 credits, 3 contact hours.

Prerequisite: IS 601 This course gives a graduate level introduction to data analysis, probability and statistics from an information systems perspective, including many of the techniques that are most relevant to the profession of Data Scientist for business, data and web analytics, as well as current data sets. We will learn and conduct Python, MATLAB and R based manipulation of data. Course topics include the rudiments of probability and random variables, estimation, special distribution and sampling, Markov processes, hypothesis testing, graphics and visualization.

IS 676. Requirement Engineering. 3 credits, 3 contact hours.

Prerequisites or Corequisites: IS 663 or CS 673 or equivalent project experience in the field. Requirements engineering is one of the all-important beginning stages of the systems development life cycle. Revealing and understanding the system's requirements is a crucial component of success for developing new computing systems or adjusting existing applications. This course covers the theory, principles, and practical application of the methodologies and tools for requirements engineering. The focus is development of large software systems and the integration of multiple systems into a comprehensive, domain dependent solution. All aspects of requirements engineering including the knowledge and skills needed to elicit and analyze requirements, translate these requirements into technical specifications, verify that the requirements accurately capture the system requirements, and manage software requirements through the system development cycle will be covered. Students will actively participate in discussions, labs and exercises, and prepare operational requirements and technical specifications for real-world problems. We will spend a considerable amount of time interacting and learning through discussion of assigned readings and other material.

IS 677. Information System Principles. 3 credits, 3 contact hours.

This course introduces the field of Information Systems; the study of how people and organizations should use information technologies effectively. We examine the major areas in the field, analyzing the major issues, trends and problems. We survey the role of information systems in organizations and how these systems support organizational objectives and organizational structure, as well as providing competitive business advantages. We discuss basic concepts such as the systems point of view, the organization of a system, the nature of information and information flows, as well as how people process information and related cognitive concepts. We also examine various types of information system applications such as e-commerce, supply chain, decision support, and enterprise systems. And, finally, we also consider critical ethics issues including privacy, personalization and security.

IS 678. IT Service Management. 3 credits, 3 contact hours.

The course does not have prerequisites but it is not recommended during the first semester of graduate study without prior professional work experience in the computing field. This course introduces IT service management, a set of specialized organizational capabilities for enabling value for customers in the form of IT services. ITIL, a globally recognized framework of best practices for IT service management is covered in some detail, along with other approaches for IT service management. The course presents ITIL key concepts, the ITIL service value system, the service value chain, the four dimensions of service management, ITIL guiding principles and ITIL management practices. ITIL is presented in the context of a specific organizational services domain.

IS 680. Information Systems Auditing. 3 credits, 3 contact hours.

Due to the dynamic nature of information technology, the need arises continually to redefine audit, control and security requirements and processes. Topics include the IS audit process, IT infrastructure and operations, information protection, disaster recovery and business continuity, IT service delivery and support, business application systems, and project management. Students gain practical experience with each by working through a series of sample Certified Information Systems Audit (CISA) exam questions.

IS 681. Computer Security Auditing. 3 credits, 3 contact hours.

This course reflects the current emphasis on information security and security management in Fortune 500 corporations. Students will delve into information protection concepts, privacy impact analysis, computer crime, legal issues, controls and auditing systems, and firewall configuration. Students will have the opportunity to learn and perform evaluations on security infrastructures in a controlled environment in class labs by completing realistic security auditing projects and using vulnerability assessment tools to assess risks and evaluate security controls on networked infrastructures.

IS 682. Forensic Auditing for Computing Security. 3 credits, 3 contact hours.

A computer forensics audit is the proper identification and collection of computer evidence. Computers are involved in security violations through crime or violations of policy, or being targeted by an attack. This course deals with the preservation, identification, extraction, documentation, reporting, acquisition, analysis and interpretation of computer data. Topics covered include evidence handling, chain of custody, collection, preservation, identification and recovery of computer data. In this hands-on course, you will conduct several labs where you will be taught to analyze, review and extract information from computer hard drives, and determine what and how the information could have been compromised. Computer Forensics Audit professionals become experts in e-discovery and preserving sensitive evidential matter.

IS 683. Web Systems Development. 3 credits, 3 contact hours.

Students will gain experience in open source web development through an intensive hands-on project, applying real-world problem-solving skills to meeting information systems requirements. Students will learn Web development principles, as well as professionally relevant skills including industry standards, conventions, and procedures within large-scale programming projects. Also covered are the communication tools, technologies, and practices that individuals use to coordinate and collaborate within the open source software development community.

IS 684. Business Process Innovation. 3 credits, 3 contact hours.

Prerequisites: IS 663 or CS 673 This course adopts a balanced approach to business process innovation (BPI) that includes both incremental improvement and re-engineering. It specifically examines the concept of a service-oriented architecture (SOA) and the use of web services as a way to enable scalable and adaptive business processes. Students will learn how to develop process maps using the Business Process Modeling Notation (BPMN) and design process improvements to achieve efficiency, effectiveness, compliance and agility objectives. The focus of the course is on ways in which information technology can be used to manage, transform and improve business processes.

IS 685. Enterprise Architecture and Integration. 3 credits, 3 contact hours.

Prerequisites: None, but recommend completion of IS 663 or CS 673. The Enterprise Architecture (EA) describes an organization's IT strategy and operational structure. IS and IT professionals utilize the EA to analyze, design and integrate the (often heterogeneous) IT infrastructure and applications to most effectively support the enterprise and respond to risks. Students learn to develop an EA analysis which reflects its business strategies, capabilities, processes, and systems, metrics, information resources, and networking infrastructure. This enables students to determine the impact of IT solutions, by learning to deconstruct, analyze and configure IT systems in alignment with enterprise-wide business strategies. The course covers the industry standard The Open Group Architecture Framework (TOGAF) enterprise architecture framework and focuses on Enterprise Application Integration (EAI).

IS 686. Pervasive Computing: An HCI Perspective. 3 credits, 3 contact hours.

This course examines Pervasive/Ubiquitous Computing, the trend toward increasingly ubiquitous connected computing devices in the environment - a trend being brought about by a convergence of advanced electronic, and particularly, wireless technologies and the internet. We do this from a Human Computer Interaction perspective looking at the current and future design of various systems.

IS 687. Transaction Mining and Fraud Detection. 3 credits, 3 contact hours.

Prerequisite: IS 665 Increasingly, all of our transactions are electronic. We use debit and credit cards (electronic transactions) instead of checks and cash at banks, restaurants, stores, and many other businesses. Evaluation of transactions to find risk includes detection of terrorists and money launderers. Every financial institution is legally required to monitor transactions to detect organized crime and terrorism. Mining transaction streams to find good or bad customers is a rapidly growing area of employment for IS graduates. This course will present methods that are being used to analyze and mine transactional data and the business applications of these methods.

IS 688. Web Mining. 3 credits, 3 contact hours.

Prerequisite: IS 665. Web mining aims to discover useful information and knowledge from the Web hyperlink structure, page contents and usage logs. It has direct applications in e-commerce, Web analytics, information retrieval/filtering, personalization, and recommender systems. Employees knowledgeable about Web mining techniques and their applications are highly sought by major Web companies such as Google, Amazon, Yahoo, MSN and others who need to understand user behavior and utilize discovered patterns from terabytes of user profile data to design more intelligent applications. The primary focus of this course is on Web usage mining and its applications to business intelligence and biomedical domains. We learn techniques from machine learning, data mining, text mining, and databases to extract useful knowledge from the Web and other unstructured/semistructured, hypertextual, distributed information repositories. This data could be used for site management, automatic personalization, recommendation, and user profiling. Topics covered include crawling, indexing, ranking and filtering algorithms using text and link analysis, applications to search, classification, tracking, monitoring, and Web intelligence. Programming assignments give hands-on experience. A group project highlights class topics.

IS 690. Web Services and Middleware. 3 credits, 3 contact hours.

Prerequisite: IS 601 Web services enable integration of web-based applications and feature sets to any other web-based system in a modular way. Middleware is a set of functionality positioned in between and enabling interoperability among different, distributed enterprise and other computing applications. This course provides an introduction to web services and middleware in the context of digital libraries - large scale multimedia information repositories. Students will gain hands on experience in developing their own web services managing a complex distributed computing platform.

IS 698. Special topics in Information Systems. 3 credits, 3 contact hours.

Special area course given when suitable interest develops. Advance notice of forthcoming topics will be given.

IS 700B. Master's Project. 3 credits, 3 contact hours.

Approval of the project advisor is required for registration. Experimental and/or theoretical investigation of a relevant topic in information systems. A written report must be submitted to the project advisor. The student cannot register in IS 700B more than once and the incomplete (I) grade is not allowed. Master’s students registering for the first time in Master’s Project must take simultaneously the INTD 799 (Responsible Contact of Research) course.

IS 700C. Master's Project. 6 credits, 6 contact hours.

An approved project involving design, implementation, and analysis, or theoretical investigation, under the guidance of a faculty member. Students are strongly advised to work with the faculty member to develop a project proposal during the semester prior to conducting the master's project. Approval to register for the project must be obtained from the faculty member advising the project.

IS 701B. Master's Thesis. 3 credits, 3 contact hours.

Approval of the thesis advisor is required for registration. Experimental and/or theoretical investigation of a relevant topic in information systems that can lead to a quality publication. A written thesis must be defended and approved by a committee of at least three faculty members. The student is expected to defend the thesis upon accrual of six thesis credits. Additional registration in IS 701B, beyond six credits, is required every semester until successful thesis defense (six credits count toward degree requirements and time limits apply). Master’s students registering for the first time in Master’s Thesis must take simultaneously the INTD 799 (Responsible Contact of Research) course.

IS 701C. Master's Thesis. 6 credits, 6 contact hours.

Approval of the thesis advisor is required for registration. Experimental and/or theoretical investigation of a relevant topic in information systems that can lead to a quality publication. A written thesis must be defended and approved by a committee of at least three faculty members. The student must continue registering for three thesis credits (IS 701B) each semester until successful thesis defense (six credits count toward degree requirements and time limits apply).

IS 725. Independent Study in Information Systems. 3 credits, 3 contact hours.

Approvals of the academic advisor and course instructor are required for registration. Students working on their PhD dissertation or MS thesis cannot normally register for this course with their respective dissertation/thesis advisor. This special course covers areas of study in which one or more students may be interested but there is not sufficiently broad interest to warrant a regular course offering. Students may not register for this course more than once.

IS 726. Independent Study II. 3 credits, 3 contact hours.

Approvals of the academic advisor and course instructor are required for registration. Students working on their PhD dissertation or MS thesis cannot normally register for this course with their respective dissertation/thesis advisor. This special course covers areas of study in which one or more students may be interested but there is not sufficiently broad interest to warrant a regular course offering. Students may not register for this course more than once. Students should only register for IS 726 if they have taken IS 725 in a prior semester.

IS 727. Independent Research III. 3 credits, 1 contact hour.

IS 735. Social Media. 3 credits, 3 contact hours.

Prerequisite: IS 665 or MATH 661, or a graduate course in statistics or course in quantitative research methods. Seminar style course that covers design and impact of computer-based systems for human communication, including email and IM, discussion boards, Computer-Supported Cooperative Work (CSCW), Group Decision Support Systems (GDSS), and Social Networking Systems. Topics include alternative design structures, impacts of primarily text-based group communication, and recent empirical studies of virtual teams, online communities, and systems used for social networking, including 3-D worlds such as Second Life and "micro blogging" systems such as Twitter.

IS 764. Research Methods for Human-Centered Computing and Design. 3 credits, 3 contact hours.

Prerequisites: None. This introductory seminar in human centered computing and design provides a survey of the methodological literature on qualitative research methods paired with appropriate article-length exemplars. We cover a variety of different research strategies including design science, action research, case study, qualitative data collection and analysis techniques, and scenario-based design. This course develops skills in designing and evaluating systems using qualitative methods. We also discuss writing and reviewing academic articles and research proposals. The course utilizes information systems as the primary domain but could be extended for students in other disciplines.

IS 765. Quantitative Methods in Information Systems Research. 3 credits, 3 contact hours.

Prerequisite: MATH 661 or equivalent. This course is a practical and project-oriented introduction to quantitative and qualitative methods in information systems (IS) research that use human subjects. The focus of the course is on developing researchers' capability to select and implement appropriate data collection and statistical analysis procedures for a variety of research questions and to interpret the results of these procedures.

IS 766. Philosophy of Information Science. 3 credits, 3 contact hours.

This seminar explores central issues in contemporary philosophy of science. We consider "scientific" progress in the computing sciences with a focus on information systems and human computer interaction theory. We discuss topics such as confirmation and disconfirmation of theories; falsifiability and pseudo-science; introduction; probability; and statistical inference, prediction, explanation and empirical equivalence. We read key works by philosophers such as Popper and Kuhn. We examine the notion of "design science" and contrast it with "natural science", and examine whether social science research should strive to emulate natural science methods. Readings will be tied into research within information systems and the computing sciences in general, looking at how scientific theories are tested or confirmed.

IS 776. IS Research Study. 3 credits, 3 contact hours.

Prerequisite: Restricted to students in the doctoral program in Information Systems. The IS Research Study serves as the Information Systems PhD qualifying exam and demonstrates research readiness. Each student works with a faculty member to identify the topic of a research study, and then takes the lead in designing and conducting the study, and analyzing the results.

IS 785. Special Topics. 3 credits, 3 contact hours.

These seminars examine a special interest area of Information Systems in depth. Each seminar emphasizes recent work in the area selected.

IS 786. Special Topics. 3 credits, 3 contact hours.

These seminars examine a special interest area of Information Systems in depth. Each seminar emphasizes recent work in the area selected.

IS 790A. Doct Dissertation & Res. 1 credit, 1 contact hour.

Co-requisite: IS 791. Approval of the dissertation advisor is required for registration. Experimental and/or theoretical investigation of a relevant topic in information systems. For PhD students who have successfully defended their dissertation proposal. The student must register in IS 790A every semester until successful dissertation defense. A written dissertation must be defended and approved by a committee of at least five members. Students enrolled in the PhD program before 2015 Fall must accumulate a minimum number of credits in Doctoral Dissertation Research and Pre-Doctoral Research (see graduate catalog for program-specific details; the same requirement may apply to joint PhD programs with other universities).

IS 791. Doctoral Seminar. 0 credits, 0 contact hours.

A seminar in which faculty, students, and invited speakers will present summaries of advanced topics in information systems. In the course students and faculty will discuss research procedures, dissertation organization, and content. Students engaged in research will present their own problems and research progress for discussion and criticism.

IS 792. Pre-Doctoral Research. 3 credits, 3 contact hours.

Co-requisite: IS 791. Approval of the dissertation advisor is required for registration. Preliminary experimental and/or theoretical investigation of a relevant topic in information systems. For students who have passed the qualifying examination but have not defended the dissertation proposal. Permission is needed of the academic advisor as well for students who have completed the required coursework but have not passed the qualifying examination.

IT 610. Systems Administration. 3 credits, 3 contact hours.

Prerequisite: Completion of the Bridge requirements for the MS in IT Administration and Security (or the equivalent). This course is an introduction to the skills needed for and tasks performed by a System Administrator. The course will cover administration of host and server systems in modern operating system environments. Topics to be covered include: user, configuration, and change management, shell scripting, monitoring and performance analysis, disaster mitigation and recovery, and auditing.

IT 620. Wireless Networks Security and Administration. 3 credits, 3 contact hours.

Prerequisite: Completion of the Bridge requirements for the MS in IT Administration and Security (or the equivalent). This course introduces the fundamentals of wireless network security and administration. Topics include: wireless LAN vulnerabilities, passive and active wireless attacks, enterprise wireless hardware security, secure wireless authentication and communication, wireless intrusion detection and prevention systems, WiFi and cellular network management, location privacy, personal area network administration and security, mobile IP security, GSM, CDPD, 3G and 4G network security. The course provides both a theoretical foundation and hands-on experience in these areas.

IT 635. Database Administration. 3 credits, 3 contact hours.

Prerequisite: IT 610. This course provides a broad overview of the tasks and techniques necessary to function as a Database Administrator (DBA) in a modern relational database environment. Students will learn the duties typically performed by a DBA, which include: user authorization, disaster planning and recovery, monitoring, performance analysis, database tuning, metadata maintenance as well as data modeling, analysis and database design.

IT 640. Network Services Administration. 3 credits, 3 contact hours.

Prerequisites: IT 610 or CS 645. This course provides an introduction to the fundamentals of network services administration. It covers how web-based and domain-services operate, integrate and communicate. Topics include: fundamental technologies that underpin the web services paradigm, key standards necessary for their development, and how other critical domain services should be deployed. This course will enable students to gain skills necessary to plan, install, configure, secure and maintain web servers, DNS servers, email & print servers, resource sharing systems, and domain authentication systems.

IT 725. Independent Study. 3 credits, 3 contact hours.

YWCC 590. Graduate Co-op Work Experience I. 1 credit, 2 contact hours.

Prerequisites: Students must have graduate standing. Restrictions: Students must have the approval of the co-op advisor for the college. This course provides the student an opportunity to reinforce and apply material learned in the classroom. The co-op experience is developed and approved by the co-op office of NJIT’s CDS (Career Development Service) in conjunction with the college, student, and employer. Students must submit for approval a proposal detailing the nature and substance of the intended work. A report at the conclusion of each semester's work experience is required. Credit for this course may not be applied toward any degree granted by the college.

YWCC 591. Graduate Co-op Work Experience II. 1 credit, 2 contact hours.

Prerequisites: Students must have graduate standing. Restrictions: Students must have the approval of the co-op advisor for the college. This course provides the student an opportunity to reinforce and apply material learned in the classroom. The co-op experience is developed and approved by the co-op office of NJIT’s CDS (Career Development Service) in conjunction with the college, student, and employer. Students must submit for approval a proposal detailing the nature and substance of the intended work. A report at the conclusion of each semester's work experience is required. Credit for this course may not be applied toward any degree granted by the college.

YWCC 592. Graduate Co-op Work Experience III. 1 credit, 2 contact hours.

Prerequisites: Students must have graduate standing. Restrictions: Students must have the approval of the co-op advisor for the college. The co-op experience is developed and approved by the co-op office of NJIT’s CDS (Career Development Service) in conjunction with the college, student, and employer. Students must submit for approval a proposal detailing the nature and substance of the intended work. A report at the conclusion of each semester's work experience is required. Credit for this course may not be applied toward any degree granted by the college.

YWCC 691. Graduate Capstone Project. 3 credits, 3 contact hours.

Prerequisite: Students should have completed 18 credits in the program. The course will focus on providing students experience with industry or faculty sponsored projects involving real situations to apply acquired knowledge including latest in software engineering and programming tools. Projects usually include a broad array of hard-core software engineering applications as well as projects in apps development, web development, game development, virtual reality, multimedia, web and network security and much more. The students will also read, discuss and critique papers, and other recent progress in large software development. If the course is used as an MS project to satisfy a program's requirements, it is the student's responsibility to ensure, in consultation with the Director of the program, that the chosen project meets the requirements of the program.