Computer and Information Sciences

The curriculum in computer science is oriented toward computing methods and systems. It emphasizes systems analysis, software design and programming, analytic reasoning, computer architecture, and the theory of computation. Students will learn the process and algorithms to analyze and solve complex problems and also use the computer and the Internet as a problem-solving tool. Students graduating from the program will be prepared for careers in computer science, information technology, system design, telecommunications, and network applications, both in the public and private sectors. Students will also be prepared for further graduate study in computer science or other related area.

Students wishing to major in computer science should take CISC 1600 Computer Science I and CISC 1400 Discrete Structures in the first semester of their first year year (or as soon as possible) and CISC 2000 Computer Science II in the second semester of their first year.

Accelerated Master's Program

Please read the Graduate School of Arts and Sciences Accelerated Master's Programs section of this bulletin for more information. Interested majors should speak with the associate chair of graduate studies in the fall of junior year. Students do not need to include GRE scores unless they are planning to apply for financial aid after finishing the bachelor's degree.

The minimum GPA to be eligible to apply is 3.2 or higher. This policy applies to FCRH, FCLC, and PCS. Students opting for early admission must take two graduate courses in their senior year, which count toward both their B.A. (or B.S.) and M.S. degree. Graduate courses taken while still at the college must be approved by the associate chair for graduate studies of the department. Applications are made online through the Graduate School of Arts and Sciences website.

Program Activities

Courses For Nonmajors

  1. Students wishing a general familiarity with computers, or computer and information sciences and technology, but who do not wish to major in computer science, are advised to take any of the following courses, which do not require any CIS prerequisities, as soon as possible:
Course List
Course Title Credits
CISC 1100Structures of Computer Science3 to 4
or CISC 1400 Discrete Structures
CISC 1600
& CISC 1610
Computer Science I
and Computer Science I Lab
4
CISC 1800Introduction to Computer Programming3
CISC 2350Information and Web Programming4
CISC 2500Information and Data Management4
CISC 2530Digital Video and Multimedia4
CISC 2540Introduction to Video Game Design4
CISC 2850Computer and Data Analysis4
CISC 4001Computers and Robots in Film4
CISC 4006Brains and Behavior in Beasts and Bots4

3-2 Cooperative Program in Engineering

This joint five-year program with Columbia University leads to a B.A. degree from Fordham University and a B.S. degree in engineering from Columbia University. A description of the program is given under the Cooperative Program in Engineering section of this bulletin. The department provides a specialized set of CS major requirements for 3-2 engineering students. Interested students should consult the computer and information sciences department as early as possible.

For more information

The Department of Computer and Information Sciences offers CISC 1100 Structures of Computer Science , CISC 1400 Discrete Structures , CISC 1600 Computer Science I (CS1), and CISC 1800 Introduction to Computer Programming, each fulfilling the mathematical and computational reasoning core requirement. We encourage science and social science majors, and those interested in receiving a more in depth understanding of algorithmic and quantitative reasoning, to take CISC 1400 Discrete Structures instead of CISC 1100 Structures of Computer Science . Students majoring or minoring in Computer Science will need to take CISC 1600 Computer Science instead of CISC 1800 Introduction to Computer Programming.

The department also offers CISC 2540 Introduction to Video Game Design , which satisfies the EP3 core requirement, and CISC 4001 Computers and Robots in Film and CISC 4006 Brains and Behavior in Beasts and Bots , which satisfy the ICC core requirement.

The department also offers CISC 4650 Cyberspace: Issues and Ethics and CISC 4660 Minds, Machines, and Society , which fulfill the Values Seminar/ EP4 core requirement.

Majors

Minors

CISC 1100. Structures of Computer Science. (3 Credits)

An introductory course in the discrete structures used in computer and information technology. Emphasis will be placed on the ability to solve problem and develop logical thinking. Topics such as sets, functions, elementary combinatorics, discrete probability, logic, Boolean algebra, recursion and graphs will be covered through the use of algorithmic and concrete construction. The learned materials are reinforced by computer laboratory assignments. This course also fulfills the Mathematical Reasoning requirement of the Core Curriculum.

