main navigation
my pace

600

CS 600 Independent Study in Graduate Computer Science

Prerequisite: Permission of Department Chair required.

Course Description: Independent study projects in special areas of computer science can be pursued by advanced students with a minimum QPA of 3.70 who, upon the submission of a detailed proposal, obtain permission of the instructor. No more than 6 credits of Independent Study may be taken.

1 - 4 credits

CS 601 Data Structures and Algorithms

Prerequisite: CS 504 and CS 507 or equivalent.

Course Description: Data structures and algorithms presented as a basis of problem analysis and program design. Topics include lists, trees, B-trees, heaps, sort, search and network algorithms. Analysis of the computational complexity of algorithms. These topics are illustrated with a variety of applications and programming assignments.

4 credits

Prerequisites

CS 504 Min Grade C and CS 507 Min Grade C

CS 602 Fundamental Computer Science I with Java

Course Description: Introduction to Java programming, algorithm design and computer science concepts. Covers procedural programming constructs, use of language provided objects and static methods, building classes, the management of reference variables in contrast to primitives. Programming problem-solving is emphasized throughout. Computer science concepts include time complexity analysis, elementary sorting and searching, and adjacency matrices for graphs. Also included are beginning concepts of Object Oriented Design such as identifying the attributes and responsibilities of classes.

Course Rotation: NYC: Fall; GC: Fall.

4 credits

CS 603 Computer Architecture

Course Description: Digital computer organization and architecture. Topics include comparative computer structures, organizations and machine languages, logic circuits, multiprogramming and multiprocessing, assembly language, stack machines, input/output programming, software/hardware tradeoffs, computer networks and microprogramming and microprocessors. The effects of architecture and organization on the reliability, portability and efficiency of software will be considered.

4 credits

Prerequisites

CS 504 Min Grade C and CS 507 Min Grade C

CS 604 Computer Systems and Concepts

Pre or Corequisite: CS 602.

Course Description: This course provides an integrated survey of fundamental ideas in the areas of computer architecture; operating systems; and programming language specification and translation.

Course Rotation: NYC: Fall; GC: Fall.

4 credits

Prerequisites

CS 602 Min Grade C

Corequisites

CS 602

CS 605 Programming Language Implementation

Course Description: Implementation of high-level programming languages. Topics to be covered include concepts and comparison of programming languages, lexical analysis, parsing, code generation and optimization. Emphasis will be placed on the formation structures and algorithms required to implement compilers and their use and performance in other applications. Students will be expected to implement a compiler.

4 credits

Prerequisites

CS 601 Minimum Grade of C and CS 603 Minimum Grade of C

CS 606 Fundamental Computer Science II with Java

Course Description: Building linked data structures including lists and trees. Recursive techniques for managing binary trees and for backtracking. Derivation including abstract classes, and polymorphism. Interfaces. Exception handling. Information storage and retrieval systems and time complexity analysis. Applicable design patterns. Coverage of Java collections framework.

Course Rotation: NYC: Spring; GC: Spring.

4 credits

Prerequisites

Pre-requisite for CS 606 ( Course : CS 602 . Minimum Grade of C. )

CS 607 Simulation and Computer Network Analysis

Course Description: An introduction to the basic probability models, queuing theory, and simulation techniques used in the performance analysis and planning of computer networks and Internet systems. Topics include event probability , standard discrete and continuous probability distributions, the Poisson process, random number generation, discrete-event system modeling and simulation techniques, statistical estimation, and basic queuing models. The topics are illustrated with applications to current Internet-related systems.

3 credits

Prerequisites

CS 602 Minimum Grade of C and CS 633 Minimum Grade of C

CS 608 Algorithms and Computing Theory

Course Description: Applications of abstraction and divide-and-conquer in computer science (hardware, software, theory); essentials algorithms including searching, sorting, hashing and graphs; popular algorithms such as string machine, Map Reduce and RSA and their applications; complexity; computability; NP-hard problems, NP-complete problems, and undecided problems; finite state automata vs. regular expressions.

Course Rotation: NY:WP;Fall

3 credits

Prerequisites

CS 502 Minimum Grade of C

CS 609 Operating Systems

Course Descriptions: Algorithms and information structures of operating systems and their performance in various environments. Topics to be covered include concurrent and sequential processes, process communication, scheduling, mutual exclusion and deadlock, memory management, file management and the social, as well as technical issues, of security and protection. Students will be expected to implement some component of an operating system.

4 credits

Prerequisites

CS 602 Min Grade C

CS 610 Introduction to Parallel and Distributed Computing

Course Description: Parallel computing theory: Parallel Random-Access Machines (PRAMs), Amdahl’s law for theoretical speedup limits, Petri Nets; parallel vs. distributed computing: speedup, fault-tolerance, resource-sharing; parallel architectures; data flow, instruction-level pipelining, embedded multicore systems, shared-memory multiprocessors, distributed-memory multicomputers, interconnection networks, distributed systems: client-server systems, cluster computing, computing grids, cloud computing; parallel and distributed programming with industry standard MPI (Message Passing Interface); and parallel algorithms.

