main navigation
my pace

CS - Computer Science

CS 109

CS 113 Mathematical Structures for Computer Science

Course Description: Mathematical logic: propositional logic, predicate logic, program loop invariants and correctness proof, Boolean algebra and its application in the design of combinatorial circuits; set theory: operations, counting, relations, functions, partial/full ordering; introduction to graph theory: basic and weighted graphs, paths, and trees.

This course will replace MAT 137 for Computer Science students ONLY

Course Rotation: NY and PL: Fall

4 credits

Prerequisites

CS 122 Minimum Grade of C or IS 323 Minimum Grade of C

CS 121 Computer Programming I

Course Description: Introduction to Java programming and computer science concepts. Java environment setting up. Variables, basic built-in data types and arrays. Expressions. Assignment, conditional and iterative statements. Computation abstraction and reuse with methods and objects. Parameter passing. String processing. Exception handling. Text file I/O. Problem-solving through course projects.

Course Rotation: Fall and Spring.

4 credits

Prerequisites

Pre-Requisite of CIS 101 ( Course : CISA 101 . Minimum Grade of D. ) or (Course : CISA 101C . Minimum Grade of D. ) or (Course : CISB 101 . Minimum Grade of D. ) or (Course : CISC 101 . Minimum Grade of D. ) or (Course : CISD 101 . Minimum Grade of D. ) or (Course : CISE 101 . Minimum Grade of D. ) or (Course : CISF 101 . Minimum Grade of D. ) or (Course : CISM 101 . Minimum Grade of D. ) or (Course : CISO 101 . Minimum Grade of D. ) or (Course : CISR 101 . Minimum Grade of D. ) or (Course : CIS 101A to 101Z. Minimum Grade of D. ) or (Course : CIS 101 . Minimum Grade of D. ) or (Course : CIS 101CB . Minimum Grade of D. ) or (Course : CIS 101CD . Minimum Grade of D. ) or (Course : INT 197B . Minimum Grade of D. )

CS 122 Computer Programming II

Course Description: Java packages. Abstract classes and interfaces. Class inheritance and polymorphism. Recursion and linked lists. Object modeling and UMI. Event-driven programming and basic GUI design. Multi-threading and thread synchronization. Problem-solving through course projects.

Course Rotation: Fall and Spring.

4 credits

Prerequisites

CS 121 Minimum Grade of C

CS 199H Topic: UNIX Fundamentals

1 credits

CS 199V Topic: Formal Discrete Structures

Prerequisite: MAT 130 or equivalent.

Course Description: Students study a number of topics in discrete mathematics. One of the topics is an initial discussion of formal methods, a logical approach to writing computer programs. Students also study an introduction to mathematical logic (propositional and predicate calculus), mathematical induction, theory of sets, theory of integers and sequences, along with some introduction to graph theory. Mathematical logic is treated as an integral part of each topic of the course. A semiautomatic theorem prover is used to assist students in proving theorems.

4 credits

Prerequisites

MAT 130 Min Grade D

CS 232 Computer Organization

Course Description:Introduction to major combinatorial circuits and sequential circuits including gates, decoders, registers, counters, and memory units. Data representation including number systems and their fixed and floating point representation. Micro operation, organization and design of a basic computer, and introduction to assembly language programming and microprogramming. Central processing unit, memory hierarchy, and interrupt processing. Instruction design tradeoff: RISC versus CISC. Pipeline, vector processing, multiprocessors, and multicomputers.

Course Rotation: Fall and Spring.

4 credits

Prerequisites

CS 122 Minimum Grade of C

CS 241 Data Structures and Algorithms

Course Description:Concepts of abstract data types (ADT) including stack, queue, priority queue, hash table, and binary search tree. Problem-Solving with the ADTs. Tradeoffs of ADT implementation with arrays and linked lists. Basic sorting and searching algorithms. Algorithm run-time analysis.

Course Rotation: Fall and Spring.

4 credits

Prerequisites

CS 122 Minimum Grade of C or IS 323 Minimum Grade of C

CS 242 Algorithms and Computing Theory

Prerequisite: A grade of "C" or better in CS 241, MAT 137, and MAT 131.

Course Description: Applications of abstraction and divide-and-conquer I computer science (hardware, software, theory); essential algorithms including searching, sorting, hashing and graphs, popular algorithms such as branch-and-bound, RSA and their applications; computing complexity and computability, NP-hard problems, NP-complete problems, and undecidable problems; and finite state automata vs. regular expressions.

Course Rotation: NYC: Fall and Spring. PLV: Spring.

4 credits

