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 135. Programming for Bioinformatics. 3 credits, 3 contact hours (3;0;0).

The ability to use existing programs and to write small programs to access bioinformatics information or to combine and manipulate various existing bioinformatics programs has become a valuable part of the skill set of anyone working with biomolecular or genetic data. This course provides an understanding of the architecture of bioinformatics toolkits and experience in writing small bioinformatics programs using one or more of the scripting ("glue") languages frequently employed for such tasks.

BNFO 236. Programming for Bioinformatics II. 3 credits, 3 contact hours (3;0;0).

BNFO 330. Princ of Bioinformatics II. 3 credits, 3 contact hours (3;0;0).

BNFO 340. Data Analysis for Bioinformatics II. 3 credits, 3 contact hours (3;0;0).

Prerequisites: BNFO 240 and R120 101 or equivalent or permission of instructor. Advanced data analysis skills with applications to bioinformatics problems.

BNFO 482. Databases and Data Mining in Bioinformatics. 3 credits, 3 contact hours (3;0;0).

Prerequisites: BNFO 240 or equivalent or permission of instructor. Surveys biological databases and tools for managing them. Covers concepts and principles of data mining in bioinfomratics. Hands-on experience for mining genomic data using ORACLE and SQL.

BNFO 488. Independent Study in Bioinformatics. 3 credits, 3 contact hours (0;0;3).

BNFO 491. Bioinformatics Senior Project. 3 credits, 3 contact hours (0;0;3).

Prerequisite: CS 490. Restriction: Senior standing in the Honors College and project proposal approval. A course similar to CS 491, with a project of greater depth and scope.

CS 100. Roadmap to Computing. 3 credits, 3 contact hours (3;0;0).

An introduction to programming and problem solving skills using Python or other very high level language. Topics include basic strategies for problem solving, constructs that control the flow of execution of a program and the use of high level data types such as lists, strings and dictionaries in problem representation. The course also presents an overview of selected topics in computing, such as networking and databases.

CS 101. Computer Programming and Problem Solving. 3 credits, 3 contact hours (3;0;0).

An introductory course that is designed for engineering freshmen. This course introduces students to the engineering problem solving process in the context of MATLAB. The emphasis is on the logical analysis of a problem and the formulation of a computer program leading to its solution. Topics include basic concepts of computer systems, algorithm design, programming languages and data abstraction. At the end of class, a comparison between MATLAB and C/C++ will be discussed to provide students a better understanding of the general concept of computer programming.

CS 103. Computer Science with Business Problems. 3 credits, 3 contact hours (3;0;0).

An introductory course in computer science, with applications to business and managerial decision making. Topics include basic concepts of computer systems, software engineering, algorithm design, programming languages and abstraction, with applications.

CS 104. Computer Programming and Graphics Problems. 3 credits, 3 contact hours (3;0;0).

An introductory course in computer science with applications in computer graphics for architecture. Emphasis on programming methodology using a high level language as the vehicle to illustrate the concepts. Topics include basic concepts of computer systems, software engineering, algorithm design, programming languages and data abstraction, with applications.

CS 106. Introduction to Computing. 3 credits, 3 contact hours (3;0;0).

An introduction to programming and problem solving skills for non-computing majors using Python programming languages. Topics include basic strategies for problem solving, constructs that control the flow execution of a program and the use of high level data types such as lists, strings, and dictionaries in problem representation. The course also presents an overview of selected "big idea" topics in computing.

CS 113. Introduction to Computer Science I. 3 credits, 3 contact hours (3;0;0).

Prerequisites: CS 100 or CS 103 with a grade C or better. Intensive introduction to computer science. Problem solving decomposition. Writing, debugging, and analyzing computer programs. Introduction to arrays and lists. Iteration and recursion. The Java language is introduced and used to highlight these concepts. A student receiving degree credit for CS 113 cannot receive degree credit for CS 115.

CS 114. Introduction to Computer Science II. 3 credits, 3 contact hours (3;0;0).

Prerequisite: CS 113 with a grade C or better. A study of advanced programming topics with logical structures of data, their physical representation, and the design of computer algorithms operating on the structures. Course covers program specifications, correctness and efficiency, data abstraction, and algorithm analysis. Students receiving degree credit for CS 114 cannot receive degree credit for CS 116 or CS 505.

CS 115. Introduction to Computer Science I in C++. 3 credits, 3 contact hours (3;0;0).

Fundamentals of computer science are introduced, with emphasis on programming methodology and problem solving. Topics include basic concepts of computer systems, software engineering, algorithm design, programming languages and data abstraction, with applications. The high level language C++ is fully discussed and serves as the vehicle to illustrate many of the concepts. CS majors should enroll in CS 113.

CS 116. Introduction to Computer Science II in C++.. 3 credits, 3 contact hours (3;0;0).

Prerequisite: CS 115 with a grade C or better. A study of advanced programming topics with logical structures of data, their physical representation, design and analysis of computer algorithms operating on the structures, and techniques for program development and debugging. Course covers program specifications, correctness and efficiency, data abstraction, basic aspects of simple data structures, internal searching and sorting, recursion and string processing. Algorithmic analysis is also discussed. Students receiving degree credit for CS 116 cannot receive degree credit for CS 505 or CS 114.

CS 2**. CS Elective. 3 credits, 3 contact hours (3;0;0).

CS 210. Technical History of Computing. 3 credits, 3 contact hours (3;0;0).

Prerequisites: (CS 100 or CS 101 or CS 103 or CS 104 or CS 113 or CS 115 or BNFO 135) and any History and Humanities GER 200 level course and ENGL 101. This course is for students in computing majors. Students will gain a comprehensive overview of the evolution of computing from the start of recorded history through modern times. By studying history, you will understand the context of modern developments in CS/IT, including cyclical trends and why various approaches did or did not work. Learning where it all came from will also help young computer scientists to speak intelligently with older colleagues and managers in the workforce. Topics include mechanical calculating, analog computing, relay/tube computers, transistors, integrated circuits, I/O such as punch cards/paper tape/floppy disks, the minicomputer generation, the microcomputer revolution, development of graphical and network systems, early mobile computer, and modern history. A special focus on historic developments in New Jersey will be part of all lectures.

CS 241. Foundations of Computer Science I. 3 credits, 3 contact hours (3;0;0).

Prerequisites: CS 114 and MATH 112 with a grade C or better. An introduction to the foundations of computer science with emphasis on the development of techniques for the design and proof of correctness of algorithms and the analysis of their computational complexity. Reasoning techniques based on propositional and predicate logic and relational calculus operations with applications to databases will also be introduced. Auxiliary topics such as combinatorics of finite sets, functions and relations, and graph-theory definitions and graph storage alternatives will also be examined.

CS 266. Game Modification Development. 3 credits, 3 contact hours (3;0;0).

Prerequisites: IT 102 or IT 114 or CS 114 or CS 116 with a grade C or better. This course introduces students to the basic concepts of game programming and development. Students will learn how to reprogram a professional game engine, or Modification (Mod) development as it is referred to in the industry. Students will work with C extensively. Students will work on their own game projects utilizing the professional game engine.

CS 276. 2D Game Development. 3 credits, 3 contact hours (3;0;0).

Prerequisites: (CS 265 and CS 266) or (IT 265 and IT 266) with a grade C or better. This course introduces students to the core concepts and skills necessary for the development of games utilizing 2D graphics. Students will learn how to set up and program their own 2D graphics based game engine. The engine will integrate 2D graphics, audio, input handling and network socket programming. Students will learn how to utilize their own custom 2D graphics and sounds into their projects. Once complete, students will have created two fully functional games.

CS 280. Programming Language Concepts. 3 credits, 3 contact hours (3;0;0).