Course Rotation: NY:WP;Fall:Summer

3 credits

Prerequisites

CS 502 Minimum Grade of C

CS 612 Concepts and Structures in Internet Computing

Prerequisite: CS 502 or permission of instructor to register.

Course Description: Integrated hands-on coverage of fundamental concepts and technologies for enterprise and Internet computing. Topics include data storage; XML data specification, parsing and validation; data and language translation; networking and Web technology overview; software framework technology for controlling software system complexity; and a roadmap for the enterprise computing technologies.

Course Rotation: NYC: Spring; GC: Spring.

3 credits

Prerequisites

Pre-requisite for CS 612 ( Course : CS 604 . Minimum Grade of C. ) and (Course : CS 606 . Minimum Grade of C. )

CS 613 Compiler Construction

Course Description: Implementation of high-level programming languages. Topics to be covered included concepts and comparison of programming languages, lexical analysis, parsing, code generation and optimization. Emphasis will be placed on the formation structures and algorithms required to implement compilers and their use and performance in other applications. Students will be expected to implement a compiler.

Course Rotation: NY:WP;Spring

3 credits

Prerequisites

CS 504 Minimum Grade of C

CS 613 Compiler Construction

Course Description: Implementation of high-level programming languages. Topics to be covered included concepts and comparison of programming languages, lexical analysis, parsing, code generation and optimization. Emphasis will be placed on the formation structures and algorithms required to implement compilers and their use and performance in other applications. Students will be expected to implement a compiler.

Course Rotation: NY:WP;Spring

3 credits

Prerequisites

CS 504 Minimum Grade of C

CS 615 Software Engineering Seminar I

Prerequisite: Twelve credits of 600-level course work.

Course Description: This seminar will examine the methodologies used in design, documentation, verification, implementation, validation, performance, evaluation and maintenance for the development of large software systems. Methodologies included are structured programming and walk-thrus, top-down modular design, proof of correctness and automated testing techniques. Seminar participants will design and implement large modular software systems using techniques chosen or evolved from those presented.

4 credits

Prerequisites

CS 606 Minimum Grade of C

CS 616 Software Engineering Seminar II

Course Description: A Continuation of Software Engineering Seminar I.

4 credits

Prerequisites

CS 615 Min Grade C

CS 617 Game Programming

Course Description: Students will create real time applications, especially 2D and 3D computer games. The idea is to translate a game design into a workable script language. The course will focus on 3D level design, motion capture and camera angles, character development, rendering and animation in 3D, polygon models, collision detection, and texturing.

Course Rotation: GC and Online: Fall.

3 credits

Prerequisites

CS 602 Minimum Grade of C

CS 617 Game Programming

Course Description: Students will create real time applications, especially 2D and 3D computer games. The idea is to translate a game design into a workable script language. The course will focus on 3D level design, motion capture and camera angles, character development, rendering and animation in 3D, polygon models, collision detection, and texturing.

Course Rotation: GC and Online: Fall.

3 credits

Prerequisites

CS 602 Minimum Grade of C

CS 618 Introduction to Complex Systems

Course Description: Overview of fundamentals of complex systems science. Concepts covered include reductionism, emergence, self-organization, and evolution. Topics covered include competition/cooperation, complexity/scale, relationship/component-centric analyses, and bottom-up/top-down control. Examples will be drawn from disciplines such as neuroscience, healthcare, education, information theory and cybernetics.
Course Rotation: Fall.

3 credits

CS 619 Data Mining

Course Description: This course will provide an overview of topics such as introduction to data mining and knowledge discovery; data mining with structured and unstructured data; foundations of pattern clustering; clustering paradigms; clustering for data mining; data mining using neural networks and genetic algorithms; fast discovery of association rules; applications of data mining to pattern classification; and feature selection. The goal of this course is to introduce students to current machine learning and related data mining methods. It is intended to provide enough background to allow students to apply machine learning and data mining techniques to learning problems in a variety of application areas.

Course Rotation: PL, GC and Online: Fall.

3 credits

Prerequisites

Pre-requisite for CS 619 ( Course : CS 602 . Minimum Grade of C. )

CS 620 Introduction to XML Application Development

Course Description: The World-Wide Web Consortium’s (W3C) eXtensible Markup Language (XML) has rapidly emerged as a standard that is used in a wide variety of applications related to Web and e-commerce. XML is becoming a very important new technology used everywhere in IT industry. We believe that every student must have exposure to this powerful technology. This course not only introduces XML but also deals with how to develop XML applications using JAVA. This course starts with basics of XML and goes on to developing XML applications using a programming language such as JAVA.

Course Rotation: NYC and WP: Spring.

3 credits

CS 623 Database Management Systems

Course Description: Database management system installation and configuration, database’s role as a middleware in system hierarchy, Entity Relationship (E-R) model for logical design, schema normalization and performance tradeoffs, database management with SQL through database console, database programming through JDBC, event-processing with triggers, efficient data processing with stored-procedures, transactions management and ACID properties, database security, and crash recovery.

