|
Offered by the Department of Computer and Information Science. |
CIS 105Computer Programming (1-1-1) Details of programming in one particular computer language. Problems are coded and run on a computer. Languages include ADA, APL, C, C++, FORTRAN, LISP, Pascal, PROLOG, or others. Prerequisite: 100-level GUR (General University Requirements) course in CIS. May be repeated for credit when a different language is used. Students may repeat CIS 105 with different, department-approved languages and may combine three 1-credit courses (including CIS 305) to be used as a technical elective in a CIS degree program. For students taking a minor in CIS or changing to a CIS major, a combination of an approved CIS 105 and CIS 101 may be substituted for C1S 113. |
CIS 113Introduction to Computer Science I (3-1-3) Fundamentals of computer science introduced, with emphasis on programming methodology and problem solving. Topics include basic concepts of computer systems, software engineering, algorithm design, programming languages and data abstraction, with applications. A high-level language (such as Pascal, C, etc.) is fully discussed and serves as the vehicle to illustrate many of the concepts. C++ is used. Corequisite: Open only to science and liberal arts majors. CIS majors should enroll in CIS 113. Students receiving degree credit for CIS 113 cannot reveive degree credit for CIS 213. |
CIS 114Introduction to Computer Science II (3-1-3) A study of advanced programming topics with logical structures of data, their physical representation, design and analysis of computer algorithms operating on the structures, and techniques for program development and debugging. Covers program specifications, correctness and efficiency, data abstraction, basic aspects of simple data structures, internal searching and sorting, recursion, and string processing. Algorithmic analysis is also discussed. Prerequisites: CIS 113 or completion of a required 100-level GUR course in CIS, plus an approved CIS 105. Students reveiving degree credit for CIS 114 cannot receive degree credit for CIS 375 or CIS 505. |
CIS 150Web Authoring and Development (2-2-3) Designed for high school students, this course introduces technologies and techniques of the World Wide Web. Covers basic issues of design and HTML coding (the basic language of web development), including discussions on incorporating graphics, frames, and tables into pages. Concepts of TCP/IP, HTTP protocols, web architectures, and MIME types are introduced. MS FrontPage and Net Object Fusion. |
CIS 151Advanced Web Development and Site Management (2-2-3) Designed for high school students, this course introduces advanced technologies and techniques of the Internet and the web. Covers the use of Internet development tools, the use of server scripts, CGI and non-CGI related solutions to database access, server configuration, Internet protocols (IP), proxy servers, security issues, and digital commerce. Prerequisites: Knowledge of Windows, experience with any programming language, the Internet, and HTML. |
CIS 213Introduction to Computer Science (3-0-3) Covers the study of the representation of data, its structures, and its algorithms. Programming topics in Pascal and assembly language are included. Prerequisite: 100-level GUR course in CIS. Designed for students not majoring in computer science. Students receiving degree credit for CIS 213 cannot receive degree credit for CIS 113. |
CIS 231Machine and Assembly Language Programming (3-1-3) Fundamentals of machine organization and machine language programming. Representation of computer instructions and data in machine, assembly, and macroassembly languages together with intensive practice in formulating programming, running, and debugging programs for both numerical and logical problems. Assemblers and loaders are discussed. Prerequisites: CIS 113 or 213 or completion of a required 100-level GUR course in CIS, plus an approved CIS 105. Degree credit not given for both this course and CIS 510. |
CIS 251Computer Organization (3-0-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: CIS 113. |
CIS 265Information Systems and Productivity Toolware (3-0-3) Information systems is the study of how organizations use information technology. This course provides 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: 100-level GUR course in computer science. |
CIS 270Multimedia Information Systems (3-0-3) Mulitimedia combines text, graphics, sound, video, and animation in a single application. Preparation for creating multimedia information systems and understanding issues involving technology, design, and effectiveness of multimedia applications. Programming techniques for integrating video, sound, animation, and graphics. Design strategies for multimedia information systems. Prerequisites: CIS 113 or completion of a required 100-level GUR course in CIS, plus an approved CIS 105. |
CIS 280Programming Language Concepts (3-0-3) Conceptual study of programming language syntax, semantics, and implementation. Course covers language definition structure, data types and structures, control structures and data flow, run-time consideration, and interpretative languages. Prerequisite: CIS 114. |
CIS 332Principles of Operating Systems (3-0-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: CIS 114. |
CIS 333Introduction to UNIX Operating Systems (3-0-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: CIS 332 or equivalent and knowledge of C language. |
CIS 335Data Structures and Algorithm Design (3-0-3) A study of advanced programming topics dealing with logical structures of data, their hardware representation, and the design and analysis of computer algorithms operating on the structures. This course, the first of a two-course sequence, concentrates on data structures: primitive types, stacks, queues, arrays, sets, linked lists, trees, and graphs. Also covered are some basic operations using data structures including sorting, searching, and memory management. Prerequisites: CIS 113 or completion of a required 100-level GUR course in CIS, plus an approved CIS 105. Students who receive credit for CIS 335 cannot receive credit for CIS 114 or CIS 505. |
CIS 341Introduction to Logic and Automata (3-0-3) Introduction to logic and formal grammars. Theoretical models such as finite state machines, push-down stack machines, and Turing machines are developed and related to issues in programming language theory. Prerequisites: Completion of a 100-level GUR course in CIS; Math 226. |
CIS 350Computers and Society (3-0-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: Completion of a 100-level GUR course in CIS; one basic SS course; HSS 101. Co-listed as STS 350. |
CIS 352Parallel Computers and Programming (3-0-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 will be discussed. Prerequisites: CIS 251 or CoE 252, CIS 332. |
CIS 353Advanced Computer Organization (3-0-3) Emphasis on the basic design principles of 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. Prerequisite: CIS 251 or instructor-approved equivalent. |
CIS 365Computer Applications to Commercial Problems (3-0-3) 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. Prerequisites: CIS 280 or 114 and knowledge of COBOL. |
CIS 370Introduction to Artificial Intelligence (3-0-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. Prerequisites: CIS 114, Math 226. |
CIS 375Applications Development for the World Wide Web (3-0-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: CIS 114. |
CIS 381Object-Oriented Software Systems Design (3-0-3) Object-oriented methodology for software development. This methodology offers a way of thinking abstractly about a problem using real world concepts rather than procedures and flow charts. Software developed with object-orientation tends to enhance the reusability, extensibility, and robustness of the code. Analysis, design, and implementation of object-orientation software systems in the context of software engineering. Software projects developed using object-oriented programming language (e.g., C++, Smalltalk). Prerequisite: CIS 280. |
CIS 390Requirements Analysis and Systems Design (3-0-3) Study of 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: CIS 114. |
CIS 408Cryptography and Internet Security (3-0-3) 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: Math 226. Students receiving credits for CIS 408 may not enroll in CIS 608. |
CIS 421Numerical Algorithms (3-0-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 efficient use of computers. Prerequisite: Completion of a 100-level GUR course in CIS. Corequisite: Math 222. |
CIS 431Database System Design and Management (3-0-3) Database system architecture; 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: CIS 114 or equivalent. |
CIS 432Advanced Operating Systems (3-0-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: CIS 251, 332. |
CIS 435Advanced Data Structures and Algorithm Design (3-0-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: CIS 114. |
CIS 438Interactive Computer Graphics (3-0-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. Prerequisites: Completion of a 100-level course in CIS; knowledge of Pascal or C. |
CIS 447Human-Computer Interfaces (3-0-3) Design and evaluation of the human-computer interface in interactive 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: CIS 390. |
CIS 451Data Communications and Networks (3-0-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: CIS 114. |
CIS 453Microcomputers and Applications (3-0-3) Basic principles of microprocessors and their support modules: memory, serial, and parallel interfaces. Focus on software system design for control by microcomputers. Individual instructor-assigned exercises and one student-designed project. Prerequisite: CIS 231. |
CIS 455Computer Systems Management (3-0-3) 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: Completion of a 100-level GUR course in CIS. |
CIS 456Open Systems Networking (3-0-3) Introduction to internetworking, including 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: CIS 114. |
CIS 461Systems Simulation (3-0-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: Completion of a 100-level GUR course in CIS; Math 333. |
CIS 465Advanced Information Systems (3-0-3) Design and programming concepts for automation of management information systems. Organization of files and techniques for processing information based upon organizational requirements and available hardware and software. Case studies. Advanced design strategies for information systems are presented and analyzed. Preparation of a proposal for information systems project, including its functional specifications and preliminary design is required. Prerequisite: CIS 431. |
CIS 478Software Tools for Solving Problems (3-0-3) Students interact directly with industry and solve actual problems using various information-systems software tools. At the beginning of the term, company representatives present actual 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 are stressed. Prerequisites: Junior or senior standing, permission of instructor. |
CIS 480Theory of Languages (3-0-3) Formal treatment of programming language translation and compiler design concepts. Emphasis on theoretical aspects of parsing context-free languages, translation specifications, and machine- independent code optimization. A programming project to demonstrate the concepts covered in the course is required in addition to class work and examinations. Prerequisites: CIS 280, 341. |
CIS 485Special Topics in Computer Science I (3) 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 departmental approval. |
CIS 486Special Topics in Computer Science II (3) A continuation of CIS 485. Prerequisites: Same as for CIS 485. |
CIS 490Guided Design in Software Engineering (3-0-3) Focus on the methodology for developing software systems. Methods and techniques for functional requirements analysis and specifications, design, coding, testing and proving, integration, and maintenance discussed. Students prepare a proposal for a project, which includes its functional specifications and preliminary design. Prerequisite: Senior standing or departmental approval. |
CIS 491Computer Science Project (3-0-3) Integration of knowledge and skills gained in previous computer science work into an individual research project. The project investigates current literature and computer implementation of a part of a large system or the whole of a small system, consonant with the student`s direction of study. To register, 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: CIS 490, senior standing, and project proposal approval. |
CIS 492Information Systems Project (3-0-3) Integration of knowledge and skills gained in previous information systems courses into an individual research project. The project entails investigation of current literature and the design, implementation, and evaluation of an information system. Prerequisites: CIS 465, senior standing, and, in a prior term, project proposal approved by the faculty adviser. |
|