Prerequisites: CS 114 or CS 116 or IT 114 or equivalent with a grade C or better. Conceptual study of programming language syntax, semantics and implementation. Course covers language definition structure, data types and structures, control structures and data flow, run-time consideration, and interpretative languages.

CS 288. Intensive Programming in Linux. 3 credits, 3 contact hours (3;0;0).

Prerequisites: CS 100 and CS 280 with a grade C or better. The course covers Linux programming with Apache Web and MySql database using Php/Python and C as primary languages. It consists of four stages: basic tools such as Bash and C programming; searching trees and matrix computing, end-to-end applications such as one that constantly presents top 100 stocks; and extending the applications to run on multiple machines. The course provides students with hands-on experience for programming relatively large applications.

CS 3**. CS Elective. 3 credits, 3 contact hours (3;0;0).

CS 301. Introduction to Data Science. 3 credits, 3 contact hours (3;0;0).

Prerequisites: CS 114 and (MATH 333 or MATH 341) with a grade C or better. This course is designed for CS BS students to equip them with introductory principles as well as hands-on skills that are required to solve data science problems. The first part of the course focuses on learning models, formalism, and algorithmic techniques that are popular in data science and heavily used in practice. In the second part of the course, students are introduced to data science tools (e.g., Excel, Python).

CS 331. Database System Design & Mgmt. 3 credits, 3 contact hours (3;0;0).

Prerequisites: CS 114 or CS 116 or IT 114 or equivalent with a grade C or better. Database system architecture; data modeling using the entity-relationship model; storage of databases; the hierarchical, network and relational data models; formal and commercial query languages; functional dependencies and normalization for relational database design; relation decomposition; concurrency control and transactions management. Student projects involve the use of a DBMS package.

CS 332. Principles of Operating Systems. 3 credits, 3 contact hours (3;0;0).

Prerequisites: CS 114 or CS 116 or IT 114 or equivalent with a grade C or better. Organization of operating systems covering structure, process management and scheduling; interaction of concurrent processes; interrupts; I/O, device handling; memory and virtual memory management and file management.

CS 333. Introduction to UNIX Operating Systems. 3 credits, 3 contact hours (3;0;0).

Prerequisites: CS 332 or equivalent and knowledge of C language. The course covers the UNIX system kernel including initialization, scheduling, context switching, process management, memory management, device management, and the file system. The course also includes the organization of shells, editors, utilities, and programming tools of the UNIX operating system.

CS 337. Performance Modeling in Computing. 3 credits, 3 contact hours (3;0;0).

Prerequisites: CS 114 and (MATH 333 or MATH 341) with a grade C or better. Introduction to probability models and techniques useful in computer science. Performance evaluation, discrete-event simulation, classification and optimization are covered.

CS 341. Foundations of Computer Science II. 3 credits, 3 contact hours (3;0;0).

Prerequisites: (CS 241 or MATH 226) and CS 280 with a grade C or better. This course provides an introduction to automata theory, computability theory, and complexity theory. Theoretical models such as finite-state machines, push-down stack machines, and Turing machines are developed and related to issues in programming language theory. Also, the course covers undecidability and complexity classes P, NP, and NPC.

CS 345. Web Search. 3 credits, 3 contact hours (3;0;0).

Prerequisites: CS 280 and CS 241 with a grade C or better. An introductory course on web searching. The architecture of a search engine. Information vs. data retrieval. Web crawling. Processing text (tokenization, stemming, stopwords, link analysis). The indexing process and inverted indexes. Query processing. Ranking algorithms based on indexes and links (e.g. Kleinberg's HITS, Google's PAGERANK). Retrieval Models. Search engine evaluation. Case studies (e.g. Google cluster architecture).

CS 350. Intro to Computer Systems. 3 credits, 3 contact hours (3;0;0).

Prerequisite: CS 280 with a grade C or better. An introduction to the organization and architecture of computer systems, including the standard Von Neumann model and more recent architectural concepts. Among the topics covered are numeric data representation, assembly language organization, memory addressing, memory systems, both real and virtual, coding and compression, input/output structures treated as programmed, interrupt, and direct memory access, and functional organization of the CPU and the computer system.

CS 351. Introduction to Cybersecurity. 3 credits, 3 contact hours (3;0;0).

Prerequisites: CS 241 and CS 356 with a grade C or better. This course will give a broad overview of cybersecurity. There are two main goals of this course. First, students will learn fundamental concepts of cybersecurity. Second, this course will help students gain knowledge of the applications to computer systems and communication security. Topics include basics of cryptography, access control, malware, software security, storage and file security, operating-system security, database security and secure communication protocols.

CS 356. Introduction to Computer Networks. 3 credits, 3 contact hours (3;0;0).

Prerequisite: CS 280 with a grade C or better. This course provides an introduction to computer networks, with a special focus on Internet architecture and protocols. Topics include layered-network architectures, addressing, naming, forwarding, routing, communication reliability, the client-server model, web and email protocols. Besides the theoretical foundations, students acquire practical experience by programming reduced versions of real Internet protocols.

CS 357. Fundamentals of Network Security. 3 credits, 3 contact hours (3;0;0).

Prerequisites: CS 356 or IT 420 with a grade C or better. This course is designed for Computer Science and Information Technology students. They must have a networking course before taking CS 357. IT students take IT 420 and Computer Science students take CS 356. This course offers an in-depth study of network security issues, types of computer and network attacks, and effective defenses. It provides both a theoretical foundation in the area of security and hands-on experience with various attack tools, firewalls, and intrusion-detection systems. Topics include: network scanning, TCP/IP stack fingerprinting, system vulnerability analysis, buffer overflows, password cracking, session hijacking, denial-of-service attacks, intrusion detection.

CS 366. 3D Game Development. 3 credits, 3 contact hours (3;0;0).

This course introduces students to the core concepts and skills necessary for the development of games utilizing 3D graphics. Students will learn how to set up and program their own 3D graphics based game engine using OpenGL. Students will learn how to load and display custom 3D models created using existing 3D modeling tools. Once complete, students will have created two fully functional 3D games and tools to work with them.

CS 370. Introduction to Artificial Intelligence. 3 credits, 4 contact hours (3;1;0).

Prerequisites: CS 114 and (MATH 226 or CS 241) with a grade C or better. An exploration of concepts, approaches and techniques of artificial intelligence. Emphasizes both underlying theory and applications. Topics include knowledge representation, parsing language, search, logic, adduction, uncertainty, and learning. LISP and Prolog programming languages are used extensively. Students are required to do programming assignments, complete a programming term project and review case studies.

CS 375. Introduction to Machine Learning. 3 credits, 3 contact hours (3;0;0).

Prerequisites: CS 100 and (CS 113 or CS 115) and (MATH 333 or MATH 341) with a grade C or better. This is an introductory course to Machine Learning (ML). It consists of: (i) A smooth, example-based presentation of the fundamental notions of ML via simple algorithms and visualizable "toy" data sets. (ii) A tour of a selection of widely-used machine learning algorithms, including supervised, unsupervised, and reinforcement-based techniques, with applications on real data sets. The students are expected to implement basic algorithms and experiment with existing widely-used ML software libraries on real datasets. They will also gain exposure to the full development of an ML system via a course project.

CS 388. Android Application Development. 3 credits, 3 contact hours (3;0;0).

