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&28: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&28: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&28: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&28: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:341Introduction to Logic and Automata (3) Introduction to logic and formal grammars. Theoretical models such as finite state machines and push-down stack machines are developed and related to issues in programming language theory. Prerequisites: 21&62:198:101 and 21&62:640: 237. |
28:198:350Computers and Society (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 or 28:198:113; 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. Prerequisite: 21&62&28:198:335 |
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. Students build a computer. Prerequisites: 21&62&28:198:251 or instructor-approved equivalent. |
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. Prerequisites: 21&62&28: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. Programming assignments and term project; review of case studies. Prerequisite: 21&62&28: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&28:198:332. |
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:421Numerical Algorithms (3) Fundamentals of numerical methods, including discussion of errors, interpolation and approximation, linear systems of equations, solution of nonlinear equations, and numerical solution of ordinary differential equations. Emphasis on algorithmic approach and the efficient use of the computer. Prerequisites: 21&62:198:101 and 21&62:640:136 or 156. |
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&28:198:335. |
28:198:432Advanced Operating Systems (3) Survey of the design and implementation of distributed operating systems, both by introducing basic concepts and considering examples of current systems. Topics include communication, synchronization, processor allocation, and distributed file systems. Prerequisites: 21&62&28:198:251 and 332. |
21&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&28: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. 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&28:198:335. |
28:198:453Microcomputers and Applications (3) Basic principles of microprocessors and their support modules, including memory and serial and parallel interfaces. Focus on software system design for control by microcomputers. Instructor-assigned exercises and one student-designed project. Prerequisite: 21&62&28:198:231. |
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:456Open 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&28:198:335. |
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. Case studies presented and analyzed. Advanced design strategies for information systems. Preparation of a proposal for an information systems project that includes its functional specifications and preliminary design required. 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. |
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:490. Guided Design in Software Engineering (3) |
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. |