Prerequisites

CS 241 Minimum Grade of D

CS 271 Fundamentals of UNIX and C Programming

Prerequisite: A grade of "C" or better in CS 122.

Course Description: Introduction to fundamental concepts and mechanisms of Unix and C programming. Unix topics include Unix shells, shell variables, file system, and common Unix commands. C language topics include struts, pointer arithmetic, and call-by-value versus call-by-reference, strings, I/O basics, macros and conditional compilation, and program structure.

Course Rotation: TBA.

2 credits

Prerequisites

CS 122 Minimum Grade of D or IS 323 Minimum Grade of D

CS 281 Introduction to 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: Fall

2 credits

Prerequisites

CS 122 Minimum Grade of C or CIT 314 Minimum Grade of C

CS 301 Computer Science Internship

Prerequisite: Completion of sophomore year, recommendation of the department and acceptance in a position. Minimum CQPA of 3.50.

Course Description: A direct experience in the working environment, intended to provide the student with a practical extension and enhancement of knowledge gained in class. The student has an assignment and is directed by professionals in the normal working environment. The student must also report to and consult with his or her faculty advisor who provides overall academic supervision.

Course Rotation: Fall and Spring.

3 credits

CS 312 Research Methods in Computers and Society

Prerequisite: CIS 101 and ENG 120.

Course Description: Qualitative and quantitative research methods. Mathematical modeling of scientific, business, and social problems, hypothesis development and validation; key factor identification; experiment design; data-driven decision-making; and survey design and data analysis. Digital age social and legal issues, professional ethics, information privacy, and security. Technical writing and oral presentation.

Course Rotation: Spring.

3 credits

Prerequisites

MAT 234 Minimum Grade of C or MAT 117 Minimum Grade of C or MAT 134 Minimum Grade of C

CS 321 Introduction to 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: PL and Online: Fall.

4 credits

Prerequisites

CS 241 Minimum Grade of C

CS 324 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 Stduio.NET IDE.

Course Rotation: PL: Summer.

4 credits

Prerequisites

CS 131 Minimum Grade of C or CS 241 Minimum Grade of C

CS 325 Introduction to Data Mining

Course Description: This course will provide an overview of topics such as introduction to data mining and knowledge history; 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: Fall.

4 credits

Prerequisites

CS 241 Minimum Grade of D

CS 326 Introduction to Computer Vision 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, future 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.
br /> Course Rotation: Spring

4 credits

Prerequisites

CS 241 Minimum Grade of D

CS 331 Security in Computing

Prerequisite: CS 232, CS 241, CS 271, and junior standing.

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.

Course Rotation: NYC: Spring, PLV: Spring.

4 credits

Prerequisites

CS 122 Minimum Grade of D or IS 323 Minimum Grade of D

CS 344 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 Strus. 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: PL: Summer.

4 credits

Prerequisites

CS 122 Minimum Grade of C

CS 361 Programming Languages and Implementation

Course Description: This course provides a study of the history of programming languages including the imperative, object-oriented, functional and logical varieties. Emphasis is on principles of language design, and tools, and overviews the other phases of the compilation process. Students develop the scanner and the parser of an experimental language in Java, and design the solutions to various programming exercises in diverse programming languages.

Course Rotation: NYC: Fall. PLV: TBA.

4 credits

Prerequisites

CS 241 Minimum Grade of C

CS 362 Programming Languages and Implementation II

4 credits

Prerequisites

CS 361 Minimum Grade of C

CS 371 Operating Systems and ArchitectureI

Course Description: Computer Organization review. Operating system structure. Process/thread management and Java multi-thread programming. Memory management. Virtual memory. File system interface and implementation. I/O systems. Distributed systems and Java networking programming. Protection and security.

Course Rotation: NYC: Fall. PLV: TBA.

4 credits

Prerequisites

CS 241 Minimum Grade of C

CS 383 Computer Graphics

Prerequisite: A grade of 'C' or better in CS 232, in CS 242, in MAT 132 and in MAT 237 or permission of instructor.

Revised 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.

Course Rotation: NYC: Fall. PLV: Fall - Odd years.

4 credits

Prerequisites

CS 232 Minimum Grade of C and CS 242 Minimum Grade of C and MAT 132 Minimum Grade of C and MAT 137 Minimum Grade of C

CS 385 Artificial Intelligence I

Prerequisite: A grade of 'C' or better in CS 232 and a 'C' or better in CS 242.

Course Description: Consideration of processes by which machines simulate intelligence; heuristic and algorithmic processes in problem solving and programming machines to play simple games; models of cognitive process; applications and limitations of machine intelligence.