Course Rotation: NY:WP;Fall

3 credits

Prerequisites

Pre-requisite for CS 623 ( Course : CS 606 . Minimum Grade of C. May be taken concurrently.)

CS 624 Application Development with .NET and Web Services

Course Description: Introduction to .NET Web technologies through C# .NET for people with basic programming skills. Topics include object-oriented programming in C#, exception handling, delegate, multithreading, graphic user interface, Web Programming with ASP.NET, database programming with ADO.NET, Web services, and Microsoft Visual Studio .NET IDE.

Course Rotation: WP: Summer.

3 credits

Prerequisites

CS 504 Minimum Grade of C or CS 606 Minimum Grade of C

CS 626 Math Optimization Techniques

Course Description: Theoretical, computational and applied areas of linear and, to some extent, non-linear programming. Formulation of linear programs solution by simplex method, duality problems and importance of Lagrange multipliers will be discussed. Efficient computational techniques, degeneracy procedures, transportation problems and quadratic programming problems and projection methods (active set) to solve non-linear programs will be reviewed.

3 credits

Prerequisites

CS 507 Minimum Grade of C and CS 601 Minimum Grade of C

CS 627 Artificial Intelligence

Course Description: Theory and data structures and algorithms related to artificial intelligence and heuristic programming. Topics include description of cognitive processes, definition of heuristic vs. algorithmic methods, state space and problem reduction, search methods, theorem proving, natural language processing and pattern recognition techniques.

3 credits

Prerequisites

CS 504 Minimum Grade of C

CS 628 Automata and Computability

Course Description: Concepts and methods of theoretical computer science. Topics to be covered include finite state machines, pushdown automata, Turing machines, the theory of formal languages, and the theory of computability.

3 credits

Prerequisites

CS 606 Minimum Grade of C and CS 507 Minimum Grade of C

CS 629 Computer Graphics

Course Description: Algorithms, data structures and hardware related to computer graphics and image processing. Topics covered are: vector, curve and character generation; interactive display processors, graphical data structures, graphic languages; the mathematics of three dimensions, projections and the hidden-line problems; two-dimensional image processing algorithms, enhancement and coding.

3 credits

Prerequisites

CS 606 Minimum Grade of C

CS 630 Intelligent Agents

Course Description: Autonomous software agents are used in many areas, from shopping bots to security bots and personal assistants. This course teaches the basic programming skills necessary to program autonomous agents using a rule-based system. Basic knowledge engineering skills and the design of agent-based programs are covered, including the use of software that learns from its own experiences.

3 credits

Prerequisites

CS 606 Minimum Grade of C

CS 631 Special Topics in Computer Science

Course Description: This course will consist of topics of current interest in computer science in the area of the instructor¿s specialty. Recent titles have included Intelligent Agents and Internet Computing with Distributed Components.

3 credits

CS 631A Topic: Game Programming

Course Description: Students will create real time applications, especially 2D and 3D computer games. The idea is to translate a game design into a workable script language. The course will focus on 3D level design, motion capture and camera angles, character development, rendering and animation in 3D, polygon models, collision detection, and texturing.

3 credits

Prerequisites

CS 602 Min Grade C

CS 631H Topic: Data Mining

Course Description: This course will present the techniques and tolls needed to search for significant patterns and trends in large databases. Data Mining as a Knowledge Discovery methodology that involves nontrivial extraction of implicit, previously unknown, and potentially useful information will be presented. The course will also discuss machine learning, statistical and visualization techniques to discovery and present knowledge in a form which is easily comprehensible to humans.

3 credits

CS 631I Introduction to Pattern Recognition

Course Description: Pattern Recognition techniques are useful in many applications of computer science and information systems, such as information retrieval, data mining, artificial intelligence and image processing. This course is an introduction to the foundation of pattern recognition algorithms.

3 credits

Prerequisites

CS 602 Min Grade C

CS 631J Topic: XML Application Development

Course Description: The World Wide Web Consortium's (W3C) extensible Markup Language (XML) has rapidly emerged as a standard that is used in a wide variety of applications related to Web and e-Commerce. This course starts with basics of XML and goes on to developing XML applications using the programming language Java. Knowledge of Java is assumed. The course also deals with using XML to pass data between distributed Java applications.

3 credits

CS 631M Topic: .Net Web Technologies

Course Description: Functions of XML and Web services for B2B system integration. XML, HTTP, and SOAP. Integrating B2B services with Web services. Implementation and consumption of Web services on Java platform. Implementation and consumption of Web services on MS .NET platform. Cross-platform system integration. Web services registries. Web service security.

3 credits

CS 631O Topic: Linux System Programming

Prerequisite: Java programming ability.

Course Description: This course is designed for students who wish to learn how to use the Linux operating system and write programs in the Unix shell language and in the C programming language. No prior knowledge of Linux is assumed. We begin by covering basic Unix commands, then learn how to write shell scripts for system administration. We will cover Unix system calls, how to manage Unix processes. Finally, we will learn the basics of C language programming, including pointers, arrays and structs.