Prerequisite: CS 288 with a grade C or better. This course introduces mobile application development for the Android platform. Students will learn skills necessary for creating and deploying applications with the Android Software Development Kit (SDK). The course is designed to introduce and familiarize students with programming in the Android environment. It starts with an examination of the basic components and concepts that define the Android platform, and then moves on to cover the specific structure that comprises an Android application. An overview of the most common tools and techniques for writing Android applications is included. The Android approach to user interfaces is described along with a discussion of some of the more common user-interface elements. Storage strategies for persistent information are also covered, including the use of the available SQLite Database features. The unique characteristics of programming for a mobile environment are introduced and explained. Hands on experience in the form of exercises and programming projects are included throughout the course to reinforce material that has been presented in lecture form.

CS 4**. CS Elective. 3 credits, 3 contact hours (3;0;0).

CS 408. Cryptography and Internet Security. 3 credits, 3 contact hours (3;0;0).

Prerequisite: CS 351 with a grade C or better. Covers security requirements for telecommunication over the Internet and other communication networks, various conventional and public-key encryption protocols, digital encryption standard, RSA and EIGamal cryptographic systems, digital signature algorithm and analysis of its cryptoimmunity, and access-sharing schemes. Students receiving credit for CS 408 may not enroll in CS 608.

CS 433. Introduction to Linux Kernel Programming. 3 credits, 3 contact hours (3;0;0).

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

CS 434. Advanced Database Systems. 3 credits, 3 contact hours (3;0;0).

Prerequisite: CS 331 with a grade C or better. The course covers the basic concepts of traditional files and file processing, provides a "classic" introduction to the relational data model and its languages, and discusses database design methodology and application developments. Students are expected to learn the design of database application systems through a small project and to get some practical hands-on experience with commercial database management systems (DBMS) by writing application programs using the commercial DBMS query languages.

CS 435. Advanced Data Structures and Algorithm Design. 3 credits, 4 contact hours (3;1;0).

Prerequisites: CS 241 and CS 288 with a grade C or better. Advanced topics in data structures and algorithms, involving sequences, sets, and graphs such as searching, sorting, order statistics, balanced search tree operations, hash tables, graph traversals, graph connectivity and path problems. Algebraic and numeric algorithms. Performance measures, analysis techniques, and complexity of such algorithms.

CS 438. Interactive Computer Graphics. 3 credits, 3 contact hours (3;0;0).

Prerequisites: (CS 114 or CS 116) and MATH 337 with a grade C or better. This course introduces fundamental concepts of interactive graphics oriented toward computer-aided design systems. Such systems emerge in engineering, architecture, and manufacturing. Topics include computer data structures for representation of two- and three-dimensional objects and algorithms for definition, modification, and display of these objects in applications. This course will also discuss a selection of special topics in interactive graphics.

CS 439. Image Processing and Analysis. 3 credits, 3 contact hours (3;0;0).

Prerequisites: CS 114 and MATH 333. This course is an intensive study of the fundamentals of image processing, analysis and understanding. Topics to be covered include: a brief review of the necessary mathematical tools, human visual perception, sampling and quantization, image transformation, enhancement, restoration, compression, reconstruction, image geometric transformation, matching, segmentation, feature extraction, representation and description, recognition and interpretation.

CS 440. Computer Vision. 3 credits, 3 contact hours (3;0;0).

Prerequisite: MATH 333. This course introduces basic concepts and methodologies of computer vision, and focuses on material that is fundamental and has a broad scope of applications. Topics include contemporary developments in all mainstream areas of computer vision e.g., Image Formation, Feature Representation, Classification and Recognition, Motion Analysis, Camera Calibration, Stereo Vision, Shape From X (shading, texture, motion, etc.), and typical applications such as Biometrics.

CS 441. Database Programming. 3 credits, 3 contact hours (3;0;0).

Prerequisite: CS 114 or equivalent with a grade C or better. Many technologies have been developed due to the interplay between World-Wide Web development and databases on one hand and the growth of database applications in e-commerce on the other hand. Today, practically every e-commerce application has at least a Web component and a database component. Many languages have been developed in order to deal with these interactions. The course will focus on accessing databases through the Web but also cover new developments in the field.

CS 444. Big Data Systems. 3 credits, 3 contact hours (3;0;0).

Prerequisites: CS 288 and CS 301 with a grade C or better. This course provides a broad coverage of topics on big data generation, transfer, storage, management, computing, and analytics with focus on state-of-the-art technologies and tools used in big data systems such as Hadoop. Real-life big-data applications and workflows in various domains are introduced as use cases to illustrate the development and execution of emerging big data-oriented solutions using HDFS, HBase, MapReduce/Spark, etc. deployed in cloud-based cluster environments.

CS 450. Data Visualization. 3 credits, 3 contact hours (3;0;0).

Prerequisites: CS 288 and CS 301 with a grade C or better. The course provides students an introduction to computer graphics and the knowledge for designing, developing, and applying techniques for both information and volume visualization. Software tools such as Tableau and programing languages such as Python will be used to represent and interpret information in various visual forms, and volumetric visualization algorithms such as marching cubes and ray casting will be used for big data visualization of 3D datasets in scientific domains. Students will gain knowledge about theoretical design principles and apply them directly on real-world data, as part of assignments and course projects.

CS 458. Technologies-Network Security. 3 credits, 3 contact hours (3;0;0).

Prerequisite: CS 351 with a grade C or better. This course provides both an in-depth theoretical study and a practical exposure to technologies that are critical in providing secure communication over the Internet. Topics include remote access security, web security, wireless security, e-mail security, spam and spam filtering techniques, computer viruses and internet worms, honeypots and honeynets, security liability issues and compliance.

CS 482. Data Mining. 3 credits, 3 contact hours (3;0;0).

Prerequisite: CS 331 with a grade C or better. The course covers the concepts and principles of advanced data mining systems design; presents methods for association and dependency analysis, classification; prediction; and clustering analysis.

CS 485. Selected Topics In CS. 3 credits, 3 contact hours (3;0;0).

Restriction: junior standing and/or department approval. The study of new and/or advanced topics in an area of computer science not regularly covered in any other CS course. The precise topics to be covered in the course, along with prerequisites, will be announced in the semester prior to the offering of the course. A student may register for no more than two semesters of Special Topics.

CS 486. Topics in Computer Science/Information Systems. 3 credits, 3 contact hours (3;0;0).

Restriction: junior standing and/or department approval. A continuation of CS 485.

CS 488. Independent Study in Computer Science. 3 credits, 0 contact hours (0;0;0).

Restriction: Open only to Computer Science majors and who have the prior approval of the department and the CS faculty member who will guide the independent study. Independent studies, investigations, research, and reports on advanced topics in computer science. Students must prepare, in collaboration with their faculty mentor and in the semester prior to enrolling in this course, a detailed plan of topics and expected accomplishments for their independent study. This must have the approval of both the department and the faculty mentor. A student may register for no more than one semester of Independent Study.

CS 490. Guided Design in Software Engineering. 3 credits, 3 contact hours (3;0;0).

Prerequisites: CS 280 and CS 288 with a grade C or better. This course focuses on the methodology for developing software systems. Methods and techniques for functional requirements analysis and specifications, design, coding, testing and proving, integration and maintenance are discussed.

CS 491. Senior Project. 3 credits, 3 contact hours (3;0;0).

Prerequisite: CS 490 with a grade C or better. An opportunity for the student to integrate the knowledge and skills gained in previous computer science work into a team-based project. The project involves investigation of current literature as well as computer implementation of either a part of a large program or the whole of a small system.

CS 492. Data Science Capstone I. 3 credits, 3 contact hours (3;0;0).