Course Rotation: NYC: Spring. PLV: Fall - Even years.

4 credits

Prerequisites

CS 242 Minimum Grade of C

CS 387 Database Design

Course Description: This course presents the fundamental concepts of database design and use. It provides a study of data models, data description languages, query facilities including relational algebra and SQL, data normalization, transactions and their properties, physical data organization and indexing, security issues and object databases. The knowledge of the above topics will be applied in the design and implementation of a database application using a target database management system.

4 credits

Prerequisites

CS 242 Minimum Grade of C

CS 388 Data Communications

Prerequisite: A grade of 'C' or better in CS 232 and a 'C' or better in CS 242, MAT 132 and MAT 137 or permission of the instructor.

Course Description: This course provides a foundation in digital communications as a basis for modern telecommunications systems, computer networks, and the Internet. Topics include signals and information transmission, bandwidth and capacity, transmission media (wired, optical and wireless), digital multimedia, modulation, multiplexing, network security, error control, link-layer protocols, networking strategies, layered architectures, and an introduction to the principles of local area networks and the Internet.

Course Rotation: TBA.

4 credits

Prerequisites

CS 242 Minimum Grade of D

CS 389 Software Engineering

Prerequisite: A grade of "C" or better in CS 242 or permission of the instructor.

Course Description: Principles of software engineering including requirements, analysis, design, coding, testing, verification, and maintenance. Strength and weakness of alternative software development processes. Team work and effective communications. Professional ethics. Students will design and implement a substantial project.

Course Rotation: TBA.

4 credits

Prerequisites

CS 242 Minimum Grade of C

CS 396A Topic: Computer Security

Prerequisite: A grade of "C" or better in CS 232 and CS 242.

4 credits

Prerequisites

CS 232 Min Grade C and CS 241 Min Grade C

CS 396C Topic: Artficial Life

3 credits

Prerequisites

CS 232 Min Grade C and CS 242 Min Grade C and MAT 132 Min Grade D

CS 396D Topic: Data Security

2 credits

Prerequisites

CS 242 Min Grade C

CS 396M Topic: Formal Software Development

Prerequisite: A grade of "C" or better in CS 199V or permission of instructor.

Course Description: A focus on emerging and promising software development techniques such as formal transformations. This course will emphasize the practical applications of formal methods in various phases of the software development lifecycle. Students will be a given a medium size project statement written in natural language and will work gradually to develop formal specifications, data and algorithm refinement, and finally proofs of correctness and completeness of their designs.

Course Rotation: TBA.

4 credits

Prerequisites

CS 199V Min Grade C

CS 396S Topic: Servlets and Databases

2 credits

Prerequisites

CS 242 Min Grade C

CS 396U Introduction to Pattern Recognition

4 credits

Prerequisites

CS 242 Min Grade C

CS 396X Seminar--Topic: Computers and The Great Tradition

3 credits

CS 397 Topics in Computer Science

0 - 4 credits

CS 397A Topic: Software Design

Course Description: This course covers a number of techniques for designing large-scale software systems. Students study the principles and methods for developing high quality software systems using object-oriented technology and its applications. Topics include object-oriented modeling, design using design patterns and object-oriented frameworks.

4 credits

Prerequisites

CS 242 Min Grade D

CS 397B Topic: Social Choice and Computer Science

Course Description: The theory of social choice and voting has had a long history in the social sciences, dating back to the 18th century. Some modern issues facing the theory of social choice relate heavily to computer science. Often we need to determine preferences for an individual or group, while maintaining accuracy, fairness, and security, sometimes with only limited information and/or computational power. This course will consider computer science and social science issues in insuring the best choices given limited information and computation. It will build on early work on the computational complexity of computing the winner of an election. Moreover, voting/social choice issues are beginning to arise in strictly computer science applications such as database and information retrieval, Internet search and meta-search, and collaborative filtering. This course will also consider such applications and present an introduction to the concepts and models of individual preference or utility as well as social choice theory and introduce students to a variety of modern computational issues and computer science applications.

2 credits

CS 397C Topic: Introduction to 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.

4 credits

Prerequisites

CS 242 Min Grade C

CS 397D Financial Computing

Course Description: This course integrates computing and finance with an experiential perspective to provide the students analytical and quantitative skills needed for sound financial decision-making and product creation. The course will emphasize creative problem solving of mathematical models and innovative numerical algorithms for financial scenarios such as derivatives valuation, portfolio allocation, hedging strategies and fixed income analysis.

4 credits

Prerequisites