3 credits

CS 631Q Topic: Grid Computing

Course Description: Topics covered include: Parallel vs. distributed computing; multiprocessor and multi-computer architectures; parallel programming languages and algorithms; shared-memory and message-passing programming; distributed architectures; socket-level and software-framework based programming; cluster-based computing; grid computing architecture and tools; and service-oriented grid computing.

3 credits

Prerequisites

CS 122 Min Grade D or CS 504 Min Grade D

CS 631R Topic: Information Technologies in E-Commerce

Course Description: The discussion will include the latest components of e-commerce architecture, communications, and data processing as well as analysis of technological methods and tools used. It will offer a framework for the development of new business enterprise models and electronic markets based on modern communications and computational technologies. We will cover technical issues as the Internet, Extranets, Portals and search engines, web intelligence, electronic payment and security, and EC servers.

3 credits

CS 631S Topic: Computer Security

Course Description: Security in computing investigates the perpetration of damages and theft using the computer, and strategies for protection. The focus is on software that harms or steals from others, and schemes and mechanisms that are used for defense. Topics include viruses; cryptography; network security; protection in operating systems; database security; and intellectual property issues.

3 credits

Prerequisites

CS 604 Min Grade C

CS 631U Topic: Topics in Unix

Course Description: This course explains the structure of the Unix operating system and shows how to write system and network programs. The course covers the details of the file system, terminal and device input/output, multi-tasking, interprocess communication, video displays, and network programming.

3 credits

CS 631W Mobile Phone Programming & Entrepreneurship

This course introduces students to the basics of mobile phone application development in Java. It provides an overview of the technical skills required to build such applications but also emphasizes entrepreneurial opportunities in the global mobile phone services industry. It covers the development of MIDlets and survey how to design SMS-server side applications. The knowledge of the above topics will be applied in the design and implementation of an innovative mobile phone application as part of a course long team project

3 credits

CS 631Y Topic: Windows System Programming

Course Description: This course provides an introductory overview of system programming in the Windows environment, mainly focusing on system-level programming based on OS services and other APIs. Topics include system calls, file I/O, files and directories, memory management, process control, inter-process communication (IPC), and socket-based network programming. Coursework includes programming assignments and a final exam.

Course Rotation: Summer.

3 credits

Prerequisites

CS 502 Min Grade C or CS 602 Min Grade C

CS 632 Directed Readings in Computer Science

Course Description: Directed readings under the supervision of a faculty member.

1 credits

CS 632B Topic:Mobile Application & Development

Course Description: This course introduces students to the basics of mobile phone application development. It provides an overview of the technical skills required to build such applications but also emphasizes entrepreneurial opportunities in the global mobile phone services industry. The focus will be on Java ME but other languages and development platforms will be presented. The course will be organized around a series of talks from speakers from the industry and NGOs who will provide insight about their experience in the field.

Course Rotation: NYC: Fall

1 credits

Prerequisites

CS 602 Min Grade B

CS 632C Engineering Designs in 3D Worlds

Course Description: The use of computing for visualization in science and engineering is critical to the success of most organizations worldwide. Three-dimensional designing in virtual world can greatly enhance the interpretation and comprehension of data. Moreover, it can ultimately lead to more astute decision making and strategic planning. The goal of this course is to introduce students to the representation of complex data using computer-generated three-dimensional modeling, animation and programming applications, which can be applied to a wide-range of fields, including aerospace, automotive, manufacturing and gaming.

Course Roation: NYC:Summer

3 credits

CS 632D Topic: Visual Computing

Course Description:Visual Computing is a course designed to provide an introduction to the use of computers for visual communication. Core areas of visual computing are computer graphics, image processing, human-computer interaction, and visualization. This course will survey the key roles these fields play in information representation and display with an emphasis on the underlying theories and methodologies for construction of computer-based visualizations and imagery.

Course Rotation: NYC:FALL

3 credits

Prerequisites

CS 602 Min Grade C

Corequisites

CS 606

CS 632E Topic: Financial Computing and Entrepreneurship

Course Description: This interdisciplinary course integrates computing (computer science, information systems, and information technology), finance, and applied entrepreneurship to provide the student analytical, quantitative, application, and entrepreneurial skills needed for sound and strategic financial decision making and information technology based product creation. The course will emphasize creative problem solving of and development innovative algorithms for financial problems in such topics as financial analysis and time value of money, derivative products, portfolio management, hedging strategies, arbitrage, risks, Black-Scholes model, interest rate models, and fixed income analysis. Within a collaborative tram environment, the student will develop innovative algorithmic solutions for financial problems as well as analyze, evaluate model financial time series with neural networks; the algorithms will be implemented in a high-level computer language (e.g. Java, C/C++, or Matlab) into prototypes for potentially marketable financial software products. An entrepreneurial perspective will permeate the course in the form of creative thinking and calculated risk-taking in the design and development of the algorithms and prototypes, and the development of a high-quality business plan for an information technology company to market the likely software products. There will be a reliance on entrepreneurs for team mentors, project selection and scaling, and guest speakers.