Restrictions: Senior standing. The Data Science (DS) Capstone Project spans two semesters and is intended to provide a real-world project-based learning experience for seniors in the BS DS program. The overall objectives of this course are to investigate the nature and techniques of a data-oriented computing development project. Projects are provided by faculty members or industry partners, or proposed by students who wish to become entrepreneurs. In DS Capstone I, teams of project participants will carry out market research, identify appropriate data science problems, collect and preprocess the needed data, define performance metrics, perform risk analysis, and finish an overall design of their solution that integrates various data analytics techniques. The course instructor will mentor and evaluate all projects in conjunction with an entrepreneurship board of industry, faculty, and alumni advisors.

CS 493. Data Science Capstone II. 3 credits, 3 contact hours (3;0;0).

Prerequisite: CS 492 with a grade C or better. The Data Science (DS) Capstone Project spans two semesters and is intended to provide a real-world project-based learning experience for seniors in the BS DS program. The overall objectives of this course are to investigate the nature and techniques of a data-oriented computing development project. Projects are provided by faculty members or industry partners, or proposed by students who wish to become entrepreneurs. In DS Capstone II, teams of project participants will refine their design, implement and integrate component techniques into a complete software solution, present data analysis results, evaluate the system performance, and validate the proposed solution. The course instructor will mentor and evaluate all projects in conjunction with an entrepreneurship board of industry, faculty, and alumni advisors.

DS 340. Fundamentals and Principles of Data Science. 3 credits, 3 contact hours (3;0;0).

Prerequisites: CS 114 and (MATH 333 or MATH 341) with a grade C or better. Fundamentals and principles of data science familiarize students with the theories and techniques for data representation, manipulation, analysis, visualization, and interpretation. Topics include introduction to data preparation and preprocessing, data mining, anomaly detection, machine learning, statistical learning, data analysis and visualization, large language models, ethics, and popular data science tools and systems. Hands-on work will include Python with Pandas coding.

IS 117. Introduction to Website Development. 3 credits, 3 contact hours (3;0;0).

This course discusses the concepts and skills required to plan, design and build websites. It will be taught in a lab to ensure hands-on experience with each of these tasks. The course begins with an overview of web technologies. Students learn to plan websites, which includes determining the business and end-user requirements for the site. Design includes learning to develop "mockups" of how the site will look and how people will use it. The major tools for building websites will be industry standard HTML and XHTML to describe webpage content, and Cascading Style Sheets (CSS) for flexibly formatting the content. Using XHTML and CSS makes it relatively simple to change formats across the entire site, as well as "future-proofs" a website, allowing it to be viewed on every major web browser (such as Firefox or Chrome) and easily adapt to changes in future browser technology. The course features substantial hands-on projects comprising websites of several interlinked pages and images, enabling students to thoroughly learn the course's important concepts and skills.

IS 218. Building Web Applications. 3 credits, 3 contact hours (3;0;0).

Prerequisites: (IS 117 or IT 202) and (CS 100, CS 113, or CS 115). This course provides a critical, hands-on introduction to the design of Web-based Information Systems. We will explore and discuss emerging trends, capabilities, and limitations of web technologies used to capture, store, access, and disseminate information for both businesses and online communities. Students, working in groups, will design and develop different types of web applications, which will then be analyzed and critiqued by the students as to their usability in actual public and private settings. An open-source web content management system will be utilized throughout the course.

IS 219. Adv Website Development. 3 credits, 3 contact hours (3;0;0).

