CSIS—310. Numerical Methods
3 credits
Course objectives are to survey and develop numerical methods for solving scientific problems. Topics covered are roots of linear and nonlinear systems, numerical integration, approximation, interpolation, and ordinary differential equations. The course will emphasize efficient computer implementation of numerical algorithms. Prerequisites: CSIS—120 and MATH—120. Computer use fee. (ATTR: ARTS)
CSIS—325. Computer Organization
3 credits
This course provides a foundation in computer hardware organization including: a brief survey of historical developments in computer hardware, a contrast of computer architectures and their implementation, and numbering systems. Also covered are fundamentals of logic design with application to the design of basic computer elements such as counters, adders, decoders, design of instruction timing sequences, register structure, addressing techniques and microcomputers. Prerequisites: CSIS—220, PHYS—070 and PHYS—240. (ATTR: ARTS)
CSIS—330. Operating Systems
4 credits
A study of processor, memory, device, and information management of contemporary computer systems. Emphasis is placed on the models and algorithms for multi-programming computer operating systems. Discussion will include classic problems such as the concurrency problems of mutual exclusion, deadlock and synchronization, and memory management concepts such as paging, working set and segmentation. The laboratory includes an introduction to using the UNIX operating system, an introduction to programming in the C language and experiments designed to confirm or extend the principles developed in lecture. Prerequisite: CSIS—210. Laboratory fee. (ATTR: ARTS)
CSIS—340. Programming Languages
3 credits
A study of the organization and structure of modern programming language paradigms with an emphasis on semantic issues. Topics include formal language theory, syntax, semantics, calling protocols, and conventional and abstract data types. This course will include comparison studies of languages such as LISP, C, Ada, Prolog, C++, Pascal, FORTRAN, and APL. Prerequisite: CSIS—225. Computer use fee. (ATTR: ARTS)
CSIS—350. Data Base Management
3 credits
A study of Data Base Management Systems, including the relational, hierarchical, and network models. Topics will include the storage structures, data representations, access methods, and query languages. Problems such as security, privacy, and maintaining the integrity of the data stored will be discussed. Prerequisite: CSIS—210. (ATTR: ARTS, ISCE)
CSIS—355. Advanced Database
3 credits
This course has two major themes: (1) An introduction to the principles of database management system implementation (as opposed to use), with an emphasis on current relational implementation technology; and (2) a study of the emerging Object-Oriented database technology from the standpoint of a database user/administrator. Topics in both themes will include query processing, concurrency control, language design, data modelling, and distributed systems. Prerequisite: CSIS—350 or instructor permission. Computer use fee. (ATTR: ARTS)
CSIS—365. Communications & Networks
3 credits
A survey of data communication and networks. Topics to be covered include techniques of transmission, protocols for line control, error detection and correction, communication software, various types of network systems, distributed applications, and performance evaluation. Prerequisite: CSIS—220. (ATTR: ARTS)
CSIS—375. Introduction to Artificial Intelligence
3 credits
Fundamental concepts used in machine implementation of processes which imitate human cognition. Topics include knowledge representation, logical deduction and problem solving, natural language understanding and semantic representation. Current literature and research will be discussed. Students will complete several programming projects in the areas of game trees, backtracking, theorem proving, and rule-based systems. Pre or corequisite: CSIS—210. Computer use fee. (ATTR: ARTS)
CSIS—380. Computer Graphics
3 credits
This course is an introduction to the mathematical and algorithmic principles of computer graphics as well as graphical applications programming. Topics covered include two and three-dimensional transformations, three-dimensional viewing, shading models, curves and surfaces, ray tracing, texture mapping, and algorithmic issues. In the laboratory these topics will be explored using graphics software tools and through programming using graphics libraries. Standard lab fee (2 hrs); no computer use fee. Prerequisites: CSIS—210 and MATH—120. (ATTR: ARTS, CMLS, LCSL)
CSIS—385. Analysis of Algorithms
3 credits
This course continues previous work in the design and analysis of algorithms. Data structures considered may include, for example, binary trees, AVL trees, B-trees, hash tables, and multi-dimensional trees. Algorithms for searching, inserting into, and deleting from these structures will be discussed. A variety of sorting algorithms (possibly including radix sort, heapsort, mergesort and quicksort) will be studied. Algorithms for other problems such as k-selection, minimum cost spanning trees, connectivity, and shortest paths will be analyzed. NP-complete problems will be introduced. Prerequisites: CSIS—210, MATH—250. (ATTR: ARTS)
CSIS—401. Advanced Topics in Computer Science
Recent Topics: Web Design, Bioinformatics
3 credits
This course will use an area of research, theory or practice to apply and extend basic principles of Computer Science. The course may be taken more than once with different topics. Possible topics include computer graphics, systems administration, web design, Advanced AI, Systems Programming, Computer Security, Data Warehousing, or Cryptography. The laboratory includes such things as hands-on exploration and experimentation with concepts, software tools, computer systems, or languages designed to confirm or extend the principles developed in lecture. Prerequisite: Permission of the instructor. NOTE: The lab fee will be calculated using the standard lab fee formula with two hours. Because there is a lab fee, the computer use fee will be eliminated. (ATTR: ARTS)
CSIS—410. Software Engineering I
3 credits
Introduces the concepts of structured system analysis. Presents principles of software engineering including techniques for planning, specification, and system design. Specifications for an actual system will be developed. Prerequisite: CSIS—225. Recommended for all senior-level Computer Science majors. (ATTR: ARTS, ISCE)
CSIS—415. Software Engineering II
3 credits
Implementation of a software engineering methodology. Complete design, testing, and verification of a system developed using a programming team concept. Structured design and documentation. Prerequisite: CSIS— 410. Computer use fee. (ATTR: ARTS, ISCE)
CSIS—499. Independent Study
1 - 3 credits
A qualified student, with the consent of the Head of the Computer Science Department, may pursue further research and study in some specific aspect of computer science. The student will be directed by a member of the Computer Science Department with whom he/she will hold periodic discussion. The student will be expected to comply with all School of Science guidelines concerning such projects. The number of credits to be awarded (1 - 3) will be determined by the Head of the Computer Science Department and the directing faculty member. Computer use fee. This course is arranged by mutual consent of the faculty member and student. (ATTR: ARTS)