Course Rotation: Spring;NY

3 credits

Prerequisites

CS 619 Min Grade C and IS 690K Min Grade C

CS 632G Topic:Entrepreneurial Health Informatics

Course Description: Entrepreneurial Health Informatics is an interdisciplinary course that provides an overview of computer based clinical record systems as well as decision support systems for medical application. The course will mainly focus on experiential entrepreneurship through innovation, evolution, and imitation as well as algorithmic solutions for health decision support; data acquisition, processing, and analysis; and delivery systems and services. The main topics covered health information technology systems’ standards and terminologies, risks and uncertainty, data and workflow modeling, data mining, data visualization, and medical decision making. Teamwork and entrepreneurship will be infused throughout the course in the form of creative critical thinking and problem-solving and calculated risk-taking in the design and development of the algorithms supported by a quality business plan for a health related information technology company. Entrepreneurs will be recruited for the roles of team mentors, project selection and scaling, and guest speakers.

Course Rotation: Spring;NY

3 credits

Prerequisites

CS 397N Min Grade D

CS 632H Special Topic: Web Application Programming

Course Description:An introduction to programming for websites using the Ruby on Rails framework. Students will create projects using the model-view-controller paradigm. The projects will consist of a website that can access a database through a server.

Course Rotation: NY;Fall

3 credits

Prerequisites

CS 504 Min Grade C

CS 632I Textual and Numerical Data Mining with Industry Applications

Course Description : Comprehensive introduction to data mining with particular emphasis on the analysis of unstructured data. Data pre-processing and exploratory analysis, unsupervised and supervised methods, decision trees, clustering and association rules. Applications on textual information with text similarity and text-classification within the life-science industry. Course Rotation: Every Fall

3 credits

CS 632K Topics: International Technology Services in the Knowledge Economy

Course Description:The course attempts to tie four important aspects together: Knowledge Economy; International Management of Services; Entrepreneurship and Innovation; and 24-Hour Knowledge Factory. The objective of the course is to look at several innovative and entrepreneurial aspects of the emerging Knowledge Economy, with special emphasis on how teams of individuals can work together in a seamless manner across national boundaries to render professional services of diverse types and varying sophistication. Graduate-level requirements include an additional 10-15 mid-term paper.

3 credits

CS 632S Analysis of Textual Data

Course Description: This course gives an introduction to the analysis of textual data. Concepts covered include quantification of textual data, document categorization, and information retrieval and prediction. Topics covered include text parsing, text filtering, constructing term-document matrix, applying singular value decomposition, feature extraction, and clustering and predictive modeling with textual data. The course also addresses the application of these techniques to other types of unstructured data such as medical records and insurance reports.
. Course Rotation: Every Spring

3 credits

CS 632T Topic: From Telemedicine to Telehealth: Opportunities for IT and Collaboration

Course Description:As the use of telemedicine has grown, it is now time to explore broader opportunities for IT and collaboration best practices to impact the broader healthcare and life sciences ecosystem, towards a broader notion of telehealth. This seminar-style course will include lectures from industry guest speakers and cover new business opportunities, supporting technologies which are required to meet those opportunities, and the changes in organizational and regulatory frameworks which will support implementation of these technologies. Sample aspects of the life sciences ecosystem which will be covered include clinical trials of new prescription drugs, global communication of drug efficacy and quality through regulatory systems, and remote management of the medical device manufacturing process. In each of these areas, we will discuss the prospect of telehealth to include more remote participants in the process and have a better impact in patient lives. The course will also include a final project a developing a product plan for technology to address a key telehealth challenge.
Course Rotation:Spring; NY;PLV

3 credits

CS 632U Innovations of the 21st Century

Course Description: The 21st century is characterized by the huge amount of technology innovations that are transforming our life and work. This course will use lectures and seminars by the major technology innovators to introduce the main themes and methodologies of these innovations, how to integrate these innovations into creating new products or services, and how to facilitate and speed up the innovation process. Course Rotation:

3 credits

CS 633 Data Communications and Networks

Pre or Co-requisite: CS 604.

Course Description: This course provides a foundation in digital communications and network structures as the basis for current and emerging telecommunications and Internet systems. Topics include data, voice and video signals, information transmission (including wireless and optical media), layered networking architecture and protocols (OSI and TCP/IP), multiplexing and statistically shared media, data-link protocols, and an introduction to network and Internet strategies. Simple models for quantitative analysis of capacity and performance of network applications are introduced. Illustrations are based on current networks and Internet systems - including Internet access, wired and wireless Ethernet LANs, cellular systems, and Web facilities.

3 credits

Prerequisites

Pre-requisite for CS 633 ( Course : CS 604 . Minimum Grade of C. )

CS 634 Computer Networking and the Internet

Course Description: This course builds upon CS 633 to examine local area networks, Internetworking via the TCP/IP protocols, and the Internet. The OSI reference model and the TCP/IP protocols form the framework. Topics include: multi-access network strategies; basic traffic and capacity models; LAN standards and the evolution from shared access to switched and wireless Ethernet; LAN internetworking using bridges and routers; routing strategies and congestion in networks; the IP protocol; transport-layer issues and the TCP and UDP protocols; network security, Internet services and applications such as the Domain Name System, FTP, SMTP mail, and the HTTP protocol for the Web.