Attributes: INSC, MCR.

CISC 1400. Discrete Structures. (4 Credits)

This course covers basic materials in discrete structure and algorithms which are used in computing science, information technology, and telecommunications. Topics include sets, permutation/combinations, functions/relations/graphs, sum/limit/partition, logic and induction, recursion/recurrence relation, system if equations and matrices, graphs/digraphs/networks, searching and sorting algorithms, database structure and data analysis. Practical examples of applications will be shown and programming will be used to reinforce understanding of the concepts. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Attributes: INSC, MCR.

CISC 1600. Computer Science I. (3 Credits)

Introductory course designed for the beginning students. It will define the computing concepts using a high-level programming language. Emphasis will be placed on program design, coding, debugging and documentation of programs. This course together with Structures of Computer Science (CS 1100) serve as the introductory courses for both the computer science and the computer systems management applications major.

Attributes: CYSC, INSC, LING, MCR, NEUR.

Corequisite: CISC 1610.

CISC 1610. Computer Science I Lab. (1 Credit)

A series of programming and laboratory assignments to reinforce the materials learned in CISC 1600.

Attributes: CYSC, INSC.

Corequisite: CISC 1600.

CISC 1800. Introduction to Computer Programming. (3 Credits)

This course introduces stuents to the foundational knowledge in computing and programming via a scripting languages such as Python. This course covers the following topics: principles of computing, control structures, functions, recursion, file systems, web applications, and object-oriented programming. The students will learn how to apply computing concepts, structures and algorithms to solve real world problems.

Attributes: LING, MCR, NEUR.

Corequisite: CISC 1810.

CISC 1810. Introduction to Computer Programming Lab. (1 Credit)

Introduction to computer programming LAB : to reinforce the materials learned in CISC 1800.

Corequisite: CISC 1800.

CISC 1999. Tutorial. (1 Credit)

CISC 2000. Computer Science II. (3 Credits)

A second-level programming course with concentration on object-oriented programming techniques. Topics include: classes, subclasses and inheritance, polymorphism; class hierarchies; collection classes and iteration protocols.

Prerequisite: CISC 1600.

Corequisite: CISC 2010.

CISC 2010. Computer Science II Lab. (1 Credit)

A series of programming and laboratory assignments to reinforce the materials learned in CISC 2000.

Corequisite: CISC 2000.

CISC 2011. Programming for Math and Science. (4 Credits)

Basic Python programming and scripting and basic algorithms of linear algebra. Students will develope their own Python implementations of these algorithms, which form the basis of many computational methods in the sciences. The course is accessible to students in the physical and social sciences, computer science and math. Note: Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Attribute: NESY.

Prerequisites: CISC 1600 or CISC 2000.

CISC 2100. Discrete Structures II. (3 Credits)

Students will study fundamental mathematical structure and logic principles that are essential to computer science. Students will develop a sound foundation upon which to build a deeper understanding of the elements of computing. Predicate logic, proof techniques, and essential topics in calculus and discrete probability will be covered. Problems and examples will be drawn from various subjects of computer science and programming activities will be introduced to reinforce the learning and application of mathematical subjects.

Corequisite: CISC 2110.

CISC 2110. Discrete Structures II Lab. (1 Credit)

Discrete Stucture II LAB : to reinforce the materials learned in CISC 2100.

Corequisite: CISC 2100.

CISC 2200. Data Structures. (4 Credits)

A survey and analysis of the major types of structure in programs that handle data: arrays, stacks, queues, linked lists, trees and graphs; recursive, iterative, search and sort techniques. Methods of organizing and manipulating files will be referenced. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Prerequisite: CISC 2000.

CISC 2201. Systems Analysis. (4 Credits)

Analysis and design of computerized information systems. Topics include planning and design of information systems, configuration analysis, cost analysis, proposal development. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Attribute: INSC.

Prerequisites: CISC 1600 or CISC 2000.

CISC 2261. Computer Graphics Applications. (4 Credits)