Prerequisites: (IS 117 or IT 202) and (CS 100, CS 113, or CS 115). IS 218 is strongly encouraged as additional foundation knowledge. This course discusses the concepts and skills required to plan, design and build advanced websites, with a focus on sophisticated user interaction enabled by programming the web browser (such as Internet Explorer or Chrome). Such programming is known as client-side scripting. These interactive websites utilize forms to gather user inputs, and vary both the content and display of the webpages based on the current user tasks and preferences. This includes designing and dynamically changing tabs and menus, as well as expanding and contracting sections of pages. Students will develop a thorough understanding of website usability (designing effective sites that people like, security and user privacy, browser capability (ensuring websites work on every major web browser), and the tools and skills that web developers use to add interactive features to websites. These skills include Javascript (for programming interactive features), the Document Object Model or DOM (specifying the internal structure of web pages), JQuery (to access information utilizing this internal structure, create animations and generally streamline Javascript), browser variables (providing information about the browser characteristics), HTML input forms, form validation (ensuring correctness of user input), securing user input (to ensure user privacy), cookies (tracking user information), basic communication with the web server (which processes the information users input into forms), and AJAX ( which integrates many of these technologies). The course will be taught in a lab to ensure hands-on experience and will include substantial design and development projects.

IS 245. Information Technology Systems: Hardware/Software. 3 credits, 3 contact hours (3;0;0).

This course reviews hardware/software technologies in order to enable system developers to understand tradeoffs in the design of computer architectures for effective computer systems. Also covered are operating systems and systems architecture for networked computing systems. Topics include Hardware (CPU architecture, memory, registers, addressing modes, busses, instruction sets, multi processors versus single processors, and peripheral devices), Operating systems (processes, process management, memory and file system management), and Telecommunications (basic network components, switches, multiplexers and media, installation and configuration of multi-user operating systems).

IS 247. Designing the User Experience. 3 credits, 3 contact hours (3;0;0).

This course covers the design and evaluation of the human-computer interface in interactive computer systems. Among the topics covered are approaches to interface design such as menus, commands, direct manipulation; screen layout strategies; metaphor models; models of human information processes; evaluation approaches such as protocol for analysis, interactive monitoring, use of surveys; and requirements for documentation and help. Students are expected to design interface mockups and evaluate them.

IS 257. Design Thinking: Addressing Structural Inequality. 3 credits, 3 contact hours (3;0;0).

In this class, students are taught how to think like a designer. The class teaches students design thinking skills in the domain of information and computing. It leverages multiple forms of active learning, involves a significant amount of project-based learning, and helps students develop creative confidence. Students will identify and examine issues related to ‘information gaps’ which contribute to structural inequality. They will ideate, prototype, and iterate on designs to address these issues. Students will deliver a pitch video describing their idea(s).

IS 265. Introduction to Information Systems. 3 credits, 3 contact hours (3;0;0).

Information systems is the study of how organizations use information technology. This course is an overview of the information systems discipline, the role of information systems in organizations, and the changing nature of information technology. Computer tools for analysis and presentation are used. Students receiving degree credit for IS 265 cannot receive degree credit for MIS 245.

IS 270. Designing the Multimedia Experience. 3 credits, 3 contact hours (3;0;0).

Prerequisite: Completion of 100 level course in the computing sciences: CS 101 or CS 111 or CS 113 or CS 115 or IS 118. Multimedia combines text, graphics, sound, video, and animation in a single application. Preparation for creating multimedia information systems, and understanding the crucial issues involving technology, design and effectiveness of multimedia applications. Programming techniques for integrating video, sound, animation, and graphics, and design strategies for multimedia information systems.

IS 310. Co-op Work Experience I. 3 credits, 3 contact hours (0;0;3).

Prerequisites: completion of the sophomore year, approval of the department, and permission of the Office of Cooperative Education and Internships. Students gain major-related work experience and reinforcement of their academic program. Work assignments facilitated and approved by the Co-op office. Mandatory participation in seminars and completion of a report. Note: Normal grading applies to this COOP Experience.

IS 322. Mobile Applications: Design, Interface, Implementation. 3 credits, 3 contact hours (3;0;0).

Prerequisites: IS 218, IS 219, or IT 202. This course is a practical introduction to building applications for mobile devices. The course combines hands on design and development experience, with a conceptual overview and discussion of design and practical development issues. Taken into account will be constraints and requirements of devices with small screen sizes, limited battery power, limited computational power, etc. Tools used for building an application in the context of a specific device such as iPhone or an Android based device will be discussed. Students build a mobile application to demonstrate their understanding of mobile web constraints and tools.

IS 331. Database Design Management and Applications. 3 credits, 3 contact hours (3;0;0).

Prerequisite: IS 218 or IT 202. Businesses use databases extensively for analysis and decision-making because they provide efficient, large-scale information storage and rapid retrieval. Databases support the "back end functionality" of most large web systems. This course gives students extensive, pragmatic experience in designing, building, querying, updating, maintaining and managing relational databases, using the Structured Query Language (SQL). Proper database design principles are emphasized throughout the course, beginning with high level descriptions of relational databases using data modeling tools (such as entity-relationship or ER diagrams)and progressing to relational database design principles based on higher order normalizations. We will examine some poorly designed databases and show how these can be transformed into well designed databases. SQL will be extensively covered, and students will design and implement sophisticated SQL queries invoking self-joins, outer joins, correlated subqueries and related concepts. Students will explore and utilize design methodologies for input data validation and maintaining database integrity, and study issues of database privacy and security. Advanced topics to be discussed include the role of the Database Administrator (DBA), database life cycle activities, database denormalization, read-only databases and data warehouses. Hands-on experience will be gained by working with actual databases using industry-standard database management systems such as Oracle.

IS 333. Social Network Analysis. 3 credits, 3 contact hours (3;0;0).

Prerequisite: Completion of computing GUR (CS 100, CS 101, CS 103, CS 104, CS 111, CS 113, CS 115 or BNFO 135) AND statistical GUR (MATH 105, MATH 120, MATH 225, MATH 244, MATH 279, MATH 305, MATH 333, IE 331, ECE 321 or MNET 315). In this intensive hands-on course, students will learn how to design computer programs to “grab” information from social networking systems such as Facebook, and analyze this to reveal useful but hidden information about the users and their interconnections. Since math is the only language that computers understand, the goal of this class is to build connections between the human language one finds in social network postings and profiles, and mathematical formulas. The skills and techniques utilized in the course will prepare students for advanced courses in data mining and business analytics. This course requires basic statistical knowledge and Java programming skills.

IS 344. Computing Applications in Business. 3 credits, 3 contact hours (3;0;0).

Prerequisites: MIS 245 or IS 265 or ACCT 115 or ACCT 117 or MGMT 390. A comprehensive overview of the various types of computing applications used by businesses in order to run effectively and efficiently. All the major functional departments within organizations are examined and evaluated to see how applications are integrated to implement "business processes" that flow across department boundaries, and from suppliers to customers. Students will learn to model business situations and the design of applicable software solutions. A full-semester hands-on student project will provide experience in designing solutions to changes in the business environment.

IS 350. Computers, Society and Ethics. 3 credits, 3 contact hours (3;0;0).

Prerequisites: GER (CS 100, CS 101, CS 103, CS 104, CS 113, CS 115, or BNFO 135), and any History and Humanities GER 200 level course and ENGL 101. Examines the historical evolution of computer and information systems and explores their implications in the home, business, government, medicine and education. Topics include automation and job impact, privacy, and legal and ethical issues.

IS 373. Content Management Systems. 3 credits, 3 contact hours (3;0;0).

Prerequisites: IS 117 or IT 202. This course provides a hands-on introduction to the design and implementation of enterprise-scale web systems built upon web based content management systems (CMS). CMS manage the creation, storage, retrieval, dissemination, and collection of information in order to meet the needs of businesses, organizations and individuals. Students learn to how to create blogs, discussion boards, wiki, intranets, and dynamic websites using popular CMS packages such as Wordpress and Drupal. Throughout the course students learn how to overcome common challenges that impact the design of these systems such as security for multi-user systems, content strategy, marketing and performance.

IS 375. Discovering User Needs for UX. 3 credits, 3 contact hours (3;0;0).

What new digital products or services need to be developed? How do you anticipate someone’s needs before they do? How do you understand how people interact with products? These are key questions that both interaction designers and start-up entrepreneurs need to answer. It’s all about understanding the user. We need to work with users to investigate or "research" their needs and how they interact with the product or service. In this course, we take a deep dive into qualitative user experience (UX) research. UX research is the process of understanding why and how people use products and services. This course will teach you a set of research tools to discover user needs, investigate the user experience, and enhance the user experience by deriving design recommendations. We will cover techniques like ethnography, focus groups, interviewing, and analyzing qualitative data. We will be talking with user experience researchers at major companies and getting involved with actual user research. This practical, hands-on course will give you an insight into the psychology of user behavior and lay the foundation for students who are pursuing careers designing, evaluating, or marketing products for people.

IS 385. Special Topics in IS. 3 credits, 3 contact hours (3;0;0).

The study of new and/or advanced topics in an area of information systems and the computing sciences not regularly covered in any other IS course. The precise topics to be covered in the course, along with prerequisites, will be announced in the semester prior to the offering of the course.

IS 390. Requirements Analysis and Systems Design. 3 credits, 3 contact hours (3;0;0).

Prerequisites: CS 103, CS 113, CS 115, IS 218 or IT 202. A study of the information systems development life-cycle, from the initial stages of information requirements analysis and determination to the ultimate activities involving systems design. Theory, methodologies and strategies for information requirements analysis, including the assessment of transactions and decisions, fact-finding methodologies, structured analysis development tools, strategies of prototype development, and an overview of computer-aided software engineering (CASE) tools. Theory, methodologies and strategies for systems design, including design of user-interfaces, particularly menu-driven and keyword dialogue strategies, and issues in the proper design of computer output.

IS 392. Web Mining and Information Retrieval. 3 credits, 3 contact hours (3;0;0).

Prerequisites: IS 218, IT 114, or CS 114. This course introduces the design, implementation and evaluation of search engines and web mining applications. Topics include: automatic indexing, natural language processing, retrieval algorithms, web page classification and clustering, information extraction, summarization, search engine optimization, and web analytics. Students will gain hands-on experience applying theories in case studies.

IS 410. Co-op Work Experience II. 3 credits, 3 contact hours (0;0;3).

Prerequisites: IS 310 or its equivalent, approval of the department, and permission of the Office of Cooperative Education and Internships. Provides major-related work experience as co-op/internship. Mandatory participation in seminars and completion of requirements that include a report and/or project. Note: Normal grading applies to this COOP Experience.

IS 421. Advanced Web Applications. 3 credits, 3 contact hours (3;0;0).

Prerequisites: IS 219 and (IS 331 or CS 331). This course focuses on the design, development, and management of cloud-based web information systems, within the context of startup companies and established organizations. Within the course, we examine business, organizational and technical challenges faced by developers, project managers, and the business development professionals that create web-based software products. The course consists of readings, discussions, and a final team project that demonstrates modular design, planned scalability, maintainability, and the creation of a set of organizational processes that supports the continued support and development of the application. Some of the topics covered in the course are: continuous deployment, continuous integration, automated unit testing, modular design, software team management, agile development, Kanban, customer focused development, and the technologies used to scale cloud applications.

IS 448. Usability & Measuring UX. 3 credits, 3 contact hours (3;0;0).

Prerequisites: Statistics GUR (MATH 105, MATH 120, MATH 225, MATH 244, MATH 279, MATH 305, MATH 333, IE 331, ECE 321 or MNET 315). User experience research is the process of understanding why and how people use products and services. Usability refers to the ease of use and learnability of such a product or service. The primary function of usability is to be able to measure and assess the optimal use of a product from the perspective of the user. This course will teach students a set of quantitative tools to understand user needs, derive design recommendations, and evaluate the user experience. Students will receive an overview of the different quantitative methods being used in industry and academia, such as eye-tracking, big social media data analysis, and physiological tests. They will then get an in-depth knowledge of how to design, execute, and analyze data from experiments and surveys using both descriptive and inferential statistics. The course will incorporate a hands-on approach and be comprised completely of individual and group project assignments.

IS 455. IS Mgmt & Business Processes. 3 credits, 3 contact hours (3;0;0).

Prerequisites: (IS 265 or MIS 245) and IS 390. This course will emphasize how information systems enable core and supportive business processes, as well as those that interface with suppliers, partners and customers. It will discuss basic administrative, management and policy issues associated with the impact of information systems on the user and organization. The second part of the course looks at business processes in organizations: what the business process view is and why it is important, how information systems can improve processes, and how Enterprise Resource Planning systems help with that improvement. Hands-on use of a major ERP system (SAP) is included.

IS 461. Systems Simulation. 3 credits, 3 contact hours (3;0;0).

Prerequisites: completion of a 100-level GUR course in computing; MATH 333. This course introduces computer simulation as an algorithmic problem solving technique. Includes discrete simulation models, elementary theory, stochastic processes, use of simulation languages, random number generators, simulation of probabilistic processes, design of simulation experiments, validation of models, queueing systems, and applications to the design and analysis of operational systems. The GPSS language is covered in detail.

IS 465. Advanced Information Systems. 3 credits, 3 contact hours (3;0;0).

Prerequisites: Statistical GER (MATH 105, MATH 120, MATH 225, MATH 244, MATH 279, MATH 305, MATH 333, IE 331, ECE 321 or MNET 315), and (IS 265 or MIS 245) and IS 344, and (IS 331 or CS 331). This course serves as an 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 research areas. The course emphasizes manipulation and analysis of relevant data sets. Course topics include the rudiments of probability and random variables, estimation, hypothesis testing, graphics and visualization, data warehousing and OLAP analysis, dashboard, scorecard, data mining algorithms, optimization techniques, DSS and knowledge systems. Students will get hands-on experience in designing and building a data warehouse. They will get hands-on experience building a dashboard with real-world data, and they will apply various data mining algorithms learned in class to solve real world problems.

IS 485. Special Topics in Information Systems. 3 credits, 3 contact hours (3;0;0).

Prerequisites: junior standing and/or department approval. The study of new and/or advanced topics in an area of IS not regularly covered in any other IS course. The precise topics to be covered in the course, along with prerequisites, will be announced in the semester prior to the offering of the course. A student may register for no more than two semesters of Special Topics.

IS 486. Topics in Information Systems. 3 credits, 3 contact hours (3;0;0).

Prerequisites: Same as for IS 485. A continuation of IS 485.

IS 488. Independent Study in Information Systems. 3 credits, 0 contact hours (0;0;0).

Prerequisites: Open to students in the Albert Dorman Honors College or to any student who intends to apply to the Informatics Undergraduate Thesis program. Students need approval from the Informatics department and the Informatics faculty member who will guide the independent study. Independent studies, investigations, research, and reports on advanced topics in Informatics. Students must prepare, in collaboration with their faculty mentor and in the semester prior to enrolling in this course, a detailed plan of topics and expected accomplishments for their independent study. This must have the approval of both the department and the faculty mentor. A student may register for no more than one semester of Independent Study.

IS 489. INFO Undergrad Thesis Research. 3 credits, 3 contact hours (3;0;0).

Students continue their research in preparation for completing a Research Thesis.

IS 491. Senior Project - IS. 3 credits, 3 contact hours (0;0;3).

Prerequisites: IS 331 or CS 331. Restriction: Senior standing. Integration of knowledge and skills gained in previous information systems courses into an individual research project. The project entails investigation of current literature and the design, implementation and evaluation of an information system.

IT 101. Introduction to Information Technology. 3 credits, 3 contact hours (3;0;0).

The foundations of information technology (IT), including basic computer architecture, various kinds of computer hardware, and networking technology, are introduced. Various data representation schemes, such as the binary number systems, are covered. Different levels of software are examined, including aspects of the operating systems from the perspective of the IT professional. The software development process is discussed. Database management software and SQL are dealt with, as are applications and languages developed around the internet and Web infrastructure. Overall, fundamental knowledge required of today's IT professional is obtained along with an appreciation of IT's impact on business and society. Hands-on experience with some important elements of the IT field is gained through various laboratory assignments.

IT 114. Advanced Programming for Information Technology. 3 credits, 3 contact hours (3;0;0).

Prerequisites: CS 113 or CS 115. Problem solving techniques and program design knowledge are expanded with an eye toward IT-related applications. Various kinds of data structures are introduced, including classic containers such as lists, stacks, queues, and trees. Sorting and searching techniques are examined. The fundamentals of client/server programming and the use of sockets are covered. Recursion and its various applications are studied. The built-in class library features of an object-oriented programming language are exploited throughout.

IT 120. Introduction to Network Technology. 3 credits, 3 contact hours (3;0;0).

An introduction to the basics of networking in a modern operating system environment. Emphasis is placed on the application and management of networking technology. Topics to be covered include: the OSI model, network hardware and technologies, network protocols, wired and wireless networks, TCP/IP. Whenever possible, concepts will be explained through the use of hands-on exercises that reinforce the lecture material.

IT 201. Information Design Techniques. 3 credits, 3 contact hours (3;0;0).

Prerequisites: CS 100 or CS 101 or CS 103 or CS 104 or CS 106 or CS 113 or CS 115 or BNFO 135. This course presents an introduction to the theory and practice of information design. Topics covered include the theoretical foundations of information design, graphic design, content design, interaction design, usability, multimedia design, sound and video, animation, and an introduction to 3D modeling.

IT 202. Internet Applications. 3 credits, 3 contact hours (3;0;0).

Prerequisites: CS 100 or CS 113 or CS 115 or a course in a high-level programming language as approved by department. Core web technologies that underlie web-based multi-tier software architecture and applications are presented. Emphasis is on the latest versions of the languages of the web, and these are explored in a hands-on, guided development approach. The major topics include markup and styling languages such as HTML and CSS, client-side scripting languages such as JavaScript including the use of AJAX, server-side scripting languages using PHP, and database management via SQL. Web server concepts for hosting and deploying activities and projects are covered. The overall focus is on the out-of-the-box content of the various languages and technologies covered, but libraries will also be explored.

IT 220. Wireless Networks. 3 credits, 3 contact hours (3;0;0).

Prerequisites: IT 120 or CS 356. This course introduces the students to the applied topic of Wireless Networks, focusing on applied methods, tools and technologies, as well as practical experience in designing & implementing wireless networks. Topics include hardware, software, data, applications, communication, design & installation of wireless networks, together with the implementation, performance, security and limitations of such systems.

IT 230. Computer and Network Security. 3 credits, 3 contact hours (3;0;0).

Prerequisites: IT 120 or CS 356. This course introduces the applied topic of Computer Security, presenting the evolution of computer security, the main threats, attacks & mechanisms, applied computer operations & security protocols, main data transmission & storage protection methods via cryptography, ways of identifying, understanding & recovery from attacks against computer systems, various methods of security breach prevention, network systems availability, applications security, recovery & business continuation procedures and counter systems penetrations techniques and the role of the US Government in security of national computer infrastructure.

IT 240. Scripting for System Administration. 3 credits, 3 contact hours (3;0;0).

Prerequisites: CS 113 or CS 115. This course will introduce task automation using shell scripting in a multi-OS environment using the Shell and the Perl programming languages. Topics covered will include scripting commands, control structures, functions, scalar data and lists, regular expressions, hashing, automating administration functions and debugging. Lessons will be enhanced through the use of hands-on exercises to strengthen comprehension.

IT 265. Game Architecture and Design. 3 credits, 3 contact hours (3;0;0).

Prerequisites: CS 100 or CS 101 or CS 103 or CS 104 or CS 106 or CS 113 or CS 115 or BNFO 135. Course introduces students to the core concepts and design methodologies integral to designing and developing games and other Entertainment Software.

IT 266. Game Modification Development. 3 credits, 3 contact hours (3;0;0).

Prerequisites: CS 113 or CS 115. This course introduces students to the basic concepts of game programming and development. Students will learn how to reprogram a professional game engine, or Modification (Mod) development as it is referred to in the industry. Students will work with C intensively. Students will work on their own game projects utilizing the professional game engine.

IT 286. Foundations of Game Production. 3 credits, 3 contact hours (3;0;0).

Prerequisites: CS 100 or CS 101 or CS 103 or CS 104 or CS 106 or CS 113 or CS 115 or BNFO 135. This class introduces students to many of the tools and design methodologies needed for electronic game production. This class will focus heavily on scripting, level design and content control as applied to game development. Students will learn a few scripting languages that are used in the games industry such as Unreal Script and Python. Students will work on projects to develop the levels, controls and scripts in order to create a new game experience with a professional game.

IT 287. Advanced Game Production. 3 credits, 3 contact hours (3;0;0).

Prerequisite: IT 286 or COM 266. This course will build on tools and techniques presented in Foundations of Game Production and guide students through the development cycle of game levels. This will be a hands-on class that will teach students the development styles and revision techniques used in the professional game industry. Upon completion of the course, students will have first hand experience producing professional quality content for electronic games and a portfolio of work.

IT 302. Advanced Internet Applications. 3 credits, 3 contact hours (3;0;0).

Prerequisites: IT 202 or IS 218. Previous knowledge and experience in core web development will be expanded by covering advanced web development concepts and tools. Skills necessary for the design and development of complex web applications that meet industry standards are explored. This course encompasses key facets of web application development, including the utilization of front-end frameworks as Angular, React, and Vue), the use of various libraries, seamless integration with cloud-based backend services, backend frameworks such as Express, and the incorporation of NoSQL databases. Practical applications in the form of hands-on projects and assignments will be given throughout.