CS 241 Min Grade C and MAT 131 Min Grade D and MAT 137 Min Grade D

CS 397F Directed Readings in Computer Science

Prerequisite: Permission of Chair required.

Course Description: This course will be organized around a series of IBM talks and hands-on technical labs.The talks will include career sessions, and a number of overview sessions on topics such as open source and open standards,collaboration technologies, Service Oriented Architecture (SOA), and Web Services. The talks will be video-conferenced between New York City and Pleasantville. The lab sessions will include an introduction to eclipse, DB2 and the Rational software products.

0 - 1 credits

CS 397G Topic: Game Programming

Prerequisite: CS 242 or equivalent.

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.

4 credits

Prerequisites

CS 242 Min Grade C

CS 397H Topic: .Net Web Technologies

Course Description:

4 credits

Prerequisites

CS 122 Min Grade D

CS 397I Usability Testing & Evaluation

Course Description: This course surveys methods for evaluating computer user interfaces. Students will learn essential knowledge to be able to perform a heuristic evaluation, a cognitive walkthrough, a usability test and a comparison study. Class meeting will also introduce, discuss and occasionally practice additional techniques including user modeling, usage logging, surveys, and focus groups. A primary goal is to learn how to conduct various methods for evaluating user interfaces.

Course Rotation: Spring;NY

3 credits

Prerequisites

CS 241 Min Grade D

CS 397J Topic: Parallel and Distributed Computing

Course Description: Parallel vs. distributed computing, multiprocessor and multi-computer architectures, parallel programming languages and algorithims, shared-memory and message-passing programming, distributed architectures, socket-level and sortware-framework based programming, cluster-based computing, and grid computing will all be discussed.

4 credits

Prerequisites

CS 122 Min Grade C

CS 397K Topic: Internet Computing with Distributed Systems

Course Description: This course covers distributed component technologies and their application in enterprise Web applications. It focuses on the latest non-proprietary application server and distributed component technologies.

4 credits

Prerequisites

CS 122 Min Grade C

CS 397L Advanced Problem Solving Using LEGO Robotics

Course Description: This course explores the range and depth of problems and challenges which can be designed and solved using consumer-level robotics equipment. Students will perform a series of team-based labs which will explore advanced features of LEGO Mindstorms and their use in problem solving. They will also participate in design exercises to create new robotic challenges in or more application areas.

4 credits

Prerequisites

CS 241 Min Grade C

CS 397M Topic: Computer Game Engineering

Course Description: This course is intended to provide students with an overview of the technology, science, art and engineering involved in the creation of computer games. The focus of the course will be design and development of computer games. Students will study software technologies relevant to computer game design, including multi-media design systems. A variety of areas of computer science will be covered, namely: modeling, computer graphics, game theory, software engineering, human computer interaction, graphic design, and game aesthetics.

4 credits

Prerequisites

CS 241 Min Grade C

CS 397N Topic: Technology Entrepreneurship

Prerequisite: Sophmore standing or permission of instructor.

Course Description: This is an interdisciplinary course designed to provide students with an entrepreneurial mindset in the context of information and computational technologies and algorithms as well as to equip them with tools appropriate to identifying real business opportunities worthy of pursuit. Technology industries and applications will be emphasized along with computing opportunities. The main concepts covered are creativity and innovation; market analysis; customer-driven product identification and development; technology-based business creation, financing, and management; competitive business plans; and niche marketing. Two key components of this course will be a project to develop a business plan for a technology venture around a specific product or system, wherein entrepreneurs will serve as mentors to students and teams, and a business plan competition where other industry experts and entrepreneurs will serve as judges. The course will be supplemented with up to three guest lectures as well as the review and analysis of entrepreneur case studies.

4 credits

CS 397P Engineering Designs in 3-D 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 397Q Topic: Securing and Managing Networks and Information Systems