3 credits

Prerequisites

CS 633 Minimum Grade of C

CS 635 Topics in Telecommunications

Course Description: This course covers the current issues and trends in the rapidly evolving field of telecommunications. Emphasis is placed on technological developments and trends with background in regulatory, organizational and economic factors and their interaction.

3 credits

Prerequisites

CS 633 Min Grade C

CS 636 Optical Communications and Networks

Course Description: This course studies Optical Communications and Networks. The key principles and building blocks of Optical Communications and Networks are studied in detail with the first part of the course focusing on Optical Communications and the second part of the course focusing on Optical Networks.

Topics on Optical Communications include: Light Propagation in Optical Fiber, Loss and Bandwidth, Chromatic Dispersion, Nonlinear Effects, Solitons, Couplers, Isolators and Circulators, Multiplexers and Filters, Optical Amplifiers, Transmitters, Switches, Wavelength Converters, Modulation and Demodulation, and Transmission System Engineering. Topics on Optical Networks include: Client Layers of the Optical Layer (SONET/SDH, ATM, Storage-Area Networks), WDM Network Elements, WDM Network Design, Control and Management, Network Survivability, Access Networks (HFC, FTTC, PON), Photonic Packet Switching and Deployment Considerations.

3 credits

Prerequisites

CS 633 Minimum Grade of C

CS 637 Wireless Communications

Course Description: The course examines the fundamental concepts of wireless transmission and the operation of current wireless systems and networks. Coverage of wireless transmission includes: radio, propagation, basic antenna operation, and signal impairments (interference, attenuation, reflection, fading, and multipath waves), providing a foundation for studying various wireless systems. Spread spectrum, cellular, and multiple-access (FDMA, TDMA, CDMA, and SDMA) methods are also covered, along with privacy and security issues in wireless systems. Examples of wireless systems covered include: cellular telephone and data networks, wireless LANs, and satellite systems. Students will collaborate to research current and emerging systems in wireless communications.

3 credits

Prerequisites

Pre-requisite for CS 637 ( Course : CS 507 . Minimum Grade of C. ) and (Course : CS 633 . Minimum Grade of C. )

CS 638 Network Analysis and Design

Course Description: Topics include design of network topology, capacity and routing strategies. Traffic analysis and performance-capacity effects are studied using a variety of queuing theory and computer simulation models. Emphasis is on applications involving analysis and design of packet data, voice, and emerging integrated broadband networks.

3 credits

Prerequisites

CS 607 Minimum Grade of C and CS 633 Minimum Grade of C

CS 639 Mobile Application Development

Course Description: This course surveys the specificities of the development of native applications for different mobile platforms including phones and tablets. The software engineering of application development including user-centered design, testing and quality assurance will be emphasized. Students will learn how to design and develop applications for the Android platform. The following topics will be covered user interface, events processing, services management, location based facilities, accelerometer and other sensors, networks/web access, and sound and multimedia. The parallel with iPhone development will be presented. The distribution of mobile applications and business models for monetization will be covered. A significant project is integrated in the course.

Course Rotation: NY:WP;Spring

3 credits

Prerequisites

CS 504 Minimum Grade of C

CS 640 Modern Telecommunications Networking

Course Description: This course will examine current networking practices being employed in the telecommunications industry. Emphasis will be placed on private corporate networks built from common carrier building blocks. A portion of the course will be devoted to specific networks; preliminary topics include T1 networks, satellite networks, software-defined networks and so-called Wide Area Networks (WANs).

3 credits

Prerequisites

CS 633 Min Grade C

CS 641 Mobile Web Content and Development

Course Description: This course introduces students to the techniques used to create web sites for basic and smart phones. Particular attention will be on gathering data about web traffic (e.g. visitors, visits, devices, operators, and locations) and analyze the data to engage the users and for business decision making. Content including social networking and privacy will be discussed in depth. The course also covers the development of mobile web applications using HTML5, CSS and AJAX for Android phones. The parallel with iPhone will be made. User-centered design, testing, quality assurance and performance will be covered throughout the course. The course integrates comprehensive assignments and significant readings.

Course Rotation: NY:WP; Spring

3 credits

CS 643 Mobile Innovations for Global Challenges

Course Description: This course familiarizes students with the development of mobile innovations addressing social and global challenges in areas such as health, microfinance, education and civic activism. Students will be introduced to research in the social considerations in mobile application development, ICT4D (Information and Technology for Development), and M4D (Mobile for Development) through readings, class discussions and a series of talks. The Mobile Web, and SMS and Voice Solutions will be presented in that context. Students will leverage their technical knowledge with social insight, creativity and ingenuity to develop prototype with social impact along with its deployment plan (taking into accounts the real world limitations) and a business model, with the guidance of local partners from NGOs and the industry, and successful social entrepreneurs.

