21&62:198:100Introduction to Computers and Information Processing (3) Covers a general knowledge of computer use; history of computers and information processing, survey of modern computer science concepts, practical instruction in the use of a variety of data processing environments, and use of available software packages and databases; introduction to the Internet. Prerequisite: Fulfillment of mathematics proficiency. May not be used for credit by computer science or information systems majors. This course fulfills the technology course requirement in the teacher certification program. |
21&62:198:101Computers and Programming I (3) Introduction to problem solving using the computer; basic organization of a computer, file manipulation, use of editors and compilers. Programming using a higher-level language; iteration and conditional statements; subprograms; elementary data structures. Prerequisite: Fulfillment of mathematics proficiency. This course fulfills the technology course requirement in the teacher certification program. |
21&62:198:102Computers and Programming II (3) Solution of problems using recursive methods and dynamic data structures. Recursive functions, pointer variables, text processing, external files, and elementary software engineering. Prerequisite: 21&62:198:101. |
21&62:198:231Machine and Assembly Language Programming (3) Computer architecture and representation of data, instructional codes, arithmetic operations and conversions, addressing, linkages, debugging, macros. Prerequisite: 21&62:198:102. |
21&62:198:251Computer Organization (3) An introduction to computer system structure and organization. Topics include representation of information, circuit analysis and design, register-transfer level, processor architecture, and input/output. Prerequisite: 21&62:198:102. |
28:198:265Information Systems and Productivity Toolware (3) Information systems is the study of how organizations use information technology. This course is an overview of the information systems discipline, the role of information systems in organizations, and the changing nature of information technology. Computer tools for analysis and presentation are used. Prerequisite: 21&62:198:101. |
28:198:270Multimedia Information Systems (3) Multimedia combines text, graphics, sound, video, and animation in a single application. Preparation for creating multimedia information systems and understanding the crucial issues involving technology, design, and effectiveness of multimedia applications. Programming techniques for integrating video, sound, animation, and graphics, and design strategies for multimedia information systems. Prerequisite: 21&62:198:102. |
21&62&28:198:332Principles of Operating Systems (3) Organization of operating systems covering structure, process management, and scheduling; interaction of concurrent processes; interrupts; I/O, device handling; memory and virtual memory management and file management. Prerequisite: 21&62:198:335. |
28:198:333Introduction to UNIX Operating Systems (3) Covers the UNIX system kernel including initialization, scheduling, context switching, process management, memory management, device management, and the file system. Also includes the organization of shells, editors, utilities, and programming tools of the UNIX operating system. Prerequisites: 21&62&28:198:332 or equivalent, and knowledge of C language. |
21&62:198:335Data Structures and Algorithm Design (3) Explores trees, paths, linear lists, strings, arrays, stacks, queues, linked structures, and algorithms for searching, sorting, merging. Prerequisites: 21&62:198:102 and 21&62:640:237. |
28:198:341Foundations of Computer Science II (3) Provides an introduction to automata theory, computability theory, and
complexity theory. Theoretical models such as finite state machines,
push-down stack machines, and Turing machines are developed and related
to issues in programming language theory. Also covers undecidability
and complexity theory, including the classes P and NP. Prerequisites: 21&62:198:101 and 21&62:640:237. |
28:198:350Computers, Society, and Ethics (3) Examines the historical evolution of computer and information systems and explores their implications in the home, business, government, medicine, and education. Topics include automation and job impact, privacy, and legal and ethical issues. Prerequisites: 21&62:198:101 and 21&62:350:101. |
28:198:352Parallel Computers and Programming (3) Introduction to parallel computers and parallel programming. General structures and design techniques of parallel computers are described. Programming paradigms and algorithm design considerations for parallel processors also are discussed. Prerequisites: 21&62:198:251 and 21&62&28:198:332 |
28:198:353Advanced Computer Organization (3) Emphasis on the basic design principles or various components in a
computer, as well as how the components are organized to build a
computer. Topics include design methodology, arithmetic and logic unit
design, control unit design, memory hierarchy, memory system design,
input and output devices, peripheral devices, and interfacing computers
using software. A software simulation package is used to help the
learning process. By the end of the term, students will have built a
simulated computer. Prerequisites: 21&62&28:198:251 or instructor-approved equivalent. |
28:198:356Open Systems Networking (3) An introduction to internetworking, including an in-depth study of the architecture of network interconnections, the Internet services, and the protocols needed to provide these services. Topics include architecture of interconnected networks, Internet addresses and the address resolution problem, Internet protocols, the domain name system, the socket interface, the client-server model of interaction, the OSI transport and application support protocols, and the TCP/IP application protocols. Prerequisite: 21&62:198:335. |
28:198:357Fundamentals of Network Security (3)
Offers an in-depth
study of network security issues, types of computer and network
attacks, and effective defenses. Provides both a theoretical foundation
in the area of security and hands-on experience with various attack
tools, firewalls, and intrusion detection systems. Topics include:
network scanning, TCP/IP stack fingerprinting, system vulnerability
analysis, buffer overflows, password cracking, session hijacking,
denial of service attacks, intrusion detection.
Prerequisite: 28:198:356. |
28:198:365File Structures and Management (3) Covers design and implementation of commercial application software
systems. Concepts of organization and management of data and files,
including file operations and organization of sequential access,
relative access, indexed sequential access, virtual storage access, and
multi-key access methods. The COBOL language is used to illustrate
these concepts and to implement application systems. The design and
implementation of commercially oriented computer systems. Emphasis is
placed on modern computers as a tool for solving business problems. The
COBOL programming language will be extensively studied and utilized in
developing the programming techniques for the solution of these
problems. Prequisites: 21&62:198:335 and knowledge of COBOL. |
28:198:370Introduction to Artificial Intelligence (3) Exploration of concepts, approaches, and techniques of artificial
intelligence. Emphasizes both underlying theory and applications.
Topics include knowledge representation, parsing language, search,
logic, adduction, uncertainty, and learning. LISP and Prolog
programming languages used extensively. Students are required to do
programming assignments, complete a programming term project, and
review case studies. Prerequisite: 21&62:198:335. |
28:198:375Applications Development for the World Wide Web (3) A state-of-the-art computer programming language/environment, such as Java and related tools, is studied and used as a vehicle to build applications that involve graphical user-interfaces, simple graphics, multithreading, images, animation, audio, database connectivity, remote objects, and networking. Prerequisite: 21&62:198:335. |
28:198:390Requirements Analysis and Systems Design (3) The information systems development life cycle, from the initial stages of information requirements analysis and determination to the ultimate activities involving systems design. Theory, methodologies, and strategies for information requirements analysis, including the assessment of transactions and decisions, fact-finding methodologies, structured analysis development tools, strategies of prototype development, and an overview of computer-aided software engineering (CASE) tools. Theory, methodologies, and strategies for systems design, including design of user-interfaces, particularly menu-driven and keyword dialogue strategies, and issues in the proper design of computer output. Prerequisite: 21&62:198:102. |
28:198:392Text Processing, Retrieval, and Mining (3)
Text
retrieval concerns the representation, organization, storage, and
retrieval of text elements. Students will learn methods of text and
data organization, as well as numerical data storage methods in
commercial databases. Topics include techniques such as automatic
indexing, query expansion, and how to use these techniques to improve
retrieval effectiveness and efficiency.
Prerequisites: 21&62:198:335 and 21&62:640:327. |
28:198:408 Cryptography and Internet Security (3)
Covers
security requirements for telecommunication over the Internet and other
communication networks, various conventional and public-key encryption
protocols, digital encryption standard, RSA and ElGamal cryptographic
systems, digital signature algorithm and analysis of its
cryptoimmunity, and access sharing schemes.
Prerequisite: 21&62:640:237. |
21&62&28:198:431Database System Design and Management (3)Database system architecture, including data modeling using the semantic object and entity-relationship model; storage of databases; the hierarchical, network, and relational data models; formal and commercial query languages; functional dependencies and normalization for relational database design; relation decomposition; concurrency control and transactions management. Student projects involve the use of a DBMS package. Prerequisite: 21&62:198:335. |
28:198:433 Electronic Commerce Requirements and Design (3)
Introduces
critical concepts emerging in the field of electronic commerce, such as
business to consumer (B2C), business to business (B2B), supply chain
management (SCM) systems, and peer to peer (P2P). Provides concepts and
practical skills for building effective, usable, and secure electronic
commerce systems, offering a conceptual framework for the study of
electronic commerce as well as hands-on skills for building systems for
electronic commerce.
Prerequisites: 21&62&28:431; 28:198:390 or 28:198:490. |
28:198:434Advanced Database Systems (3)
Covers
the basic concepts of traditional files and file processing, provides a
classic introduction to the relational data model and its languages,
and discusses database design methodology and application developments.
Students are expected to learn the design of database application
systems through a small project and to get some practical hands-on
experience with commercial database management systems (DBMS) by
writing application programs using the commercial DBMS query languages.
Prerequisite: 21&62&28:198:431. |
21&62&28:198:435Advanced Data Structures and Algorithm Design (3)Advanced topics in data structures and algorithms, including mathematical induction, analysis and complexity of algorithms, and algorithms involving sequences, sets, and graphs such as searching, sorting, order statistics, sequence comparisons, and graph traversals. Optional topics include geometric, algebraic, and numeric algorithms. Prerequisite: 21&62:198:335. |
28:198:438Interactive Computer Graphics (3) Introduces fundamental concepts of interactive graphics oriented toward computer-aided design systems used in engineering, architecture, and manufacturing. Topics include computer data structures for representation of two- and three-dimensional objects and algorithms for definition, modification, and display of these objects in applications. Discussion of special topics in interactive graphics. Prerequisite: 21&62:198:101. |
28:198:447Human-Computer Interfaces (3) Design and evaluation of the human-computer interface in inter- active
computer systems. Topics include approaches to interface design such as
menus, commands, direct manipulation; screen layout strategies;
metaphor models; models of human information process; evaluation
approaches such as protocol for analysis, interactive monitoring, use
of surveys; and requirements for documentation and help. Students are
expected to design interface mockups and evaluate them. Prerequisite: 28:198:390. |
28:198:451Introduction to Data Communications and Networks (3) Fundamental concepts in data communications. Topics include circuit and packet switching, layered network architecture, ISO network protocols, performance analysis of data communication systems, flow control and alternate routing strategies and algorithms, various types of networks and their interconnections, network security and privacy. Additional topics include systems analysis and design, traffic engineering, planning and forecasting methodologies as applied to data communication networks. Prerequisite: 21&62:198:335. |
28:198:455Computer Systems Management (3) An overview of computing centers and their organization for accomplishing specific objectives. Includes a classification of systems, analysis of cost and size, layout of equipment, methods of accessing computer facilities, equipment selection, and facilities evaluation. Prerequisite: 21&62:198:102. |
28:198:461Systems Simulation (3) Introduction to computer simulation as an algorithmic problem-solving technique. Includes discrete simulation models, elementary theory, stochastic processes, use of simulation languages, random number generators, simulation of probabilistic processes, design of simulation experiments, validation of models, queuing systems, and applications to the design and analysis of operational systems. The GPSS language is studied in detail. Prerequisites: 21&62:198:101 and 21:640:327. |
28:198:465Advanced Information Systems (3) Design and programming concepts presented for automation of management
information systems. Includes the organization of files and techniques
for processing information based upon organizational requirements and
available hardware and software. Some case studies are presented. Prerequisite: 28:198:431. |
28:198:478Software Tools for Solving Problems (3) Students interact directly with industry and solve problems using various information-systems software tools. Company representatives present problems they are facing, and the students work in groups to develop a solution, which they present at the end of the term. Presentation skills, working in groups, and using software tools for problem solving stressed. Prerequisites: Junior or senior standing, permission of instructor. |
28:198:482Data Mining (3)
Covers the concepts
and principles of advanced data mining systems design; presents methods
for association and dependency analysis; classification; prediction;
and clustering analysis.
Prerequisite: 21&62&28:198:431. |
21&62:198:481,482Advanced Mathematics in Computer Science (3,3) Covers one or more topics common to mathematics and computer science. Possible topics include applications of abstract algebra to data security problems, digital systems processing, automata theory, asynchronous machines and petri nets, applications of algebra to computer programming, formal language theory, advanced numerical analysis and its theory of errors. Prerequisites: 21&62:198:102 and 21&62:640:237 or 238 or permission of instructor. |
28:198:485Special Topics in Computer Science   The study of new and/or advanced topics in an area of computer science not regularly covered in any other CIS course. The precise topics to be covered, along with prerequisites, are announced in the term prior to the offering of the course. A student may register for no more than two terms of special topics courses. Prerequisites: Junior standing and/or department approval. |
28:198:486Special Topics in Computer Science   A continuation of CIS 485. Prerequisites: Junior standing and/or department approval. |
28:198:490Guided Design in Software Engineering (3)Focuses on the methodology for developing software systems. Methods and
techniques for functional requirements analysis and specifications,
design, coding, testing and proving, integration and maintenance are
discussed. Students will prepare a proposal for a project which
includes its functional specifications and preliminary design.
Prerequisite: Senior standing or departmental approval. |
21&28:198:491Computer Science Project (3) An opportunity for students to integrate the knowledge and skills gained in previous computer science work into an individual research project. Involves investigation of current literature as well as computer implementation of either a part of a large program or the whole of a small system. Topic should be consonant with the emphasis of direction chosen by the students in their computer science studies. Before registering for this course, students must find a faculty member who agrees to act as their adviser, and students must have a written project proposal approved by their faculty adviser. The proposal must be submitted and approved in the prior term, usually the third week of November or April. Prerequisites: 28:198:490, senior standing, and project proposal approval. |
21&28:198:492Information Systems Project (3) Integration of knowledge and skills gained in previous information systems courses into an individual research project. Entails investigation of current literature and the design, implementation, and evaluation of an information system. Prerequisites: 28:198:465, senior standing, and, in a prior term, project proposal approved by the faculty adviser. |
21&62:198:493,494Individual Studies in Computer Science (3,3) Individual study for students interested in specialized study or research in computer sciences. Prerequisite: Permission of instructor. No more than 3 credits may be taken from among 21&62:198:493,494,495,496. |
21&62:198:495,496Internship in Computer Science or Information Systems (3,3) Pursuit of a project of relevant educational value in an employment setting. Before registering for this course, students must find an employer and a faculty supervisor, and students must have a written internship proposal approved by the employer and faculty supervisor. Requires biweekly activity reports, a final report approved by employer and faculty supervisor, and a written evaluation by the employer. Prerequisite: Approval of a proposal by faculty adviser. No more than 3 credits may be taken from among 21&62:198: 493,494,495,496. |