IT 303. Model View Controller Software Architecture. 3 credits, 3 contact hours (3;0;0).

Prerequisite: IT 202 or instructor approval. The Model View Controller(MVC) software architecture or pattern separates the concerns of application or domain logic, interface design, and the view of the system presented to the user, with the objective of more effective design, development and testing. This course covers environments and frameworks for modeling, developing and programming Internet Applications with emphasis on the Model View Controller paradigm. Design and development, applicability of principles, integrated test-driven development applicability of major external libraries like JQuery and Prototype, deployment, scaling and security issues will be examined. Case studies will be used to illustrate the concepts and frameworks considered. A substantial development project will be required.

IT 310. E-Commerce Technology. 3 credits, 3 contact hours (3;0;0).

An overview of the technologies relevant to electronic commerce. Communications and networking, web authoring tools, system security, databases and archiving, EDI, transaction processing, and factory/warehouse data networks. Provides competency to appraise tools such as HTTP servers, secure transaction software and firewalls, low and high-end database systems, heterogeneous networks, NNTP Servers, client software, procurement systems, and intelligent agents. Covers e-commerce models including agent-based and Java-based, electronic contracts and the electronic exchange of technical data, electronic cash systems and user security.

IT 311. Co-op Work Experience I. 3 credits, 3 contact hours (0;0;3).