Course Description: This course will expose students to both technical and professional business concepts necessary to support and defend the network infrastructure and the business information systems within an organization. Students who complete this course will be able to develop an understanding of security threats and vulnerabilities on different platforms, and will learn to respond to and recover from security incidents. The course will emphasize collaborative learning through discussions with instructors and peers, self-learning through readings and research, and experiential learning through lab assignments. The course curriculum is mapped to the Collegiate Cyber Defense Competition (CCDC) model (hhtp://www.nationalccdc.org). Students will be encouraged to participate in such competitions.

1 credits

CS 397R Topic: Robotics

This is a project-based course using pyro (Python Robotics). This course addresses the problems of controlling and motivating robots to act intelligently in dynamic, unpredictable environments. Major topics will include: navigation and control, mapping and localization, robot preception using vision and sonar, kinematics and inverse kinematics, and robot simulation environments. To demonstrate these concepts we will be using a simulated robot (and lego if possible).

4 credits

CS 397S 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:Spring

1 credits

Prerequisites

CS 122 Min Grade D

CS 397T 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 server.

Course Rotation: NY: Fall.

3 credits

Prerequisites

CS 122 Min Grade C or CIT 314 Min Grade C

CS 397U 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.

4 credits

CS 397V Topics: Informatics and Natural Computation

Prerequisite: Junior standing. This course is open to computer science, chemistry, biochemistry, or biology majors only.

Course Description: This course surveys the field of natural computation and its relation to informatics. Informatics studies the structure, algorithms, behavior, and interactions of natural and artificial systems that store, process, access and communicate information. Natural computing refers to a collection of disciplines that unite nature with computing where: nature serves as a source of inspiration for the development of computational tools or systems that are used for solving complex problems; computers are used as a means of synthesizing the structural patterns and behaviors of natural phenomena; and natural materials such as DNA are employed as the the computers.

Course Rotation: NY: Fall, odd years.

4 credits

CS 397W Mobile Phone Programming & Entrepreneurship

Course Description: 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.

4 credits

CS 397X Topic: Musical Informatics: Mathematical Foundation and Digital Music Tools

Course Description: This course is an extended review of the relationships of music, mathematics and computer science. It examines the relationships of music and mathematics from Pythagoras to J.S. Bach and W.A. Mozart as well as focusing on modern digital music and Ianis Xenakis. It explores the areas of mathematics that are used in music theory and music composition. Because of computer science only recently composers can incorporate complex mathematical models in composition without having to make the tedious calculations they require.

4 credits

Prerequisites

CS 113 Min Grade D or MAT 137 Min Grade D

CS 397Y 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.

4 credits

Prerequisites

CS 121 Min Grade C

CS 397Z 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: NY: Fall and Summer.

4 credits

Prerequisites

CS 122 Min Grade C

Corequisites

CS 241

CS 398A Tpc: Modeling of Financial Processes and Systems through Service-Oriented Architecture Methodology

Course Description: This course introduces students to models of financial processes through service-oriented architecture (SOA) methods and cloud computing. The focus of the course is on a program management methodology for projects enabling for efficiency and flexibility in process through Web services and SOA. The course concludes with students presenting models of financial processes and systems that contribute a competitive edge to financial firms through innovative technologies of leading SOA technology firms that market to Wall Street and other financial districts.

4 credits

Prerequisites

CS 325 Min Grade D or CS 397N Min Grade D

CS 398B 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

4 credits

Prerequisites

CS 397N Min Grade D

CS 398H 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 398T 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 488 Computer Networks and the Internet

Course Description: This course provides a top-down study of modern computer networking and the Internet. Application layer topics include the Web, HTTP, FTP, SMTP, DNS, and socket programming. Transport layer topics include UDP, TCP, and congestion control. Network layer topics include link state routing, distance vector routing, IPv4, RIP, OSPF, BGP, IPv6, multicasting and IGMP, and mobile IP. Local area network topics include Ethernet, IEEE, 802.11, and Bluetooth.

Course Rotation: TBA.

4 credits

Prerequisites

CS 241 Minimum Grade of C

CS 490 Independent Study in Computer Science

Prerequisite: Junior standing and a minimum CQPA of 3.50.

Course Description: With the approval of the appropriate faculty member, department chair, and academic dean, students may select a topic for guided research that is not included in the regular course offerings. The student meets regularly with the faculty member to review progress. A research project or paper must also be submitted.

Course Rotation: Fall and Spring.

1 - 9 credits

CS 490A Independent Study in Computer Science

1 - 9 credits

CS 502 Fundamentals Computer Science I using Java

Course Description: Introduction to Java programming and computer science concepts. Java environment setting up. Variables, basic built-in data types and arrays. Expressions. Assignment, conditional and iterative statements. Computation abstraction and reuse with methods and objects. Parameter passing. String processing. Exception handling. Text file I/O. Built –in data structures vector, stack, queue, Hash table and their application. Programming problem-solving is emphasized throughout.

Course Rotation: NY:PLV;Fall:Spring:Summer

3 credits

CS 502 Fundamentals Computer Science I using Java

Course Description: Introduction to Java programming and computer science concepts. Java environment setting up. Variables, basic built-in data types and arrays. Expressions. Assignment, conditional and iterative statements. Computation abstraction and reuse with methods and objects. Parameter passing. String processing. Exception handling. Text file I/O. Built –in data structures vector, stack, queue, hastable and their application. Programming problem-solving is emphasized throughout.

Course Rotation: NY:PLV;Fall:Spring:Summer

3 credits

CS 504 Fundamentals Computer Science II using Java

Course Description: Java packages. Abstract classes and interfaces. Class inheritance and polymorphism. Class design and implementation. Object modeling with UML. Event-driven programming and basic GUI design. Multi-threading and thread synchronization. Problem-solving through course projects.

Course Rotation:NY:PLV;Fall:Spring:Summer

3 credits

Prerequisites

CS 502 Minimum Grade of C

CS 504 Fundamentals Computer Science II using Java

Course Description: Java packages. Abstract classes and interfaces. Class inheritance and polymorphism. Class design and implementation. Object modeling with UML. Event-driven programming and basic GUI design. Multi-threading and thread synchronization. Problem-solving through course projects.

Course Rotation:NY:PLV;Fall:Spring:Summer

3 credits

Prerequisites

CS 502 Minimum Grade of C

CS 506 Computer Systems and Concepts

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: NY:WP;Fall

3 credits

Prerequisites

CS 502 Minimum Grade of C

CS 506 Computer Systems and Concepts

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: NY:WP;Fall

3 credits

Prerequisites

CS 502 Minimum Grade of C

CS 507 Mathematical Methods in Computer Science

Prerequisite: Some college mathematics and a programming background or equivalent.

Course Description: An intensive introduction to mathematical techniques related to computer science for students with limited background in college mathematics. Topics include different number systems, sets, logic, Boolean algebra, combinatorics and elementary probability, relations and functions, matrix algebra, algebraic structures, and graph theory.

0 - 4 credits

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 ofC

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 631N Topic: Object Oriented Software Development for the Internet

3 credits

Prerequisites

CS 601 Min Grade C

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 632F Modeling of Financial Processes and Systems through Service-Oriented Architecture (SOA) Methology

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 680 Knowledge Representation and Reuse and their Application in Business Process Engineering

Course Description: Course Rotation:Fall

3 credits

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

CS 701 Advanced Algorithms

Course Description: Advanced topics in data structures and computational complexity, including randomized algorithms, dynamic programming, recurrence relations, amortized analysis, network flow algorithms, approximation algorithms and NP-completeness, will be discussed. This course covers both fundamental techniques and applications.

3 credits

Prerequisites

CS 607 Minimum Grade of C

CS 702 Research Seminar

Prerequisite: Computer Science PhD candidacy.
Course Description: Research seminar by domain experts, and student presentations on research papers.
Course Rotation: Fall.

2 credits

CS 704 Independent Research

Course Description: The student will work closely with the advisor to conduct literature survey, identify a research problem with solution methodologies, and create a clear research plan for the dissertation.
Course Rotation: Fall and Spring.

1 - 4 credits

CS 773 Software Design Methodologies

Pre or Co-requisite: CS 615.

Course Description: This course covers a number of techniques for designing, implementing and testing large-scale software systems, as well as principles and methods for developing high quality software systems using object-oriented technology and its applications. Topics include object-oriented modeling, design and implementation using design patterns and object-oriented frameworks.

4 credits

Prerequisites

CS 615 Min Grade C

CS 775 Systems Requirements Engineering

Course Description: This course introduces techniques for estimating the cost and effort required for software production. Software costing, pricing, and scheduling are covered using advanced theoretical model and software tools such as COCOMO II. It also provides students with deep understanding of the notion of software metric and quality. Topics include productivity, estimation techniques, algorithmic cost and modeling, and project staffing.

4 credits

Prerequisites

CS 616 Minimum Grade of C

CS 777 Software Reliability and Quality Assurance

Pre or Co-requisite: CS 615.

Course Description: Reliability validation and safety assurance along with standards for quality planning, controlling and measuring are covered. Students will learn about the establishment of organization frameworks and standards, which lead to the high-quality software. Topics include the definition and enactment of processes, which ensure that quality standards are followed.

4 credits

Prerequisites

CS 615 Min Grade C

CS 785 Software Development Studio I

Prerequisite: 16 or more credits of the core curriculum.

Course Description: The Software Development Studio (I and II) is the capstone course for this program. It provides the opportunity for students to apply the knowledge and expertise that they have gained throughout the program to a significant, realistic and practical problem. The plan, estimate, develop and evaluate software solutions to these problems. The main goal is to apply the majority of the content of the core in this course. The software projects would be used from clients outside the group of students. These clients could be the Information Systems Division at Pace University or local businesses and software development companies.

2 credits

CS 786 Software Development Studio II

Course Description: This is the continuation of Software Development Studio I.

2 credits

Prerequisites

CS 785 Minimum Grade of C

CS 812 Advanced Concepts and Structures in Internet Computing

Course Description:
Course Rotation: Fall.

4 credits

CS 825 Component Architecture for Enterprise Application Development

Course Description: This course provides in-depth coverage of object-oriented techniques in the design and development of software systems for enterprise applications. The following topics will be covered as part of the course: Component Architecture, (Enterprise JavaBeans), GUI components such as Swing, Database Connectivity and Object Repositories, Server Application integration using technologies such as servlets, JSP, and JDBC.

3 credits

Prerequisites

CS 616 Min Grade C

CS 831 Mathematical Modeling of Software Artifacts

Prerequisite: Familiarity with mathematical logic, set theory, and discrete mathematics.

Course Description: Concepts abstraction relations, invariants, non-determinism, inductive definitions are covered extensively in this course. The students understand the strengths and weaknesses of certain models and logics including state machines, algebraic and process models. The students learn how to select and describe appropriate abstract formal models for certain classes of systems, and reason about the correctness of refinements be able to prove elementary properties about systems described by the models introduced in the course.

3 credits

CS 835 Data and Document Representation and Processing

Course Description: This course describes a variety of important aspects of modern software application development: the data and document interchange between different applications. Emerging technologies such as Extended Markup Language (XML), XML Schema, Style-sheet Language (XSL) and Document Object Model (DOM). Existing applications and tools will be discussed and used in small projects for parsing, transforming and manipulating documents.

3 credits

CS 851 Software Validation and Verification Techniques

Course Description: A variety of validation and verification techniques are discussed. The testing process, planning and strategies, statistical testing, tools and approaches on testing. Static verification of software using both traditional and state of the art static analysis tools.

3 credits

Prerequisites

CS 616 Min Grade C

CS 860 Introduction to Human Computer Interaction

Course Description: Design principles and practical techniques will be introduced for building and evaluating user-centered, intuitive, effective computing systems; these will be explored through a series of design projects and student presentations. Topics include principles of usable design, interface elements, user psychology, prototyping, and an introduction to interface evaluation. Project examples may include web design, multimedia interfaces, mobile and specialized applications.

3 credits

CS 861 Human Factors and Usability Metrics

Course Description: This course surveys methods for evaluating user interfaces. Students will perform a heuristic evaluation, a cognitive walkthrough, a usability test and a comparison study. Class meetings will also introduce, discuss and occasionally practice additional techniques including user modeling, usage logging, surveys, and focus groups. A primary goal is to learn how to conduct various methods for evaluating user interfaces.

3 credits

Prerequisites

CS 616 Min Grade C

CS 865 Distributed Software Development

Course Description: This course introduces design and implementation of network distributed systems. Design and formal specification of client-server applications using state machines and communication protocol techniques. Also teaches the fundamentals and techniques of developing distributed object-oriented applications, using a patterns-based approach. Concepts covered include: networks, client-server architectures, dataflow networks, sockets, and message-passing systems.

3 credits

Prerequisites

CS 616 Min Grade C

CS 870 Software Risk Management

Course Description: Project risks will be presented and analyzed. Techniques to counteract these risks will be explored and discussed. The course looks into the following topics: project risks, product risks, and business risks. Students learn how to identify, analyze, plan, and monitor any potential risks that may arise during the software development process.

3 credits

Prerequisites

CS 616 Min Grade C and CS 775 Min Grade C and CS 777 Min Grade C

CS 890 Topics in Software Development/Human Computer Interaction/Software Management

Course Description: This is a special topics course where students will be exposed to the latest and most exciting developments in the areas of software development and management as well as human computer interaction.

3 credits

Prerequisites

CS 616 Min Grade C

CS 896 Software Research Seminar

Course Description: Emerging technologies and topics in software engineering will be discussed and presented by both faculty and students. Students will pick one of those topics (and/or problems) discussed and they will do some further research on that. At the end of the semester, they will have to present their findings to the rest of the class. The course will give to those students who will not pursue the thesis option an opportunity to be exposed to the state of the art research in software engineering area.

3 credits

Prerequisites

CS 616 Min Grade C

CS 901 Software Development Thesis I

Prerequisite: Completion of all Core and Elective coursework.

Course Description: Students choosing this option will select and research a topic in software development 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 an elective coursework.

2 credits

CS 902 Software Development Thesis II

Course Description: This is a continuation of software development Thesis I. Students are expected to register for this course as long as they work on their thesis. Work on a thesis is expected to last at least two full semesters. It may well be expected beyond that point based on particular requirements of the research subject being pursued.

2 credits

Prerequisites

CS 901 Min Grade C

CS 611 Principles of Programming Languages

Course Description: Concept underlying the design of traditional and modern programming languages; language paradigms (imperative, object-oriented, functional, and logic); cross-language interoperability on the .NET and JVM platforms; semantics (operational and denotational); type systems (polymorphism, inference, and abstract types); garbage collection; multiprocessing; formal syntax of programming languages using BNF and EBNF grammars, scanning. Parsing and the compilation process; use of Lex and Yacc for the functions of scanning and parsing. The course involves substantial programming assignments in different programming languages (C, ML, Prolog, Scala, F# as representatives) and a significant amount of reading.


Course Rotation:
NY:WP;Spring

3 credits

CS 614 Logic and Formal Verification

Course Description: A survey of the logical foundations of mathematics, the mechanization of the reasoning, and relationships to computer science. Propositional logic and first order logic; decision procedures for equality; notions of proofs and models; model checking and theorem proving based techniques; completeness theorem; Hoare logic and application of logic to formal software verification, i.e., the use of logic to specify properties of prove some small programs, the implementation of a small theorem prover in a functional programming language, and a significant amount of reading of recent research results.

Course Rotation:NY:WP;Spring

3 credits

CS 642 Network programming and Distributed Applications

Course Description: This course introduces elements of formal specification and design and various inter-process communication mechanisms, including sockets, message-passing, and remote procedure calls, used in developing client/server and network applications. Students will use SDL (Specification and Description Language) and Java to design and implement an Internet-based distributed system. Topics include TCP/IP socket programming, Java RMI, Java Servlets, and JDBC.

3 credits

CS 645 Game Level Design

Course Description: Binary Space Partitioning: 3-D game engine editors; Designing interior and exterior of levels, using textures, Static and Dynamic Meshes; Techniques for creating Lightening, Waterfalls, and Rivers; Constructing new Textures and Static Meshes; Creating Terrains for landscapes; Creating movers; Creating Particle effects; Using AI to make advanced paths.

Course Rotation: NY:WP;Fall

3 credits

CS 647 Game Model Design and Animation

Course Description: 3DSMax, and Maya to develop models; Polygon Creation, Triangulation; Character Modeling; Skeletons; Bone systems; Skinning; Character animation; Facial animation. Programming models to function.

Course Rotation: NY:WP;Spring

3 credits

CS 649 Advanced Video Game Programming

Course Description: Overview of scripting and programming languages used in available 3D game engines. Programming constructs of the 3D game engine and their relations with the models and levels; Programming the player and bots to move around, swim, fly, and jump dynamically and randomly.

Course Rotation: NY:WP;Spring

3 credits

CS 651 Secure Distributed System Development

Course Description: Internet/Linux server security overview. Cryptography concepts and their Java API. IP Security. Java Security framework. Java API for data confidentiality and identity authentication. Trust chains through digital certificate chains. Developing distributed applications with distributed Kerberos third-party authentication. Secure server application communications through SSL, TLS, HTTPS and VPN. Developing secure e-commerce transaction system supporting the Secure Electronic Transaction (SET) protocol. Secure server infrastructure with firewalls and Intrusion Detection Systems (IDS).

Course Rotation: NY:WP;Spring

3 credits

CS 652 Secure Web Application Development

Course Description: Web and Internet security overview. Securing web servers, application servers, and database servers. Client-side vs. server-side web application input validation. Java security policy and certificate management. Running Java applications through Java security manager. Defining Java security policies based in code based and code signatures. Secures web application session management. SQL injection prevention. URL hacking prevention. Secure web application development life cycle and maturity model. Web application auditing. Black box vs. white box web application security testing. Secure web application deployment.

Course Rotation: NY:WP;Fall

3 credits

CS 656 Introduction to Mainframe Computing

Course Description: Introduction to mainframe computer architecture, mainframe OS, server virtualization, mainframe’s special role in server-based computing and cloud computing; z/OS overview, virtual storage, workload management, I/O and data management, z/OS vs. UNIX; TSO/E, ISPF, and UNIX, working with data sets, VSAM, catalogs and VTOC’s; JCL and SDSF, I/O redirection, JCL procedures, system libraries; batch processing and JES; COBOL for mainframe computing.

Course Rotation: NY:WP;Fall

3 credits