Course Rotation: NY:WP;Spring

3 credits

Prerequisites

CS 504 Minimum Grade of C

CS 644 Web Computing

Course Description: Internet and Web technology overview. The tiered web architecture. Web server set up and configuration. Separating data structures and data presentation with cascading style sheets. JavaScript for client data validation and HTML document object model manipulation. Java software framework for servlet components. Separating computation from data presentation with Java Server Pages. Session data management and Java persistence service. Computation abstraction with Struts. Server-side GUI abstraction/reuse and data validation with Java Server Faces. Ajax for more interactive and smoother web interactions. Web application security.

Course Rotation: NY:WP;Fall

3 credits

Prerequisites

CS 612 Minimum Grade of C

CS 646 Service-Oriented Computing

Course Description: Internet as a service delivery platform. Utility computing. Functions of XML and web services for B2B system integration. Web service framework. Declaring platform-independent service API with WSDL. Encapsulating service invocation with SOAP. Implementation and consumption of web services on Java platform. Implementation and consumption of web services on MS NET platform. Cross-platform system integration. Web service security. Specifying business processes with XML dialect BPEL. Business process modeling for automated business process integration, coordination and execution.

3 credits

Prerequisites

CS 612 Minimum Grade of C

CS 648 Unix/Linux Programming

Course Description: This course explains the structure of the Unix operating system and shows how to write system and network programs. It is appropriate for students who want to learn how to write system software for Unix or for students who want to learn about the structure of a mutli-tasking, multi-user operating system. The course covers the details of the file system, terminal and device input/output, multi-tasking, interprocess communication, video displays, and network programming.

Course Rotation: NY: Summer

3 credits

Prerequisites

CS 601 Minimum Grade of C

CS 650 Enterprise Computing

Course Description: Server scalability and robustness. Introduction to mainframe computing. Separating data presentation generation and business logic with application servers. Software framework for Enterprise JavaBeans. Scalable business logic implementation with Enterprise Session JavaBeans. Event-driven system integration with message-driven Enterprise JavaBeans. Matching object domain model and relational data model. Enterprise server system security and deployment. Server virtualization as cloud services.

Course Rotation: NY: Summer

3 credits

CS 650 Enterprise Computing

Course Description: Server scalability and robustness. Introduction to mainframe computing. Separating data presentation generation and business logic with application servers. Software framework for Enterprise JavaBeans. Scalable business logic implementation with Enterprise Session JavaBeans. Event-driven system integration with message-driven Enterprise JavaBeans. Matching object domain model and relational data model. Enterprise server system security and deployment. Server virtualization as cloud services.

Course Rotation: NY: Summer

3 credits

CS 653 Cryptography and Computer Security

Course Description: This course covers the most important issues and topics in the huge area of cryptography and computer security. Topics include: Mathematics of Cryptography, Traditional Symmetric-Key Ciphers, Modern Symmetric-Key Ciphers, DES, AES, Asymmetric-Key Cryptography. RSA, Rabin, ElGamal and Elliptic Curve Cryptosystems, Message Integrity and Message Authentication, Cryptographic Hash Functions, Digital Signature, Entity Authentication and Key Management.

Course Rotation: NY:WP;Spring

3 credits

CS 654 Security in Computer Networking

Course Description: This course covers the most important issues and topics in the area if network security. A good balance between theory and practice is sought. It covers attacks and threats in computer networks, including network mapping, port scanning, sniffing. DoS, DDoS, reflection attacks, attacks in DNS and leveraging P2P deployments for attacks, operational security, including firewalls and intrusion-detection systems. It also takes a layered approach to network security covering topics that include: Security at the Application Layer: PGP and S/MIME, security at the Transport layer: SSL and TLS. Security at the Network Layer: IPSec. Students will use software tools to participate in an important simulated lab component that includes packet sniffing, network mapping, firewalls, SSL and IPsec.

Course Rotation: NY:WP;Spring

3 credits

Prerequisites

CS 634 Minimum Grade of C

CS 655 Pattern Recognition

Course Description: This course introduces the student to computer vision algorithms, methods and concepts which will enable the student to implement computer vision systems with emphasis on visual pattern recognition. Upon successful completion of this course of study a student will have general knowledge of image analysis and processing, pattern recognition techniques, and some experience with research in computer vision. Topics to be studied; data structures for visual pattern representation, feature extraction, basis theory, decision trees, nearest neighbor, artificial neural networks, clustering etc. The students once completing the course should be competent enough to conduct research in this area. The students will be required to critique a current paper from the literature in this area, present it to the class, implement the presented algorithm and evaluate the strengths and shortcomings.

Course Rotation: WP;Spring

3 credits

Prerequisites

CS 502 Minimum Grade of C and CS 608 Minimum Grade of C

CS 657 Windows System Programming

Course Description: This course covers the Windows operating system API. The course covers the details of the file system, system calls, memory management, process control, inter-process communication, socket-based network programming, remote procedure call programming, threads and synchronization. By the end of the course, students will be able to write Windows system programs in the C language. The prerequisite is good programming skills in a higher level language.

