Undergraduate Courses Offered by the CIS Department

Courses marked (*) are not advanced electives and do not count toward the requirement of at least 24 credits in advanced courses for majors in this department. Courses marked (P) are listed pending approval by Faculty Council.

The Schedule of Classes published each term lists courses offered in that particular semester. Not all courses are offered each term.


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


 
 

CIS Department Home page Advice to Undergraduates