Prerequisites: Completion of the sophomore year, approval of the program coordinator, and permission of the Office of Cooperative Education and Internship. Students gain major-related work experience and reinforcement of their academic program. Work assignments facilitated and approved by the Co-op office. Mandatory participation in seminars and completion of a report. Note: Normal grading applies to this COOP Experience.

IT 320. Virtual Instrumentation. 3 credits, 3 contact hours (3;0;0).

Cross-listed with OPSE 310. Prerequisite: CS 113 or CS 115. Covers the basics of virtual instrumentation including use of IEEE GPIB, RS232 interfaces, and data acquisition boards. Interface a computer to various instruments for data acquisition and instrument control using a state-of-the-art software platform such as National Instrument's LABVIEW. Emphasis is on the practical aspects of interfacing a computer to various instruments including timing issues, real-time data acquisition and instrument control, instrument status, and acquisition speed.

IT 330. Computer Forensic. 3 credits, 3 contact hours (3;0;0).

Prerequisites: IT 120 or CS 356. This course introduces students to the applied topic of Computer Forensic, the study of obtaining and analyzing digital information from computers that have been used to commit illegal actions (computer crime), for use as evidence in civil, criminal, or administrative cases.

IT 331. Privacy and Information Technology. 3 credits, 3 contact hours (3;0;0).

Prerequisites: CS 100 or CS 101 or CS 103 or CS 104 or CS 106 or CS 113 or CS 115 or BNFO 135. This course will introduce the legal, social and technical issues involving information privacy. Topics covered will include the historical development of information privacy law; law enforcement, technology and surveillance; government databases and records; privacy and business records and financial information; privacy and the media; health and genetic privacy and international privacy law.

IT 332. Digital Crime. 3 credits, 3 contact hours (3;0;0).

Prerequisites: CS 100 or CS 101 or CS 103 or CS 104 or CS 106 or CS 113 or CS 115 or BNFO 135. Comprehensive, multidisciplinary overview of the methods and means by which technology is used by the criminal in today's society. An examination of the historical, legal, technological and sociological aspects of cybercrime. The course covers the challenges of a new era of technology has brought to combating crime of all types, including terrorism. Topics covered will include: the sociology of the white collar criminal, the criminal justice system and law enforcement, computer security and deterrence/prevention.

IT 335. Introduction to .NET Framework. 3 credits, 3 contact hours (3;0;0).

Prerequisite: IT 202 or equivalent. This course introduces students to .NET Framework, a new computational environment that supports more than 25 programming languages and is platform and device independent. Problem solving and system development topics are integrated into the course by using C# languages as a vehicle to illustrate the concepts.

IT 340. Introduction to System Administration. 3 credits, 3 contact hours (3;0;0).

Prerequisites: IT 120 or CS 356. This course will introduce the tasks and techniques required to perform as a system administrator of Linux systems. Topics to be covered include booting, process control, the file system, managing users and resources, backups, configuration management, networking, the network file system, email servers, security, hardware devices, interoperability, and daemons. Whenever possible, lectures will be augmented with hands-on exercises.

IT 360. Programming for Computer Graphics. 3 credits, 3 contact hours (3;0;0).

Prerequisites: CS 113 or CS 115. Introduction to programming graphics and animation through the use of an appropriate application interface such as openGL. Topics include 2D and 3D graphics with mappings from the real world coordinates to graphics display. Perspective display will be provided by an interface. Basic vector and matrix operations which underlie the concepts of perspective will be covered.

IT 366. 2D Game Development. 3 credits, 3 contact hours (3;0;0).

Prerequisites: IT 266. This course introduces students to the core concepts and skills necessary for the development of games utilizing 2D graphics. Students will learn how to set up and program their own 2D graphics based game engine. The engine will integrate 2D graphics, audio, input handling and network socket programming. Students will learn how to utilize their own custom 2D graphics and sounds into their projects. Once complete, students will have created two fully functional games.

IT 380. Educational Software Design. 3 credits, 3 contact hours (3;0;0).

Prerequisite: IT 201. Educational Media Design employs the instructional principles of constructivist pedagogy as the process used to develop a solution to develope courseware for K-12 audience. The course builds on the participatory design model of software engineering in order to develop integrated learning environments that support visual and verbal literacy; enables student to be able to plan, organize, and systematically develop instructional materials. This course implements instructional design theory and pedagogy in order to create an actual application for a computer-based environment. Same as STS 318.