Computer graphics is widely used in many fields, including data visualization, engineering design, computer imaging and video gaming and other multimedia entertainment. This course is an introduction to computer-based graphical techniques. Basic programming and mathematical concepts related to computer graphics are covered as needed, assuming little or no background in these areas. The emphasis in this course will be on the hands-on implementation of software applications which employ graphics. Applications for laptop/desktop computers and for mobile devices will be covered. Topics covered will include bitmap filtering, color manipulation, shading, animation and three-dimensional projections. Application areas covered will include biomedical engineering, visual identification, engineering design and global positioning systems. Having taken this course, a student can expect to have a basic understanding of computer graphics and its widespread applications; they will be able to design simple computer graphics applications to suit their own objectives, and they will be able to implement and test these applications. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

CISC 2350. Information and Web Programming. (4 Credits)

Using a process of incremental development, students will learn the latest technologies used in developing dynamic, database-driven websites. Principles of good web design will be covered, as well as techniques and languages for layout and scripting. The course is open to students of all backgrounds. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Attributes: INSC, NMDD, NMMI.

CISC 2500. Information and Data Management. (4 Credits)

This course will introduce the fundamentals of information storage, access and retrieval using a variety of structures, formats, and systems in computing, internet and information technologies. Projects and case studies will be drawn from the sciences, social sciences, arts and humanities and professional studies in medicine and health, business and commerce, justice and law, and education. Students will have hands-on experience in the acquisition and management of information from a diverse on-line and remote database. (e.g. Gene Bank, digital archives). Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Attributes: CYSC, INSC, NEUR, NMDD, URST.

CISC 2530. Digital Video and Multimedia. (4 Credits)

This course introduces students to the technology of digital video and multimedia with special emphasis on the web and games. Topics covered include: digital representation of sound, images, video and graphics, compression, multimedia scripting, mixing graphics and video. Practical laboratory exercises include working with Javascript and integrated multimedia systems (e.g. Macromedia Director). Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Attributes: NMAT, NMDD, NMMI.

CISC 2540. Introduction to Video Game Design. (4 Credits)

This course provides a gentle and fun introduction to the design and production of computer-based video games, for students with no prior programming experience. Students will learn principles of game design, and apply them to create an actual computer game. Students will also research aspects of games and/or the game industry, write term papers about their topics, and give presentations on them. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Attributes: COMM, DTEM, EP3, NMAC, NMAT, NMDD.

CISC 2850. Computer and Data Analysis. (4 Credits)

Over the past decade, methods for analyzing data and extracting useful information from data in several application domains have increasingly relied on "intelligent" computer systems. In this course we will review these methods and systems and apply them to real-world problems, using state-of-the-art data analysis/data mining tools including basic algorithms and statistics. It is intended for social sciences, business and other science majors who have a strong desire and/or urgent need to analyze data using computers in their disciplines and at work after graduation. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Attributes: INSC, NEUR, NMAC, NMDD, NMMI.

CISC 2999. Tutorial. (2 Credits)

CISC 3010. Scientific Communication. (4 Credits)

Students develop skills in written and oral communication needed to produce scientific articles, monographs and presentations that are accomplished in both form and content. The course covers both the use of LaTeX to produce work that meets the highest standards of design and typography, and the techniques of writing, organization, and scholarly citation needed to ensure that this work accurately embodies, effectively communicates, and professionally documents the author's scientific thought. Students will learn the ins and outs of generating and using copyright material, and how to present data in forms of pictures, tables, graphs, or schematics. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Attribute: PPWD.

CISC 3020. Computer Graphics. (4 Credits)

A rigorous introduction to computer-based graphical techniques. Core programming and mathematical concepts related to computer graphics are covered as needed. The emphasis in this course will be on the hands-on implementation and synthesis of software applications which employ graphics. Applications for laptop/desktop computers developed within Visual Studio/VB.net IDE environments will be synthesized and analyzed. Topics covered will include bitmap filtering, color manipulation, shading, animation and three-dimensional projections, optcode color composition and decomposition, resolution, interpolation, and coordinate transformations. After completing this course, students will be proficient in developing and implementing graphics modules, have an understanding of software and hardware interfaces relating to continuous accessing of visual screen objects, able to understand GUI interfaces, and have a working knowledge of the major mechanisms which comprise 2-d and 3-d computer graphics development which include animation, projection and color migrations. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Attributes: NMAC, NMAT, NMDD, NMMI.