Course Rotation:Summer;NYC:PLV

3 credits

Prerequisites

CS 504 Minimum Grade of C

CS 658 Introduction to Analytics Computing

Course Description: Effective operation of Windows and Linux computers. Installation and management of analytics software. Effective usage of analytics cloud servers. Introduction to IBM Cognos BI Administration. Configuration and Customization of the Cognos BI Environment.
Course Rotation : PLV: Fall

3 credits

CS 660 Mathematical Foundations of Analytics

Course Description:
Review prerequisite concepts. SPSS Statistics overview. Basic tools for data collection, organization and description. Introduction to basic probability. How to determine, analyze and interpret samples. Hypothesis testing. Statistical process control. Process capability analysis. Analysis of variance. Regression analysis. Design of experiment. The Taguchi method. Measurement systems analysis. Nonparametric statistic. Pinpointing the vital few root causes.
Course Rotation: PLV: Fall

3 credits

CS 662 Big Data Warehousing

Course Description:
Data Modeling. Star and snow schema. Multi-dimensional modeling. Inman and Kimbel approaches to data warehousing. Changing Business with Data Insight. Architecting the Data Warehouse.
Course Rotation: PLV: Spring

3 credits

Prerequisites

CS 658 Minimum Grade of C

CS 664 Introduction to Enterprise Intelligence

Course Description:
Enterprise intelligence through IBM Cognos Business Intelligence. Enterprise intelligence value proposal. Enterprise intelligence’s split personality; business and technology. Basic reporting and querying. Online analytical processing. Dashboard and briefing books. Human factors in enterprise intelligence implementation. Building a solid enterprise intelligence architecture and roadmap. Building enterprise intelligence project plan. Collecting user requirements. Enterprise intelligence design and development.
Course Rotation: PLV: Summer

3 credits

Prerequisites

CS 660 Minimum Grade of C

CS 666 Enterprise Intelligence Development

Course Description:< /strong>
Model for predictable results. Create the presentation view. Work with different query subject types. Advanced generated SQL concepts and complex queries. Optimize and tune framework manager. Model multilingual metadata. Introduction to reporting applications. Present data graphically. Drill-through from one Report to another. Create query model and reports based on relationships.
Course Rotation: PLV: Summer

3 credits

Prerequisites

CS 664 Minimum Grade of C

CS 668 Analytics Capstone Project

Course Description:< /strong>
Capstone project integrating the relevant analytic techniques in solving a specific enterprise problem.
Course Rotation: PLV: Fall

3 credits

Prerequisites

CS 666 Minimum Grade of C

CS 691 Computer Science Project I

Course Description: Students choosing this option will, in consultation with a faculty advisor, select a significant computer science application, study its supporting technologies, design and implement the application, and present the project in form of a major Project Report and project demonstration. A brief written Project Proposal must be approved by the advisor, a committee chosen by the student and the advisor, and department chair. Students enrolled for Computer Science Project I will complete preparatory work culminating in a major Project Report. Those not electing to continue with Computer Science Project II will receive a grade for Computer Science Project I and may use it as a computer science elective.

Course Rotation: NY:WP

3 credits

CS 692 Research Project

Course Description: Students enrolled in Computer Science Project II will finish their project begun in Computer Science Project I and write a major report. When the report has been completed, each student will be expected to give an oral presentation and project demonstration before the committee. The project advisor will assign a grade for the work in consultation with the committee. This grade will also be assigned to Computer Science Project I.

Course Rotation: NY:WP

3 credits

CS 693 Thesis I

Prerequisite: Permission of Department and additional paperwork required prior to registration.

Course Description: Students choosing this option will select and research a topic in computer science in consultation with a faculty advisor. A brief written Thesis Proposal must be approved by the advisor and a committee chosen by the student, advisor, and department chair. Students enrolled for Thesis I will complete preparatory research culminating in a written Thesis Report. Those not electing to continue with Thesis II will receive a grade for Thesis I and may use it as a computer science elective.

3 credits

CS 694 Thesis II

Course Description: Students enrolled in Thesis II will finish their research begun in Thesis I and write a thesis. When the thesis has been completed, each student will be expected to give an oral presentation before the committee. The thesis advisor will assign a grade for the work in consultation with the committee. This grade will also be assigned to Thesis I.

3 credits

Prerequisites

CS 693 Minimum Grade of P

CS 694Q Thesis II

Prerequisite: CS 693.

Course Description: Students enrolled in Thesis II will finish their research begun in Thesis I and write a thesis. When the thesis has been completed, each student will be expected to give an oral presentation before the committee. The thesis advisor will assign a grade for the work in consultation with the committee. This grade will also be assigned to Thesis I.

4 credits

Prerequisites

CS 693 Min Grade C

CS 699 Field Study

Course Description: A paid or unpaid field study experience in a working environment intended to provide the student with a practical extension and enhancement of knowledge gained in class. A research study or project done under the direction of a faculty advisor is required. No more than 3 credits of Field Study may be taken.

1 - 4 credits