IT 382. User Interfaces for Extended Reality. 3 credits, 3 contact hours (3;0;0).

Prerequisites: IT 201. The course presents the concepts that address hardware and software technologies and principles of perception for mixed reality (virtual and augmented reality) applications. During the course, the students will have an opportunity to build a virtual or augmented reality application and test it with Oculus, Vive, Magic Leap, or HoloLens. During this course, students will learn to design and develop immersive experiences with VR/AR headsets, stereo displays, and large projection screens. They will incorporate body and eye trackers, follow and discuss the latest AR/VR trends, explore why some games make people feel immersed, and others make people sick. Students will also explore the differences and similarities between computer and human vision. This course is hands-on; It will be utilizing Unity 3D or Unreal Engine. The end of the year project will showcase all the different skills and knowledge acquired throughout the semester.

IT 383. Game Design for Extended Reality. 3 credits, 3 contact hours (3;0;0).

Prerequisites: IT 201. This course concentrates on game development in cross-reality (XR). Specifically, the course looks at various user interface recommendations for virtual and augmented space including navigation, selection, and manipulation techniques. The course reviews current industry standards, design practices, evaluation approaches, and various types of documentation. By the end of the course, students will design, build, and evaluate a project they can use in their portfolio.

IT 386. 3D Modeling and Animation. 3 credits, 3 contact hours (3;0;0).

Prerequisite: IT 201. This class introduces students to the concepts of 3D modeling and animation, and putting those concepts into action by working with software. This class will be a hands-on, project focused course, using 3D modeling packages, taking students from design to final render.

IT 400. Information Technology and the Law. 3 credits, 3 contact hours (3;0;0).

This course will provide an introduction to legal concepts, principles and terminology as applied to modern information technology. The historical background and foundations of the various principles of U.S. Statutory and Common Law will be considered and will be used to explore how such principles may be applied to encompass and govern modern legal interactions in the U.S. and internationally. Through assignments and class discussion, which will often involve the Socratic Method, students will be expected to spot potential legal issues and make logical arguments for and against various legal propositions.

IT 411. Co-op Work Experience. 3 credits, 3 contact hours (0;0;3).

Prerequisites: Completion of the sophomore year, approval of the program coordinator, and permission of the Office of Cooperative Education and Internship. Students gain major-related work experience and reinforcement of their academic program. Work assignments facilitated and approved by the Co-op office. Mandatory participation in seminars and completion of a report. Note: Normal grading applies to this COOP Experience.

IT 420. Computer Systems and Networks. 3 credits, 3 contact hours (3;0;0).

Prerequisites: IT 120 or CS 356. This course provides students with an understanding of methods, tools, and technologies required to work with computer systems and networks. It includes a detailed discussion of Internet/intranet issues, including standards, connectivity, performance, protocols, network configurations, network design, wireless technology, management, and simulation through practical cases, covering both hardware and software systems.

IT 430. Ethical Hacking for System Administrators. 3 credits, 3 contact hours (3;0;0).

Prerequisite: IT 340 or equivalent. This course will explore the various means that an intruder has available to gain access to computer resources. Traditional security analysis often falls short due to the rapidly evolving threats that exist. The course was developed to teach how system and network vulnerabilities are found and exploited and what steps can be taken to mitigate the risk.

IT 466. 3D Game Programming. 3 credits, 3 contact hours (3;0;0).

Prerequisite: IT 266. This course introduces the core concepts and skills necessary for the development of games utilizing 3D graphics. Students will learn how to set up and program their own 3D graphics-based game engine using industry standard graphics libraries. Students will learn how to load and display custom 3D models created using existing 3D modeling tools. Students are expected to create fully functional 3D games and associated tools to work with them.

IT 485. Special Topics in Information Technology I. 3 credits, 3 contact hours (3;0;0).

Prerequisites: junior standing and/or advisor approval. The study of new and/or advanced topics in an area of information technology and its application not regularly covered in any other IT course. The precise topics to be covered, along with prerequisites, are announced in the semester prior to the offering of the course. A student may register for no more than two semesters of special topics courses.

IT 486. Special Topics in Information Technology II. 3 credits, 3 contact hours (3;0;0).

Prerequisites: same as for IT 485. A continuation of IT 485.

IT 488. Independent Study in Information Technology. 3 credits, 3 contact hours (0;0;3).

Prerequisites: open only to Information Technology majors who have the prior approval of the program director and the IT faculty who will guide the independent study taking the form of investigations, research, and reports on advanced topics in information technology. Students must prepare, in collaboration with their faculty mentor and in the semester prior to enrolling in this course, a detailed plan of topics and expected accomplishments for their independent study. This must have the approval of both the program director and the faculty mentor. A student may register for no more than one semester of independent study.

IT 490. Systems Integration. 3 credits, 3 contact hours (3;0;0).

Prerequisites: CS 113 or CS 115, IS 331 or CS 331, and IT 340. The course will introduce the major design, implementation & distributed deployment issues regarding system integration, Network Operating Systems (NOS), cross-platform database integration, e-commerce and e-business applications implementation, cross-servers & multiple locations e-sessions migration, and the related communications security.

IT 491. IT Capstone Project. 3 credits, 3 contact hours (3;0;0).

Prerequisites: senior standing. An opportunity for students to integrate the knowledge and skills gained in previous information technology work into a team research project. The project involves investigation of current literature as well as implementation of either a part of a large application or the whole of a small system.

YWCC 107. Computing as a Career. 1 credit, 1 contact hour (0;0;1).

In this course, students will learn about time management, communication skills, and getting acclimated to NJIT. Through meetings with faculty, upperclassman students and current computing employers, students will explore CCS and learn about many exciting career opportunities within the computing field.

YWCC 207. Computing & Effective Com. 1 credit, 1 contact hour (1;0;0).

Prerequisites: Student of YWCC and sophomore/junior standing. Through encouraging collaboration and communication, this course addresses how to best present oneself via verbal and nonverbal communication. Students will learn how to effectively network, create resumes, interview and best present ideas. The skills learned in this course prepare students for co-op/internship opportunities as well as future employment.

YWCC 307. Professional Dev in Computing. 1 credit, 1 contact hour (1;0;0).

Prerequisite: YWCC 207. This course is designed for junior year students to reflect back on the college experience and to help plan for the future as a computing professional. The course will explore transitional issues that occur during the progression from student to professional through reflection on co-op and/or internship.

YWCC 310. Co-op Work Experience I. 3 credits, 6 contact hours (0;0;6).

Restrictions: Completion of the sophomore year, approval of the department, and permission of the Office of Cooperative Education and Internships. Students gain major-related work experience and reinforcement of their academic program. Work assignments facilitated and approved by the Co-op office. Mandatory participation in seminars and completion of a report. Note: Normal grading applies to this Co-op Experience.

YWCC 410. Co-op Work Experience II. 3 credits, 6 contact hours (0;0;6).

Prerequisites: Completion of the sophomore year, approval of the department, and permission of the Office of Cooperative Education and Internships. Provides major-related work experience as co-op/internship. Mandatory participation in seminars and completion of requirements that include a report and/or project. Note: Normal grading applies to this Co-op Experience.

YWCC 411. Co-op Work Experience III. 1 credit, 2 contact hours (0;0;2).

Prerequisites: Completion of the sophomore year, approval of the department, and permission of the Office of Cooperative Education and Internships. Provides major-related work experience as co-op/internship and reinforcement of their academic program. Work assignments facilitated and approved by the Co-op office. Mandatory participation in seminars and completion of requirements that include a report and/or project. Credit for this course may not be used towards any YWCC degree.