CISC 3060. Introduction to Robotics. (4 Credits)

This class is an introduction to robotics and AI for students with a background in programming. Students will work in small groups to build and program robots from kits. They will learn the basics of embedded programming, using sensor information to control motor activity for a variety of tasks such as wall following, obstacle avoidance, and simple navigation of a maze. Students will learn algorithms and data structures for representing and reasoning about space and motion, for working in robot teams, and for planning to achieve a goal. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Attributes: NESY, NEUR.

Prerequisites: CISC 1600 or CISC 1800 or CISC 2000.

CISC 3130. Unix Systems Programming. (4 Credits)

An introduction to systems programming under the UNIX operating system, using the C and C++ programming languages. UNIX concepts include processes and scheduling, I/O and queues, and standard system utilities and functions. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Prerequisites: CISC 1600 or CISC 2000.

CISC 3250. Systems Neuroscience. (4 Credits)

This course studies integrative neuroscience from a holistic view at the systems and network level. It covers the cells of the nervous system and how they process information as well as the interconnection of neurons and how they aggregate information. It also covers networks of interactive networks or modules and how they produce cognitive functions and behavioral tasks such as vision, memory, perception and emotion. Computing and informatics techniques are used and various examples are illustrated using modeling, simulation, visualization and imaging modalities. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Attribute: NEUR.

CISC 3280. Machine Learning Methods for Neural and Biological Data. (4 Credits)

This course will introduce undergraduate students to introductory machine learning and statistics concepts for use on scientific data, with an emphasis on neuroscience and biological and medical examples. This class is open to students studying both computer science/data science as well as neuroscience and natural science. Students are expected to be familiar with scientific computing in python, and basic ideas in calculus and probability and statistics (derivatives and integrals, as well as random variables, common probability distributions, mean and variance). Some familiarity with linear algebra (e.g., matrix and vector notation and multiplication) is expected. As such, students must have taken introductory calculus, as well as a course in data analysis/statistics and a course in algorithmic modeling. If students have not taken these classes but believe they have sufficient background, permission from the instructor is needed. Familiarity with neuroscience concepts is helpful but not required. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Attribute: NESY.

CISC 3300. Internet and Web Programming. (4 Credits)

This course covers web programming in the Internet and interactive environment. Students will gain understanding of operating system usage on a server and interactive web system design. Languages used include PERL, HTML, CGI and JAVA script. (Formerly titled Programming for the Web). Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Prerequisites: CISC 1600 or CISC 2000.

CISC 3400. Java Programming. (4 Credits)

