*1.0
Computing: Its
Nature, Power and Limits
(3 hours; 3 credits)
The nature, power and limits of the computer and computing. The
components of the computer. Computer networks. Information
representation. Introduction to algorithms, problem-solving, and
computer programming. (Not open to students who are enrolled in, or
have completed, and CIS course--other than CIS 5.2--with a C or higher,
or who have completed CC 3.12 or Core Studies 5 or 5.1.)
Prerequisite: A high school course in intermediate
algebra or Course 2 of the New York State Sequential Mathematics
Curriculum, or Mathematics 0.35 or 0.44 with a grade of at least C-, or
Mathematics 0.36 or 0.04, or the equivalent.
*1.5 Introduction to Computing Using C++
(4 hours; 4 credits)
Algorithms, computers and programs.
Writing, debugging, and
testing programs. Loops and conditional control structures.
Functions and
parameter passing. Arrays, strings and simple classes. Sorting,
searching and
other basic algorithms. Input and output models. Contemporary
applications.
(Not open to students who are enrolled in or have completed Computer
and Information Science 1.10 or 1.20 or 2.80 or 15 or 16.)
*2.30 COBOL for Programmers
(2 hours; 2 credits)
Programming in the COBOL language for students who can program in a
language other than COBOL. Program structure, data description,
arithmetic operations, input/output operations, tables, sorting and
searching. The PERFORM statement, loops and subroutines. Design of data
processing applications. (Not open to students who are enrolled in or
who have completed Computer and Information Science 2.03 or 3.30 or any
course in COBOL programming.)
Prerequisite: CIS 1.10 or 1.20 or 1.5.
*2.50 UNIX Shell Programming
(2 hours; 2 credits)
The shell programming language. Command structure and I/O redirection.
Control structures, metacharacters, process environment. Shell scripts,
exception handling, numerical and string facilities, recursion. Filter
programs, the software tools approach, pipeline programming. Regular
expression pattern matching. Quoting. Subshells. Remote shell programs.
Background processes, shell demons, process management.
Prerequisite: Computer and Information Science 15 or
16.
*2.55 Programming in Perl
(2 hours; 2 credits)
A survey of the Perl programming and scripting language. Data types in
Perl including arrays, hashes, stacks, strings. Input and output. CGI
description and examples. Database and network programming.
Object-oriented programming.
Prerequisite: CIS 22.
*2.60 Visual Programming and
Windowing Applications
(2 hours; 2 credits)
Visual programming languages and libraries. Creating windowing
applications. Graphical user interfaces. Visual development
environments, custom controls, dynamic link libraries, and database
access.
Prerequisite: CIS 22.
*2.70 Java for Programmers
(2 hours; 2 credits)
The facilities of Java programming language core and the key Java class
libraries. The imperative (nonobject-oriented) language, support for
object-oriented programming, exception handling, concurrency and
network programming. Images and graphic display techniques, drawing
tools, event generation and handling, containers and container
hierarchies, layout techniques and applet construction. Language issues
such as comparison with C and C++, compile-time vs. run-time checking,
and implementation. Class designs file I/O, threads, and navigating the
Java class libraries.
Prerequisite: CIS 22. Not open to students who are
in enrolled in or have completed CIS 1.6, 16, or 26.
*2.80 Introduction to C++ for
Programmers
(2 hours; 2 credits)
Intensive introduction to programming in C++ for students who have
completed a programming course in another language. (Not open to
students who are enrolled in or have
completed Computer and Information Science 1.5 or 15.)
Prerequisite: An introductory programming course in
a language other than C++ or C.
*2.85 C++ for C Programmers
(2 hours; 2 credits)
Introduction to the C++ language for students who know the C
programming language. Input and output streams, reference variables and
arguments, overloaded and template functions, classes, self-reference,
friends, class initialization, class templates, derived classes and
inheritance, virtual functions, object-oriented programming.
Prerequisite: CIS 22.
*3 The Internet
(2 hours lecture, 2 hours lab; 3 credits)
A comprehensive survey of the design, implementation, history, and use
of the Internet. Data communications and network concepts, Transmission
Control Program/Internet Protocol (TCP/IP), client-server computing,
e-mail and Web applications, Hypertext Markup Language (HTML), and
client-side scripting tools. Security issues, financial and political
applications, ethical concerns.
Prerequisite: CC 3.12 or Core Studies 5 or 5.1 or
any course in
computing. Not open to students who have completed CIS 13 or higher.
*3.1 Multimedia Production for the
World Wide Web
(2 hours lecture, 2 hours lab; 3 credits)
Principles of good design in a digital context. Internet hardware and
software, digital display basics. Tools and techniques for creating
digital media. Aesthetics in digital media, interface design
guidelines, supporting interaction on the Web.
Prerequisite: CC 3.12 or Core Studies 5 or 5.1 or
any course in
computing.
*3.2 Electronic Commerce
(3 hours; 3 credits)
How the Internet can be used to conduct business. Topics covered
include: Internet hardware and software, tools and technologies for
creating a Web site, characteristics of successful Web sites, new
technologies, the future of the Internet, Web communication strategies,
security issues, legal and ethical issues, Internet information
services, data mining, global E-commerce. Case studies of successful
E-commerce businesses will be examined. This course is the same as
Business 31.5.
Prerequisite: CC 3.12 or Core Studies 5 or 5.1 or
any course in
computing.
*3.3 Elementary Robotics
(3 hours; 3 credits)
Broad introduction to robotics and elementary robot programming.
Fundamentals of building, programming and troubleshooting simple,
pre-fabricated robots. Elements of computer programming using a
graphical interface. Applications of robots in a wide range of contexts.
Prerequisite:
CC 3.11 or Math 2.9 or 2.92 or 3.3 or
permission of the chairperson.
(P)*3.5 Introduction to Multimedia
Computing
(3 hours; 3 credits)
Introduction to multimedia topics, including: Web design, game design,
animation, data visualization, simulation and robotics. Introduction to
multimedia hardware and software, including game boxes. Human interface
design and input using multimedia devices. Graphical and other forms of
output to multimedia devices. Emphasis on design and creation of Web
pages, with HTML and cascading style sheets; interactive, graphical
Web-based programs; simple computer games, movies and narratives.
Computer-based sound editing. Introduction to agent-base programming
for simulation and robotics. Uses of multimedia in industry.
Alternating lecture/laboratory class sessions.
*4.1 Assembly Language Programming
for Microcomputers
[INACTIVE]
(3 hours; 3 credits)
An introduction to assembly language programming for microcomputer
systems. CPU architecture. Registers. Segmentation. Instruction formats
and addressing modes. Instruction sets and programming. Directives and
operators. Modular programming. Macros. String manipulation. Character
codes. Arithmetic programming. (Not open to students who are enrolled
in or have completed Computer and Information Science 4 or 2.90.)
Prerequisite: CIS 1.10 or 1.20 or 1.5 or 2.40 or
2.80.
*5.1 Microcomputers in Education
(2 hours lecture, 2 hours laboratory; 3 credits)
Introduction to the use of the microcomputer as an educational tool.
Computer literacy. Programming in LOGO and BASIC. Computers in relation
to school curriculum. Comparison of computing languages in the schools.
Implementation of computer peripherals and software. This course is the
same as Education 68.1. (Not open to students who have completed
Computer
and Information Science 68.)
Prerequisite: Education 48.1 or 58.1 or 60.1, or
permission of the division
coordinator.
*5.2 Introduction to Computer
Applications (formerly
titled "Microcomputers in Business and Administration")
(3 hours; 3 credits)
Introduction to the use of the computer in the home and office. Word
processing, database, and spreadsheets.
CIS 5.2 cannot be used as a substitute for Core Studies 5.1
Not open to students who are enrolled in or have completed CIS 13.2.
*5.4 The Social Consequences of
Computers
(3 hours; 3 credits)
Social impact of computers on various groups, subcultures, and
institutions. Effect of computer toys on children. Video games,
computers in classrooms, hackers, the world of professional
programmers, computers in the workplace, robots, and expert systems.
Political and military impact of computers. Issues of privacy and
ethics. This course is the same as Sociology 53.
Prerequisite: both a) and b):
a) CC 3.12 or Core Studies 5 or 5.1 or any course in computing;
b) CC 2.3 or Core Studies 3 or Sociology 5.
*6.1, *6.2 Computing Workshop
(10 hours; 3 credits)
Experience in an independent hands-on computer project, directed by a
faculty member. Workshop activities designed to advance understanding
of the methodology and applications of information technology. Projects
drawn from such areas as programming, robotics, information systems,
medical computing, business applications, game design, or multimedia
computing. Designed for early students to gain a practical appreciation
for “doing something” with computer technology.
Prerequisite: Core Curriculum 3.12 or 30.03, or Core
Studies 5 or 5.1, or any course in CIS; and permission of the
chairperson.
*7.1, *7.2 Special Topics in
Computing
(3 hours; 3 credits)
A topic in the area of computing practice and interdisciplinary
computing studies not covered in the regular curriculum. Topics vary
from term to term and reflect the interests of students and faculty.
Course description may be obtained in the department office before
registering. Prerequisite for the special topic will vary with each
topic offered.
Prerequisite: varies with each topic offered.
*8.3W Seminar in
Computer-Assisted Management Games
Simulation of a business environment providing practice in various
management functions such as objective setting, planning, supervising,
organizing, controlling, problem solving, and leadership. Emphasis on
presentation and communication skills and presenting results and their
justification. Includes games involving competition in the marketplace
and use of knowledge-based management software for the business
executive. The desired course objectives are enhanced negotiating
skills, improved personnel observations, and optimized managerial
behaviors. Writing-intensive course. (This course is the same as
Business 80.3W. Not open to students who have completed Economics
80.3.)
Prerequisite: English 2.
Prerequisite or corequisite: Business 30.2 or
Mathematics 8.1 or 51.1; and Business 31.4 or CIS 10.31; and CIS 5.2 or
1.5; and senior standing; and at least 34 credits in CIS and/or
Business courses required for the B.S. degree in CIS or the B.S. degree
in business, management, and finance.
*9.2 Management Information
Systems
Management
information systems as a business resource for achieving competitive
advantage. The major IT applications used
in business
and how they enable competitiveness. The
central role that relational databases and data warehouses play in the
business
world. How IT has enabled and accelerated the growth of e-commerce. The
role of
decision support systems and artificial intelligence in business.
Overview and
impact of IT infrastructure design. System Development Lifecycle,
project
management, outsourcing, offshoring and its impact on the US
economy. Information security, intellectual property rights, copyright
and
patent law on a national and international level. New trends in
technology and
their potential impact on industry. Case
studies and team project are required. This course is the same as
Business
31.3. (Not open to students who have completed Business 31.3.)
Prerequisite: CIS 5.2 and at least sophomore
standing, or permission of the chairperson
*9.50
Management of New and Emerging Technologies
(3 hours; 3 credits)
The focus of this course is on the management of work units charged
with technical renewal or new applications of technology. The practical
problems of people in industry, involving interpersonal relations,
groups, leadership, and organizational change, will be viewed in light
of the overall strategy of the firm. Issues will range from managing
project groups in traditional pyramid organizations, as well as in the
newer matrix organizations, to managing the transfer of technology on
an international basis. This course will use the case study approach
predominantly, but also will include small group student projects. This
course is the same as Business 50.8. (Not open to students who have
completed Economics 50.8.)
Prerequisite: CIS 5.2 or permission of the
chairperson.
10
Philosophy and Artificial Intelligence
(3 hours; 3 credits)
Contemporary issues in philosophy and psychology, such as the
mind-machine analogy, the artificial intelligence model of the human
mind, intentionality, representation, consciousness, concept formation,
free will, behaviorism, mechanism. Discussion and evaluation of
contemporary work in the field. This course is the same as Philosophy
29 and Psychology 57.2.
Prerequisite: CC 3.12 or Core Studies 5 or 5.1 or a
course in
CIS; and CC 2.1 or Core Studies 10 or a course in philosophy; or
permission of
the chairperson. (Not open to students who have completed CIS 32.1.)
10.31 Operations Management
(3 hours; 3 credits)
Study in managerial decision making to solve a wide varietyof operating
management problems. Topics covered include: planning, evaluation and
control of operations; forecasting and inventory management;
scheduling; project design and management; resource allocation; queuing
models; quality of the work environment; and technological change.
Design and implementation of management strategy will be emphasized
through
computer simulation, problems, and cases. This course is the same as
Business 31.4. (Not open to students who have enrolled in or have
completed Math 73.2 or Economics 31.4.)
Prerequisites: CC 3.12 or Core Studies 5.1 or CIS
1.0 or 1.5 or 5.2;
CIS 11 or Business 30.2 or Economics 30.2 or Math 8.1 or Math 51.1.
10.33 Macromolecular Structure
and Bioinformatics
(3 hours; 3 credits)
The fundamentals of biological macromolecular structures; an
introduction to the computational tools important in determining
biological functions. This course is the same as Biology 33.
Prerequisites: CC 3.12 or Core Studies 5.1 or CIS
1.0 or 1.5 or
equivalent.
11 Introduction to Discrete
Structures
(3 hours; 3 credits)
Elementary set theory, functions, relations, and Boolean algebra.
Switching circuits, gating networks. Definition and analysis of
algorithms. Applications of graph theory to computer science. Related
algorithms. Introduction to combinatorial computing and counting
arguments. Introduction to error analysis.
Prerequisite: CIS 1.10 or 1.20 or 1.5 or 2.40 or
2.80; and Mathematics 2.9 or 2.92 or assignment to Mathematics 3.20 or
3.3 or 4.10 by the Department of Mathematics.
12W Computers and Ethics
(3 hours; 3 credits)
Analysis of ethical issues pertaining to computers and the workplace,
anonymity and privacy, copyright and patent law (as applied to
software), computer crime, security, unauthorized use, codes of conduct
for computer professionals, access and availability of computing
technologies. Application of theoretical frameworks such as virtue
ethics, deontological theories and utilitarianism to the ethical
problems encountered in computing technologies. Writing intensive
course. (This course is the same as Philosophy 14.4W.)
Prerequisite: CC 3.12 or Core Studies 5.1 or CIS 1.0
or 1.5, and
English 2.
13.2 Advanced Personal Computer
Techniques for Business Applications
(3 hours; 3 credits)
In-depth analysis of software and hardware available for current
business applications. Advanced use of application packages. Critique
and comparison of current application software. Designing a proper
interface. Examination of current trends toward office automation.
System design and analysis.
Prerequisite: CIS 5.2 and either CIS 1.10 or 1.20 or
1.5 or 2.80.
15 Advanced Programming
Techniques
(4 hours; 4 credits)
A second course in programming. Advanced programming techniques
emphasizing reliability, maintainability, and reusability. Module
design and multifile programs. Abstract
data types. Storage class and scope. Addresses, pointers, and dynamic
storage allocation.
Test suites, test drivers, and testing strategies; debugging,
assertions, and an introduction to formal techniques. Recursion and
function parameters.
Prerequisite: CIS 1.5 or 2.80. (Not open to students
who are enrolled in or have completed CIS 22.)
17 Introduction to Multimedia
Programming
(3 hours; 3 credits)
In-depth study of multimedia programming. Multimedia authoring tools.
Graphical user interface design. Multimedia project development.
Effective use of media elements in a computer application and on the
World Wide Web.
Prerequisite: CIS 15.
20.1 Design and Implementation
of Software
Applications 1 (3
hours; 3 credits)
Introduction to topics
from diverse areas of computer and information science in an
application-oriented context. Design,
development, implementation and testing of a web-based, data-backed
interactive
application, such as an educational game or an e-commerce site.
Human-computer
interaction, graphics
programming, net-centric computing, and software design. Learning code
development by example, modification of instructor-authored code and
independent
code authoring. Application Programming Interfaces
and state-of-the-art tools to design and partially prototype systems.
Open-source technologies and their
relationship to commercial technologies currently popular in
workplaces. Application of fundamental computer skills and
knowledge to rapidly changing job-specific technologies, tools and
environments. Hands-on system development, supervised by the
instructor.
Students should be prepared to take CIS 20.2
in the following semester. It is
recommended that students have taken or are taking CIS 22 in the
semester they
take CIS 20.1.
Prerequisite: CIS 15.
20.2 Design and Implementation of
Software
Applications 2 (3
hours; 3 credits)
Continuation of CIS 20.1. Emphasis on building and testing
a system designed and prototyped in CIS 20.1. Emphasis on
software development, database systems, intelligent systems and
software engineering. This course should be taken in the semester after
CIS 20.1.
Prerequisite:
CIS 20.1 and 22.
22 Data Structures (4 hours;
4 credits)
Stacks and their implementations. Prefix, postfix, and infix notation.
Queues and linked lists and their implementations. Binary and general
trees and their implementations and traversals. Sorting and searching
techniques. Graph algorithms.
Prerequisite: CIS 15 or 16.
23 Analysis of Algorithms
(3 hours; 3 credits)
Algorithms, data structures, and their analysis. Applications for and
solution to recurrence problems. Upper and lower bounds on complexities
of various problems. Classification
by design structures. Sorting methods, graph and selection algorithms.
Pattern matching. Efficient computation of transitive closure and
equivalences. NP-completeness.
Prerequisite: CIS 11; CIS 21 or 22; Math 3.20 or 3.3
or 4.10.
|
24 Programming
Languages
(4 hours; 4 credits)
The design, implementation, and evolution of programming languages.
Language features and their effects upon translation and run-time
environments. Languages studied are chosen for their historical and
current significance, programming paradigm, and run-time environment.
Syntax and semantic specification; formal grammars.
Prerequisite: CIS 1.5 or 2.80; and CIS 22.
Pre- or co-requisite: CIS
26.
25 Operating Systems
(3 hours; 3 credits)
Design and implementation of operating systems for large computers.
Multiprogramming, multiprocessing, time sharing. Resource allocation
and scheduling. Communications, conversational computing, computer
networks. Memory protection, interrupts, segmentation, paging, and
virtual memories.
Prerequisite: CIS 21 or 22; and CIS 27, 27.1, or 28.
Recommendation:
experience on two platforms.
26
Object-Oriented Programming
(3 hours; 3 credits)
Use of inheritance and
polymorphism. Advanced object-oriented programming techniques.
Introduction to object-oriented design.
Prerequisite: CIS 20.1 and 22.
27 Computer Organization [INACTIVE]
(3 hours; 3 credits)
Basic digital circuits. Boolean algebra and combinational logic, data
representation and transfer, and digital arithmetic. Digital storage
and accessing, control functions, input-output facilities, system
organization, and reliability. Description and simulation techniques.
Features needed for multiprogramming, multiprocessing, and real-time
systems. Other advanced topics and alternate machine organizations.
Prerequisite: CIS 4 or 4.1; and CIS 11. (Not open to
students who are enrolled in or have completed Computer and Information
Science 28.)
27.1 Principles of
Computer Architecture
(4 hours; 4 credits)
Introduction to digital
logic. Basic digital
circuits. Boolean algebra and combinational logic, data representation
and transfer, digital arithmetic. Instruction sets. Introduction to
assembly languages: ALU and memory reference instructions, flow
control,
subroutine linkage, arrays and structures. Memory.
I/O systems. Performance. Relationship between software and
architecture. (Not open to students who
are enrolled in or have completed Computer and Information Science 27
or 28.)
Prerequisite:
CIS 1.5 or 2.80; and CIS 11.
28 Digital Computer Systems
(3 hours lecture, 3 hours laboratory; 4 1/2 credits)
Functional components of computer systems: registers, counters, coders,
multiplexers. Data representation. Memory, register, and bus transfer
operations. Basic computer organization and design. Central processor
organization. Hardwired and microprogrammed control units. Bus
structures. Arithmetic logic units. Memory and I/O organization.
Laboratory experiments on computer operations. Design of a digital
computer system.
Prerequisite: CIS 4 or 4.1; and CIS 11 and Physics
2.3. Not open to students who are enrolled in or have completed
Computer and Information Science 27.
29 Compiler
Construction
(3 hours; 3 credits)
Review of programming language structures, translation, loading,
execution, and storage allocation. Compilation of simple expressions
and statements. Organization of a compiler including compile-time and
run-time symbol tables, lexical scan, object code generation, error
diagnostics,
object code optimization techniques, and overall design.
Use of compiler-writing languages and bootstrapping.
Prerequisite: CIS 2.10 or 2.20 or 2.30 or 2.40 or
2.50 or 2.70 or 2.85 or 26; CIS 11 and 22.
30.1 Introduction to Software
Engineering
(3 hours; 3 credits)
A broad view of software engineering that introduces a variety of
software engineering techniques that can be applied to practical
software projects. Topics include: process models, software
specification, software design, software development methods and tools,
verification and validation, reliability, and human factors.
Prerequisite: CIS 22.
32 Artificial Intelligence
(3 hours; 3 credits)
Techniques for making computers exhibit intelligent behavior. Topics
covered are taken from the areas of problem solving, perception, game
playing, knowledge representation, natural language understanding,
programs that learn (adaptive programs), expert systems, and
programming languages for work in artificial intelligence.
Prerequisite: CIS 21 or 22.
32.5 Principles of Robotics
(3 hours; 3 credits)
Basic principles of mobile robotics: architectures, mathematical
foundations, control algorithms, human robot interaction, and practical
applications. Applications include robots in the home, and robots in
search and rescue work. Involves programming different kinds of robots.
Prerequisite: CIS 11 and 26.
36 Multimedia Coding and Compression
(3 hours; 3 credits)
Media types and their representation. Multimedia coding and
compression. Lossless data compression. Lossy data compression.
Compression standards: text, audio, image, fax, and video.
Prerequisite: CIS 11, CIS 22, and Math 4.3.
<> 38 Theoretical Computer Science
(3 hours; 3 credits)
Overview of theoretical computer science. Formal language theory,
computability theory. Finite automata, context-free and regular
grammars, push-down automata, and Turing machines. Other models of
computation, including recursive functions. Universal program and
unsolvability.
Prerequisite: CIS 11; CIS 21 or 22; Mathematics 3.20
or 3.3 or 4.10. (Not open to students who have completed Computer and
Information
Science 37 or 39.)
41 Computer Graphics
(3 hours; 3 credits)
Fundamentals of computer graphics programming. Graphics hardware and
software standards. 2D geometric primitives and raster images. 3D
object representations. Data structures, algorithms, and the graphics
pipeline. Graphical user interfaces. Underlying concepts in computer
graphics systems, including games, animation, modeling, rendering, and
paint systems.
Prerequisite: CIS 22 and Math 2.9 or 2.92 or
assignment to Math 3.3.
45 Database Systems
(3 hours; 3 credits)
Introduction to database systems. Comparison to file processing
systems. Data models. Relational, hierarchical, and network systems.
Database design. Normal forms. Study of several real-world database
management systems, with an emphasis on microcomputer applications.
Database recovery query and transaction processing, concurrency.
Distributed and object-oriented databases.
Prerequisite: CIS 21 or 22, and CIS 5.2 or
permission of the chairperson.
45.1 Multimedia Databases
(3 hours; 3 credits)
Multimedia data types and formats. Multimedia database design issues.
Indexing and retrieval of text documents, audio files, images and
video. Techniques and data structures for efficient multimedia
similarity search. System support for distributed multimedia databases.
Measurement of multimedia information retrieval effectiveness.
Products, applications, and new developments.
Prerequisite: CIS 45, 36 or 52.
46 Workstation Programming
(3 hours; 3 credits)
Programming techniques for development of applications
on networks of workstations. Process environments, file system issues.
Concurrent programming, interprocess communication. Graphical user
interfaces, event-driven programming. Distributed programming; remote
process creation, the client-server model, message passing.
Prerequisite: CIS 22.
46.5 Distributed System
Administration
(2 hours lecture, 4 hours lab; 4 credits)
The principles and practice of system administration in networked and
internetworked, multi-user, multi-tasking distributed systems. Basic
system administration, connectivity, domain name system management,
distributed system information services, network file systems, network
service daemons, security kernel modification, device drivers, ethics,
and legal issues. System administration tools and languages.
Prerequisite: CIS 2.50, and CIS 25 or 46.
47 Foundations of Parallel
and Distributed Computing
(3 hours; 3 credits)
Survey of parallel and distributed hardware fundamentals, including SMP
machines, clusters, grids, and networks of workstations. Introduction
to the design of parallel algorithms and the analysis of their
efficiency. Survey of software issues for parallel and distributed
computation including message passing and shared memory, processes and
threads, client/server and peer to peer, and issues of synchronization.
Complexity considerations and the limits of parallelism.
Prerequisite:
CIS 15; CIS 27 or 27.1; or permission
of the chairperson
48 Introduction to Modeling and
Simulation
(3 hours; 3 credits)
Introduction to simulation and comparison with other techniques.
Discrete simulation models. Introduction to queueing theory and
stochastic processes. Comparison
of discrete change simulation languages. Simulation methodology
including generation of random numbers and variates, design of
simulation experiments for optimization, analysis of data generated by
simulation experiments, and validation of simulation models and
results. Selected applications of simulation.
Prerequisite: CIS 4 or 4.1, and Mathematics 8.1 or
51.1.
49 Computer Networks and Protocols
(3 hours; 3 credits)
Computer networks and protocols. Network topologies and switching
mechanisms. Protocol concepts and characteristics. Network protocol
architectures. Physical layer concepts.
Data link layer functions and protocols. Network layer concepts.
Network access protocols. Local area networks and protocols.
Internetworking. Transport layer functions and protocols. Upper layer
issues and approaches. Application program interfaces. Network
examples.
Prerequisite: CIS 22; CIS 27, 27.1, or 28; and Math
8.1.
(Not open to students who are enrolled in or have completed Computer
and Information Science 49.1 or 49.2.)
49.1 Telecommunications
(3 hours; 3 credits)
Introduction to telecommunications. Data transmission fundamentals.
Data encoding. Modems. Digital subscriber lines. Data compression.
Physical layer interfaces. Transmission error control. Telephony
signaling. Wireless and cellular communications. Asynchronous Transfer
Mode (ATM) Networks. Integrated Services Digital Networks (ISDN).
Prerequisite: CIS 22; CIS 27, 27.1 or 28; and
Math 8.1. (Not open to students who are taking or have taken CIS 49.)
49.2 Computer Networks
(3 hours; 3 credits)
A course on computer networks and protocols. Network topologies and
switching mechanisms. Protocol concepts and characteristics. Network
protocol architectures. Data link layer functions and protocols.
Network layer concepts. Network access protocols. Local area networks
and protocols. Internetworking. Transport layer functions and
protocols. Application layer protocols. The World Wide Web. Network
security.
Prerequisite: CIS 22; CIS 27, 27.1 or 28. (Not
open to students who are taking or have taken CIS 49.)
49.3 Multimedia Networking
(3 hours; 3 credits)
Media types. Multimedia networks. Multimedia Information
Representation. Data compression. Standards for multimedia
communications. Quality of service issues. Congestion control and
traffic management. Multimedia services and the Internet. Protocols for
QoS support. Multimedia application protocols.
Prerequisites: CIS 22, 36 or 52, and Math 4.3.
50.1 Multimedia Security
(3 hours; 3 credits)
Intellectual property (IP) & copyright. Copyright industries in the
US. Information security objectives: confidentiality, data integrity,
authentication, non-repudiation. Overview of cryptography and
watermarking. Technical measures to protect IP: Conditional access (CA)
systems for satellite, cable and terrestrial television networks;
digital rights management (DRM) systems for the Internet; copy
protection (CP) systems for digital home networks. Legal measures to
protect IP: World Intellectual Property Organization (WIPO) treaties;
Digital Millenium Copyright Act (DMCA). Selective encryption for
multimedia data. IP multicast security. Security of wireless LANs.
Prerequisite: Math 2.9 or 3.3, CIS 22, CIS 52.
51.1
Digital Image Processing
(3 hours; 3 credits)
Components of a digital image processing system. Applications of image
processing. Elements of human visual perception. Image sensing and
acquisition. Image sampling and quantization. Analysis, manipulation,
storage, and display of graphical images from sources such as
photographs, drawings, and video. Major techniques in image processing:
image analysis including morphological image processing and data
segmentation, image enhancement, restoration, compression, and
watermarking.
Prerequisites: Math 2.9 or 3.3, CIS 22, 36 or 52.
52 Multimedia Computing
(3 hours; 3 credits)
A survey of the interrelationship of state-of-the-art communication and
computer technology. Hardware, software, and system design issues in
the multimedia presentation
of information. Multimedia standards. Audio and video compression
techniques. Hypermedia database systems. Programming and the use of
multimedia authoring systems. Survey of representative hypermedia
applications.
Prerequisite: CIS 3 or 5.2; CIS 13.2 or 22.
53 Client-Server Web Programming
(3 hours; 3 credits)
Programming a Web-based interactive client-server application. HTTP
protocol, Web browsers, and Web servers. HTML and its extensions. Java
applets. Interaction with server using CGI and alternatives.
Server-side programming and control. Session persistence. Design of
interactive Web pages using client-side (browser) scripting.
Prerequisite: CIS 2.70 or 16 or 26, and CIS 22
54 Innovative Approaches to
Computer-Human
Interfaces
(3 hours; 3 credits)
Overview of computer-human interfaces with an emphasis
on innovative approaches. Principles of computer-human interaction.
Ubiquitous computing and tangible interfaces. Interfaces employing
speech recognition and computer vision. Sensor technologies. Computer
supported cooperative work. Virtual and augmented realities.
Prerequisite: CIS 22 and either CIS 3.1, 52, or
permission of the instructor.
54.1 Game Programming
(3 hours; 3 credits)
A general introduction to computer game programming. Creating 2D casual
games using a 2D game engine. Working in teams to create a 3D game
using a 3D multi-player game engine. Interaction with game development
professionals regarding the state-of-the-art of computer and software
development technology for game creating and adaptation.
Prerequisite: CIS 22.
(P) 54.2 Game Design
(3 hours; 3 credits)
Introduction to designing computer games for a variety of hardware
platforms. Fundamentals of designing, programming and
troubleshooting simple games. Porting game software between multiple
game consoles. Documenting and critiquing Multi-week small group
projects.
Prerequisite: CIS 22.
55 Parallel and Distributed
Computing
(3 hours; 3 credits)
Development of parallel and distributed applications. Examples taken
from scientific programming, artificial intelligence, operations
research, and management science. Symmetric models and asymmetric
models. Client-server. Threaded programming. Data parallelism versus
algorithmic parallelism. Issues of resource utilization, program
decomposition, performance, probability, debugging. Use of formal
methods, fault-tolerance, security and other distributed systems issues.
Prerequisite: CIS 22; CIS 27, 27.1, or 28 or
permission of the Chairperson; and one
of CIS
2.50, 2.70, 24, 25, 32, 46, 47, 48.
59.1 Special Topics in Computer
Science
(3 hours; 3 credits)
A topic in computer science not covered in the regular curriculum.
Topics vary from term to term and reflect the interests of students and
faculty. Course description may
be obtained in the department office before registration. Topics may
include mathematical software, advanced topics in switching theory,
system design and analysis, and management information systems.
Prerequisite: CIS 21 or 22; and permission of the
chairperson.
60.1, 60.2 Independent and Group
Projects
I, II
(3 hours recitation and at least 6 hours independent work; 3 credits
each term)
Planning and development of a real computer systems project supervised
by a faculty member. Projects generally involve group participation.
Achievement measured by demonstrable
attainment of the project's goals. Written report.
Prerequisite of 60.1: CIS 15 or 16 and permission of
the chairperson.
Prerequisite of 60.2: CIS 60.1 and permission of the
chairperson.
65 Programming Practicum
(1 hour lecture; 2 hours lab; 2 credits)
Classifying, understanding, developing, and analyzing programming
solutions to practical problems under real world time constraints.
Typical problems include numerical algorithms, path-finding algorithms,
string manipulations, dynamic programming. Analysis of solution
correctness.
Prerequisite: CIS 22
Pre- or Co-requisite: CIS 23
75.1, 75.2 Advanced Computing
Topics
(3 hours; 3 credits)
Prerequisite: Dependent on the course topic.
Advanced topics in computer science. The topic will differ with each
offering.
84.1, 84.2 Seminar in
Theoretical Aspects
of Information Science I, II
(3 hours recitation and a minimum of 7 hours conference and independent
work; 3 credits each term)
Readings, discussions, and reports on topics in computer science.
Topics may be selected from the study of formal linguistics, automata
theory, theory of computation, and recursive function theory. Thesis or
final examination.
Prerequisite of 84.1: a superior record, including
an approved program of advanced courses, and recommendation of a
department faculty member and permission of the chairperson.
Prerequisite of 84.2: CIS 84.1 and permission of the
chairperson.
84.3, 84.4 Seminar in Special
Topics I, II
(3 hours recitation and a minimum of 7 hours conference and independent
work; 3 credits each term)
Independent research study or project supervised by a faculty member;
approved reading; project report or written examination.
Prerequisite of 84.3: a superior record, including
an approved program of advanced courses, and recommendation of a
faculty member and permission of the chairperson.
Prerequisite of 84.4: CIS 84.3 and permission of the
chairperson.
88.1,
88.2, 88.3, 88.4 Independent Study and Research I, II, III, IV
(Minimum of 9 hours conference and independent work; 3 credits each
term)
Prerequisite: CIS 22, an advanced elective in CIS
numbered 23 or above, a minimum GPA of 3.0 overall in CIS advanced
electives, a declared major in the CIS department and permission of the
chairperson.
|