This course covers Java programming and internet computing with various applications. Topics include: Java programming, object-oriented programming, graphical user interfaces (GUI's), applets and applications, multimedia, files and streams, and server communications. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Prerequisite: CISC 2200.

CISC 3440. JavaScript. (4 Credits)

This course is an in-depth introduction to the JavaScript language. JavaScript is one of the most popular languages, and it is the only language that is in use when developing client-side interactivity on the web. The class will include controlling browser objects DOM; creating dynamic web content; using cookies, sessions and local storage; using Ajax, creating web services; and writing Object-oriented JavaScript. Note: Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

CISC 3500. Database Systems. (4 Credits)

This course begins with the introduction of the characteristics of the data base approach and the advantages of using data base systems. Course topics include the basic concepts and architecture of data base systems, the Relational Data Model concepts, integrity constraints, schemas, views, SQL, data modeling using the Entity-Relationship (ER) model as well as using the Enhanced ER model, UML diagram, practical data base design methodology, normalization process, physical design and system implementation and tuning. Data base security issues will also be discussed. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Attribute: INSC.

Prerequisites: CISC 1600 or CISC 2000.

CISC 3580. Cybersecurity and Applications. (4 Credits)

This course provides an introduction to cybersecurity concepts, technologies, and related applications. It covers cybersecurity basics, public and private key cryptosystems, access control, firewalls, security protocols, malware detection, cyber attacks, and related topics. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Attribute: CYSC.

CISC 3593. Computer Organization. (4 Credits)

This course introduces students to basic concepts in computer organization. It covers binary, octal, and hex arithmetic; digital logic and optimization; digital electronics; assembly language programming; and processor architecture, including CPU data paths, cache, pipelining, and multi-processors. Students are expected to have had an introductory class in programming and one in discrete math. Course assignments focus on both theoretical and practical issues and include programming assignments and digital electronics labs. Note: Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

CISC 3595. Operating Systems. (4 Credits)

The objective is to develop an understanding of the role of operating systems in the management of the hardware used to process application programs. Problems of resolving deadlock, exclusion, and synchronization, and inter-process communication, queuing, and network control are covered. Topics include: memory management, device management, interrupt systems and systems programming. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Prerequisites: CISC 2200 and CISC 3593.

CISC 3598. Software Engineering. (4 Credits)

Emphasis is placed on software design process, software implementation, software testing and maintenance. System and software planning, requirement analysis and software concept will be discussed. Topics covered include detailed design tools, data structure-oriented design, program design, program implementation and testing. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Prerequisite: CISC 2200.

CISC 3600. Secure Cyber Networks. (4 Credits)

This course covers the essentials of designing and building a secure local area network, incorporating all elements of the seven layers of ISO-OSI Model. Students will learn the capabilities, limitations, and vulnerabilities of a cyber network. Students will gain hands-on experience by implementing a secure network environment that is robust in preventing various adversary actions including, among others, extreme backing and virus propagation. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Attribute: CYSC.

Prerequisites: CISC 1600 or CISC 2000.

CISC 3650. Forensic Computing. (4 Credits)

Computing and digital technology has transformed society and the way we live. Today, our world is filled with an array of complex multi processing and interconnected machines that we have all become accustomed to. This course studies technologies and practices for investigating the use, misuse and the adversarial potential of computing systems and digital devises. It will provide insight into the digital forensics and legal world, emphasized with practical lab projects. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Attribute: CYSC.

Prerequisites: CISC 1600 or CISC 2000.

CISC 3800. Internship Computer Science. (3 Credits)

CISC 3850. Information Retrieval Systems. (4 Credits)

The basic concepts and principles of information retrieval, covering the definition, nature and needs of information systems. Course topics include the design of IRLs, algorithms for document and request translation, natural to descriptor language transformation, semantic information data base organization and feedback problems in information retrieval systems. Application in MIS and expert systems will be discussed. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Attributes: INSC, NMDD, NMMI.

Prerequisites: CISC 1600 or CISC 2000.

CISC 3999. Tutorial. (3 Credits)

Independent research and readings with supervision from a faculty member.

CISC 4001. Computers and Robots in Film. (4 Credits)

This course will examine how historical, socio-economic and psychological factors impact the portrayal of robots and computers in film. The course will focus on a small number of key questions, such as: why are computers and robots so often portrayed as trying to take over the world and what is the role of humans in our increasingly computerized society. The class will require the viewing of 10-15 films and extensive class discussion of these films. This course satisfies the ICC requirement. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Attributes: ACUP, AMST, ASAM, CCUS, COMC, COMM, DTEM, ICC, NMDD, NMMI.

CISC 4006. Brains and Behavior in Beasts and Bots. (4 Credits)

This course is an interdisciplinary, comparative study of human, animal and robot behavior, in which both Psychological and Computer Science disciplines provide mutually enriching and contrasting ways to understand behavior. This course will focus on several key questions and issues in natural animal and human behaviors taken in relation to the ‘designed’ behaviors of single and multiple robot systems as well as to human-robot behaviors. It offers students a hands-on opportunity to design and build robot behaviors using robotics kits – an Engineering or Computer Science perspective, and then experimentally evaluate behaviors and compare with similar human and animal behaviors, a Psychological perspective. Note: Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Attributes: ICC, NESY.

CISC 4020. Bioinformatics. (4 Credits)

This course involves the study of the sequence, structure and function of genes and proteins in all living organisms. The machine learning, data mining, information fusion and computational techniques for analyzing large biological data sets will be presented. Topics include: genomics, proteomics, phylogenetics, microarray and gene expression, disorder and disease, virtual screening and drug discovery, databases, data mining, and ethical, societal, and legal issues. This course will have a laboratory component and exercises. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Attributes: INSC, NESY, NEUR.

Prerequisites: CISC 1600 or CISC 1800 or CISC 2500.

CISC 4080. Computer Algorithms. (4 Credits)

The study of a broad variety of important and useful algorithms for solving problems suitable for computer implementation. Topics include mathematical algorithms, sorting and searching, string processing, geometric algorithms, graph algorithms, combinatorial optimization techniques, and other advanced topics; average and worst-case analysis, time and space complexity, correctness, optimality, and implementation. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Prerequisites: CISC 2200 and (CISC 2100 or MATH 2001).

CISC 4090. Theory of Computation. (4 Credits)

An introduction to the classical and contemporary theory of computation: finite state automata and regular expressions, context-free languages and pushdown automata, computability by Turing machines and recursive functions; undecideability problems and the Chomsky hierarchy; introduction to computational complexity theory and the study of NP-complete problems. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Prerequisites: CISC 2200 and (CISC 2100 or MATH 2001).

CISC 4400. Mobile Device Programming. (4 Credits)

This course provides a hands-on introduction to mobile device (smartphone, tablet) programming, with a focus on Android based devices. Based on conceptual understanding of the Android operating system and its API frameworks, students practice with Android application development through projects with features including user interface design, multimedia, web application, sensor access, and networking. Design criteria such as energy awareness, security, and privacy will be emphasized in all projects. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Prerequisites: CISC 2000 or CISC 3400.

CISC 4510. Computer Security Systems. (4 Credits)

Topics include vulnerabilities of operating systems and data bases, types of attacks, hardware aids, administrative responsibilities, classical and public- key encryption, and disaster recovery and planning. Pre-req CISC 2200 required or by permission. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Attribute: CYSC.

Prerequisite: CISC 4500.

CISC 4515. Advanced Database Systems. (4 Credits)

Emphasis is placed on effective data base design. Topics include concurrency control, recovery techniques, security, and integrity considerations. Concepts and design principles, distributed data base systems, and data base machines will also be presented. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Prerequisites: CISC 3500 or CISC 2200.

CISC 4597. Artificial Intelligence. (4 Credits)

Definition and rational of heuristic approach; cognitive processes; objectives and scope of artificial intelligence; general information processing and problem solving, including learning, representation, adaptation and use of knowledge; analysis and simulation of inductive and deductive process; natural language processing; robotics: man-machine interaction. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Attributes: NESY, NEUR.

Prerequisite: CISC 2000.

CISC 4615. Data Communications and Networks. (4 Credits)

The course presents the basic concepts of data communications: data transmission, data encoding, data link control, multiplexing, error detection techniques. It covers communication networking techniques: switching, protocols line control procedures, local networks. Communication carrier facilities and systems planning considerations will also be discussed. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Attributes: CYSC, INSC.

Prerequisites: CISC 1600 or CISC 2000.

CISC 4621. Machine Learning. (4 Credits)

This course covers methods, models and algorithms used in the exploratory data analysis and knowledge discovery of large-scale data sets and multi-model databases in complex living or artificial systems. Topics include induction logic reasoning, statistical inference, support vector machines, graph algorithms, neural networks, and evolutionary computation. Practical projects will be drawn from information engineering, computing and information retrieval. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Attributes: NESY, NEUR.

Prerequisite: CISC 2000.

CISC 4625. Wireless Networks. (4 Credits)

This course covers the architecture, protocols, and applications of wireless communications and networks. Topics include: wireless networking, routing, standards including 802.11, Bluetooth and others; embedded operating systems, programming tools, power consumption, mobility, resource management, operating systems and security. Examples and experiments will be drawn from ad-hoc and sensor networks, wireless LAN, satellite networks, networking and human-machine interactions. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Prerequisite: CISC 4615.

CISC 4631. Data Mining. (4 Credits)

This course introduces data mining methods for extracting knowledge from data. It balances theory and practice--the principles of data mining methods will be discussed, but students will also acquire hands-on experience using state-of-the-art software to solve real-world problems. Covered topics include: data preprocessing, classification and prediction (decision trees, neural networks, etc.), association analysis, and clustering. Additional specialized topics of interest may also be covered (e.g., web and text mining). Applications are drawn from a variety of areas, such as: marketing, business, economic forecasting, and bioinformatics. Non-majors are encouraged to take this course since the methods are applicable to a wide range of disciplines. Note: Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Attributes: HCWL, HUST, INSC, NEUR.

Prerequisites: CISC 1600 or CISC 1800 or CISC 2000.

CISC 4641. Wireless Sensor Data Mining. (4 Credits)

This course surveys the emerging field of wireless sensor networks and in, the use of cell phones and other mobile devices as platforms for collecting sensor data. This class will also focus on how sensor data can be mined in order to produce useful knowledge. Topics will include geo-spatial data mining, automatic customization of devices, biometrics, and ubiquitous computing. Various sensor modalities will be studied, including accelerometer data, GPS data, audio data, image data and the data generated from a variety of scientific equipment. This research-oriented course will have students read 2-3 papers a week and write short summaries of each paper. Each student, working individually or in small groups, will be expected to work on a related course project. Android cell phones will be made available to students for collecting sensor data and for the course projects. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

CISC 4650. Cyberspace: Issues and Ethics. (4 Credits)

This Senior Values/Eloquentia Perfecta 4 course explores issues of personal and social morality in the context of the technological developments related to the use of information and communication technology. We will survey a range of issues raised by the Internet and the World Wide Web, such as freedom of expression, privacy, intellectual property, and cybercrime. We will look at the influence of applications such as electronic mail, search engines, social media, e-commerce, and cryptography on the well-being of society and individuals. This course will equip the student with the tools needed to navigate the ethical complexities of life in the information age, whether as a professional in a field related to information technology or as a consumer of this technology. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Attributes: AMST, APPI, ASAM, COMM, DTEV, EP4, HCWL, HUST, NMDD, NMDE, VAL.

CISC 4660. Minds, Machines, and Society. (4 Credits)

While assuming no mathematical or computer background, this course examines modern computing and its impact on society. Perceptions of technology are challenged while discovering how technology affects our daily interactions. The notion of computer intelligence is studied in depth and the effect of such technology on making both moral and practical decisions in the future is examined. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Attributes: ACUP, AMST, CCUS, COMC, EP4, NMDD, NMDE, VAL.

CISC 4700. Network and Client Server. (4 Credits)

This course deals with network computing the client/server environment. Topics include: operation systems, network protocols, network architecture, network security and network computing using languages such as PERL, Visual Basic and Java. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Prerequisite: CISC 2200.

CISC 4750. Scientific Computation Using Matlab. (4 Credits)

An introduction to computer science concepts, programming skills, and algorithmic problem-solving in MATLAB. Assumes basic programming background. Design and analysis of numerical algorithms including numerical integration, numerical differentiation, curve fitting and differential equations. Introduction to Monte Carlo methods. Application of MATLAB in computational science and computational engineering. Solution of linear systems and eigenvalue problems. Complex numbers algebra. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Attribute: EP3.

Prerequisites: CISC 1600 or MATH 1207.

CISC 4800. Project and Internship. (4 Credits)

Students will work in teams on large projects selected from practical problems in the public or private sector. Students also gain on-job experience by working as interns in the field of computer science and information technology. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

CISC 4900. Seminar and Directed Study. (4 Credits)

Students attend seminars given by outside professionals, read technical articles, and present their study under the guidance of the instructor. Student will gain state-of-the-art knowledge and information in computer and information science. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

CISC 4999. Tutorial. (4 Credits)